Index: trunk/DNSDB/ExportBIND.pm
===================================================================
--- trunk/DNSDB/ExportBIND.pm	(revision 855)
+++ trunk/DNSDB/ExportBIND.pm	(revision 856)
@@ -48,6 +48,6 @@
   $revsth->execute();
   while (my ($revid,$revzone,$revstat,$changed,$defloc) = $revsth->fetchrow_array) {
-    my $tmpzone = NetAddr::IP->new($revzone);
-    my $zfile = $tmpzone->network->addr."-".$tmpzone->masklen;
+    my $cidr = NetAddr::IP->new($revzone);
+    my $zfile = $cidr->network->addr."-".$cidr->masklen;
 #    my $cachefile = "$dnsdb->{exportcache}/$zfile";
 #    my $tmpcache = "$dnsdb->{exportcache}/tmp.$zfile.$$";
@@ -57,4 +57,8 @@
 ##fixme:  need to bodge logical non-octet-boundary revzones into octet-boundary revzones
 ##fixme:  do we do cache files?  views balloon the file count stupidly
+## foreach $octetzone $cidr->split(octet-boundary)
+##   loclist = SELECT DISTINCT location FROM records WHERE rdns_id = $zid AND inetlazy(val) <<= $octetzone
+
+#printf "non-octet? %s, %i\n", $cidr->masklen, $cidr->masklen % 8;
 
 
@@ -77,11 +81,13 @@
         my (@loclist) = $dnsdb->{dbh}->selectrow_array("SELECT DISTINCT location FROM records WHERE rdns_id = ?", undef, $revid);
         push @loclist, $defloc unless grep /$defloc/, @loclist;
-        my $zonepath = $dnsdb->{bind_export_zone_path};
+        my $zonepath = $dnsdb->{bind_export_reverse_zone_path};
         my %zonefiles;  # to be a list of file handles.
-##fixme:  convert logical revzone into .arpa name
+##fixme:  need to open separate zone files for aggregated metazones eg /22 or /14
         foreach my $loc (@loclist) {
           my $zfilepath = $zonepath;
           $zfilepath =~ s/\%view/$loc/;
           $zfilepath =~ s/\%zone/$revzone/;
+          my $arpazone = DNSDB::_ZONE($cidr, 'ZONE', 'r', '.').($cidr->{isv6} ? '.ip6.arpa' : '.in-addr.arpa');
+          $zfilepath =~ s/\%arpazone/$arpazone/;
           # Just In Case(TM)
           $zfilepath =~ s,[^\w./-],_,g;
Index: trunk/dnsdb.conf
===================================================================
--- trunk/dnsdb.conf	(revision 855)
+++ trunk/dnsdb.conf	(revision 856)
@@ -30,4 +30,6 @@
 ## BIND export options
 #bind_export_zone_path = /var/named/zones/%view/db.%zone
+# because they're fish of a different colour
+#bind_export_reverse_zone_path = /var/named/zones/%view/db.%arpazone
 
 ## DNS data template options
