Opened 3 years ago

Last modified 3 years ago

#77 new defect

Deleting a CIDR by RPC sometimes misses records

Reported by: Kris Deugau Owned by:
Priority: minor Milestone:
Version: Keywords:
Cc:

Description (last modified by Kris Deugau)

A couple of cases have come up on a live production instance where RPC deletes of reverse records by CIDR did not catch all required records.

Change History (3)

comment:1 by Kris Deugau, 3 years ago

Description: modified (diff)

comment:2 by Kris Deugau, 3 years ago

In 829:

/trunk

Mostly fix an edge case deleting a CIDR range from a large revzone via RPC.
If a revzone has enough unique entries, the CIDR range to be cleared may be
more than $perpage entries down the list retrieved from a call to
getRecList() without "offset => 'all'". See #77.

comment:3 by Kris Deugau, 3 years ago

In 832:

/trunk

Replace the hack in r829 with a proper solution:

  • Have getRecList() and getRecCount() accept most of the Postgres CIDR operators in the filter argument
  • Have dns-rpc.cgi prefix the CIDR to remove with the <<= operator when calling getRecList()

This commit only applies the second part to the "delete everything"
branch of the RPC delByCIDR() sub with known failure cases.

See #77.

Note: See TracTickets for help on using tickets.