djbdns has an annoying design flaw.  (The author says it isn't a bug.)
By default, djbdns won't return more than 8 address records for any host;
the idea is that everyone has either a PC or a web farm.  But those of
us who instead have large timesharing computers with more than 8 network
interfaces need djbdns to return all the address records, otherwise
"double reverse" verification fails.  (Like it or not, it's in a lot of
system libraries.)

--- tdlookup.c	2001/07/15 03:41:59	1.1
+++ tdlookup.c	2001/09/07 15:10:03
@@ -118,7 +118,8 @@
   int flagauthoritative;
   char x[20];
   uint16 u16;
-  char addr[8][4];
+  enum { NADDR=32 };  /* was 8 */
+  char addr[NADDR][4];
   int addrnum;
   uint32 addrttl;
   int i;
@@ -163,8 +164,8 @@
       if (byte_equal(type,2,DNS_T_A) && (dlen - dpos == 4)) {
 	addrttl = ttl;
 	i = dns_random(addrnum + 1);
-	if (i < 8) {
-	  if ((i < addrnum) && (addrnum < 8))
+	if (i < NADDR) {
+	  if ((i < addrnum) && (addrnum < NADDR))
 	    byte_copy(addr[addrnum],4,addr[i]);
 	  byte_copy(addr[i],4,data + dpos);
 	}
@@ -190,7 +191,7 @@
       response_rfinish(RESPONSE_ANSWER);
     }
     for (i = 0;i < addrnum;++i)
-      if (i < 8) {
+      if (i < NADDR) {
 	if (!response_rstart(q,DNS_T_A,addrttl)) return 0;
 	if (!response_addbytes(addr[i],4)) return 0;
 	response_rfinish(RESPONSE_ANSWER);

