Opened 13 years ago
Closed 11 years ago
#26 closed enhancement (fixed)
Handle in-addr.arpa and ip6.arpa reverse zones separately from forward domains
Reported by: | Kris Deugau | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.2 |
Version: | Keywords: | ||
Cc: |
Description
This will also allow useful introduction of A+PTR and AAAA+PTR types.
Change History (66)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
comment:3 by , 13 years ago
comment:4 by , 13 years ago
(In [237]) /trunk
Checkpoint - almost finished updating domain list code to handle
reverse zones as well (see #26).
Still needs some UI polish in the template (flags to convert
"domain" to "reverse zone"), and possibly bringing some of the
HTML::Template-feeding bits for the actual list back out of the
DNSDB.pm sub after pushing the SQL in there.
comment:5 by , 13 years ago
comment:6 by , 13 years ago
(In [237]) /trunk
Checkpoint - almost finished updating domain list code to handle
reverse zones as well (see #26).
Still needs some UI polish in the template (flags to convert
"domain" to "reverse zone"), and possibly bringing some of the
HTML::Template-feeding bits for the actual list back out of the
DNSDB.pm sub after pushing the SQL in there (see #1).
comment:7 by , 13 years ago
comment:10 by , 13 years ago
comment:11 by , 13 years ago
(In [242]) /trunk
Fix buglet that snuck back into A/AAAA+PTR add - domain ID was
not added field list or bind-values array. See #26.
Log entry update: Accidentally committed cleanups on fill_recdata
and several parts of the record page:
- Fill in suitable starting points for domain name and IP address on adding reverse records, same as forward records start with the base domain name
- Fix SOA retrieval for default TTL
comment:12 by , 13 years ago
comment:13 by , 13 years ago
comment:14 by , 13 years ago
comment:15 by , 13 years ago
comment:16 by , 13 years ago
comment:17 by , 13 years ago
comment:18 by , 13 years ago
(In [249]) /trunk
Fix lurking bug in SQL tabledef from early idea for default rdns
records
Fix logic bugs in A+PTR creation in default records:
- we should NOT blindly prepend 'ZONE.' if it's present in the value/IP
- we should not blindly append $config{domain} if ADMINDOMAIN is in the hostname
- we need to check for "ZONE.1", "ZONE,1", and "ZONE::1" in the "does this PTR exist?" check because otherwise we'll silently end up with duplicates
Minor tweak to call to addRec() so that changes from validation
get propagated all the way back up the call chain.
See #26
comment:19 by , 13 years ago
comment:20 by , 13 years ago
comment:21 by , 13 years ago
comment:22 by , 13 years ago
comment:23 by , 13 years ago
comment:26 by , 13 years ago
(In [260]) /trunk
First pass adding add-reverse-zone.
- add newrdns/addrdns templates
- add handling in dns.cgi for pages, copy-paste-modify'ed from add-domain
- add addRDNS() in DNSDB.pm, copy-paste-modify'ed from addDomain()
addRDNS() still needs extension at the ##work to properly substitute
ZONE in hostname and value fields as well as pick and choose default
records (ie, skip A+PTR in v6 zones, and skip AAAA+PTR in v4 zones)
See #26
comment:27 by , 13 years ago
comment:28 by , 13 years ago
comment:29 by , 13 years ago
comment:30 by , 13 years ago
comment:31 by , 13 years ago
comment:32 by , 13 years ago
comment:33 by , 13 years ago
comment:34 by , 13 years ago
(In [274]) /trunk
Flesh out most reverse zone deletion. See #26.
- Convert delDomain() to delZone()
- Add checks to coerce the shared-zone record types down to standard types on removal of the second parent, either way around. (IE, A+PTR will be converted to PTR if the parent domain is removed, or A if the parent revzone is removed)
Make sure to show result or error messages on the reverse zone
list page
comment:35 by , 13 years ago
comment:36 by , 13 years ago
comment:37 by , 13 years ago
comment:38 by , 13 years ago
(In [301]) /trunk
Checkpoint: importAXFR() now supports most reverse zones, as well
as internal action logging. Still need to correctly handle sub-octet
v4 zones, and consider adding code to handle a "merge records" flag
(ie, for an A record, see if a matching PTR exists; if so, merge
them into A+PTR)
[ log -> ticket fix: see #26 ]
comment:39 by , 13 years ago
(In [302]) /trunk
Checkpoint converting importAXFR() to support reverse zones
- added "merge A/AAAA and PTR records" functionality
- Flip NS and CNAME records around if importing a revzone so they display properly
- Consider dropping CNAMEs in revzones since they're essentially an implementation hack, and not really part of the logical delegation chain
- Clean up some commented stale code
[ log -> ticket fixup: see #26 ]
comment:40 by , 13 years ago
comment:41 by , 13 years ago
(In [304]) /trunk
Drop support for /31 sub-octet ranges in in-addr.arpa zone names in
favour of supporting an alternate scheme that uses the netmask as
the number after the dash. (You can't tell 24-31 -> (range) .24/29
apart from 24-31 (mask) -> .24/31 in isolation.)
Consider supporting / in the zone name too; however / is not
generally considered a valid character for domain name parts.
[ log -> ticket fixup: see #26 ]
comment:42 by , 13 years ago
comment:43 by , 13 years ago
(In [307]) /trunk
Fix a taint mode gotcha in _zone2cidr(), introduced with the
extension in r304 for supporting both range and netmask-based
sub-octet reverse zone names
Finalize updates to importAXFR() for reverse zones (see #26) and
action logging (see #35).
Includes some commented code and stubbery to do more complex handling
of NS and CNAME records for sub-octet subzones in revzones, probably
hinging on introducing a new pseudotype "DELEGATE"
comment:44 by , 13 years ago
comment:45 by , 13 years ago
(In [311]) /trunk
Move SQL for SOA update to DNSDB.pm (see #1)
Clean up support for reverse zones (see #26)
Move action logging for SOA updates to DNSDB.pm (see #35)
Includes log/info message consistency cleanups, dropping stale
commented code, dropping if(0)'ed code, tweaks to fillsoa() to
retain user changes on errors, updates to getSOA() for consistency,
removal of a stale form input
comment:46 by , 13 years ago
comment:47 by , 13 years ago
Milestone: | → 1.2 |
---|
comment:48 by , 13 years ago
comment:49 by , 13 years ago
comment:50 by , 13 years ago
comment:51 by , 13 years ago
comment:52 by , 13 years ago
(In [334]) /trunk
Checkpoint updating export for reverse DNS. See #26.
- Retrieve record IDs to track A+PTR (and possibly AAAA+PTR, eventually) records so we don't double-export them
- Fix bug that snuck in to PTR export; $ttl, not a literal 'ttl'
- Fix buglet in recursive call to _printrec_tiny for AAAA+PTR; forgot to pass $recflags
comment:53 by , 13 years ago
comment:54 by , 13 years ago
(In [337]) /trunk
Checkpoint updating export for reverse DNS. See #26.
- _template4_expand moved up to join its relatives _ZONE and _zone2cidr
- SOA export updated to properly output multiple real SOA records if a logical v4 reverse zone is not octet-aligned
- PTR template and A+PTR template should now be complete
- Zone and record SELECTs updated so that records are retrieved in an order that lets us export the more specific records first so we can exclude those IPs from the 1->many template record expansion
SOA and (A+)PTR template changes should probably be tested
further for odd edge cases
comment:55 by , 13 years ago
comment:56 by , 13 years ago
comment:57 by , 13 years ago
(In [344]) /trunk
Work around bizarre SQL un-bug where:
SELECT <stuff> UNION (SELECT <stuff> ORDER BY ...)
not only didn't essentially glue the results of the two SELECTs together
serially (mildly confusing but a nonissue), but the ORDER BY was not obeyed
properly and resulted in records returned in the wrong relative order
overall (a problem when further processing required that relative ordering
of the records from the second SELECT).
This caused PTR template entries in reverse zones to not stack/overlay/cascade
properly on export, because larger netblocks returned first (against the ORDER
BY) prevented the smaller, more specific blocks from being expanded.
See #26
comment:58 by , 13 years ago
comment:59 by , 13 years ago
(In [346]) /trunk
Delegation type now exports correctly, or at least as correctly as the
input data can manage. Nested super-/24 and sub-/24 delegations may
not resolve correctly depending on whether a DNS server hands out only
the super-/24 delegation records or only the CNAMEs for the sub-/24, or
both.
As a nice bonus, it doesn't matter for most delegations whether you use
explicit NS records or the "Delegation" pseudotype. Only sub-/24
delegations will not be fully created (including the CNAMEs for each IP)
with just NS records.
See #26.
comment:60 by , 12 years ago
comment:61 by , 12 years ago
comment:62 by , 12 years ago
comment:63 by , 12 years ago
(In [353]) /trunk
Checkpoint filling in tinydns data import stubs
- Move a useful sub up the hierarchy
- Include explicit count/limit in split() calls; lets us catch possible syntax oopses that would give strange timestamp or location entries
- Convert existing record inserts to use prepared statement
- Extend CNAME support to handle CNAMEs properly in reverse zones
- Mostly finish tinydns "." type (SOA+NS+A) - note these seem to be mainly useful for very small installations, not large ones.
- Add stub for location/view entries
See #26, partly
comment:64 by , 12 years ago
comment:65 by , 12 years ago
(In [405]) /trunk
Clean up some more annoyances in dns-rpc.cgi. See #43.
- Update active and stub list of subs to match current DNSDB.pm
- Factor out common opening errorcheck actions into a separate internal sub
- Refresh getRecCount internals since it should be almost identical to getDomRecs
- Fix a couple of trivial copypasted comment typos
Add support to handle adding and deleting reverse zones. See #26.
- Complete conversion of delDomain to delZone
- Add addRDNS
comment:66 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Resolving with release of v1.2.
(In [224]) /trunk