Opened 15 years ago
Last modified 9 years ago
#1 new enhancement
DNS integration
Reported by: | Kris Deugau | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 3.0 |
Version: | Keywords: | ||
Cc: |
Description (last modified by )
Use RPC interface defined in DNSAdmin trunk/v1.2
- set default rDNS on blocks, or custom entries on per-IP allocations
- retrieve current rDNS for a block or IP
Change History (21)
comment:1 by , 15 years ago
comment:2 by , 12 years ago
Description: | modified (diff) |
---|---|
Milestone: | → 3.0 |
comment:3 by , 12 years ago
(In [582]) /trunk
Begin adding DNS integration via RPC. See #1.
IPDB.pm
- Add a global in IPDB.pm to identify the URL for RPC DNS changes. A blank URL means this capability is disabled. (also MyIPDB.pm)
- Accept extra parameters in addMaster() for DNS changes (default rDNS pattern, DNS location/scope/view) and while we're at it, add space to handle VRF as an informational field
- Drop maskbits from INSERTs in addMaster()
- Make the RPC call to add a reverse zone when adding a new master block. To assist with export caching, we split the zone into /16 or /24 chunks and add each one separately.
main.cgi
- Retrieve DNS locations for adding a master block
- Pass the HTTP user in to addMaster() for logging in the DNS backend
Modify templates for add master
Remove long-obsolete function in widgets.js, add function for:
Add rDNS pattern reference page
Note the RPC calls require at least dnsadmin:trunk@r447 to work properly.
comment:4 by , 12 years ago
comment:5 by , 12 years ago
comment:6 by , 12 years ago
comment:7 by , 12 years ago
comment:8 by , 12 years ago
comment:9 by , 12 years ago
(In [590]) /trunk
RPC integration for allocation-delete should be complete. See #1.
Requires dnsadmin:/trunk@r459 or newer.
- Pass a couple more bits into deleteBlock()
- Use the new values when making the RPC call
- Rearrange the delete-confirm page a little to allow the new "delete forward DNS too?" checkbox to actually contribute
- Tweak new-allocation RPC call a little; don't bother if no rDNS was passed in.
comment:10 by , 12 years ago
(In [591]) /trunk
File off rough edges doing DNS updates for deleting allocations. See #1.
- pass back and handle more subtle variations on WARN
- add a watch comment noting some bizarre behaviour that could not be duplicated later.
- more fully handle large allocations spanning multiple reverse zones (eg, /23 dynamic DSL spans 2 /24 reverse zones)
- retrieve the DNS pattern from the parent in case of zone-spanning block deletes; the records in the zone can't be relied on to rebuild an "unused"-ish record in this case.
comment:11 by , 12 years ago
(In [591]) /trunk
File off rough edges doing DNS updates for deleting allocations. See #1.
- pass back and handle more subtle variations on WARN
- add a watch comment noting some bizarre behaviour that could not be duplicated later.
- more fully handle large allocations spanning multiple reverse zones (eg, /23 dynamic DSL spans 2 /24 reverse zones)
- retrieve the DNS pattern from the parent in case of zone-spanning block deletes; the records in the zone can't be relied on to rebuild an "unused"-ish record in this case.
Should use dnsadmin:trunk/@r460 or higher for proper behaviour.
comment:12 by , 10 years ago
(In [674]) /trunk
Start extending rDNS support to allow entering per-IP reverse names. See #1.
- configuration for maximum IP list length
- CSS to support hideable space so longer lists don't distort and confuse the page too much
- Hideable space on the assignment confirmation page for per-IP fields
- Generate IP list for assignment confirmation - note we can't do it on the previous page without heavy AJAX (or heavier Javascript) because we don't know what block we're even assigning at that stage.
comment:13 by , 10 years ago
(In [675]) /trunk
Extend per-IP rDNS through the "confirm add" page and the "edit" page. See #1.
- Add flag in getBlockRDNS return to indicate if the results are from local caching instead of RPC results. There isn't really a clear way to globally flag "RPC server is up".
- Add a sub to retrieve per-IP reverse DNS information for a passed CIDR range. Not limited in IPDB.pm, but dnsadmin will refuse to return anything for a block larger than /24 (v4) or /120 (v6) - an 8 bit inverse mask.
- Use the new sub on editing a small(ish) non-pool block. CSS magic notwithstanding, handling more than 32 IPs in a list like this is awkward.
comment:14 by , 10 years ago
comment:15 by , 10 years ago
(In [690]) /trunk
Head off a potential point of confusion by blocking expandable template
patterns in reverse DNS for IPv6. At best they'll never work the same
way as for IPv4 simply due to the scale of the address space. Could be
considered for /120 and smaller allocations for network infrastructure
someday, maybe. See #1.
comment:16 by , 10 years ago
(In [690]) /trunk
Head off a potential point of confusion by blocking expandable template
patterns in reverse DNS for IPv6. At best they'll never work the same
way as for IPv4 simply due to the scale of the address space. Could be
considered for /120 and smaller allocations for network infrastructure
someday, maybe. See #1 and #22.
comment:17 by , 10 years ago
comment:18 by , 10 years ago
comment:19 by , 10 years ago
(In [754]) /trunk
Wrap almost all existing RPC calls in suitable barriers so we don't try
to make changes for IP blocks not in dnsadmin:
- Add new allocation (any type - note, may not handle edge case of a multizone block well or at all)
- Allocation update
- Split block
- Shrink block
- Delete allocation (arguably this could be done unconditionally)
Note an exception to skipping rDNS changes when deleting a master block.
Fix a minor logic bug in getBlockRDNS; return the cached value and leave
the cached flag set if nothing was retrieved. This seems marginally less
wrong than retrieving nothing and unsetting the flag.
See http://tools.ietf.org/html/draft-msullivan-dnsop-generic-naming-schemes-00 for a possible default rDNS template.