diff -ruN djbdns-1.05-factory/Makefile djbdns-1.05-patched/Makefile --- djbdns-1.05-factory/Makefile 2001-02-11 16:11:45.000000000 -0500 +++ djbdns-1.05-patched/Makefile 2007-11-21 18:56:07.000000000 -0500 @@ -733,7 +733,7 @@ rbldns.o: \ compile rbldns.c str.h byte.h ip4.h open.h env.h cdb.h uint32.h dns.h \ stralloc.h gen_alloc.h iopause.h taia.h tai.h uint64.h taia.h dd.h \ -strerr.h response.h uint32.h +strerr.h response.h uint32.h alloc.h ./compile rbldns.c readclose.o: \ diff -ruN djbdns-1.05-factory/rbldns.c djbdns-1.05-patched/rbldns.c --- djbdns-1.05-factory/rbldns.c 2001-02-11 16:11:45.000000000 -0500 +++ djbdns-1.05-patched/rbldns.c 2007-11-21 19:00:28.000000000 -0500 @@ -9,8 +9,10 @@ #include "dd.h" #include "strerr.h" #include "response.h" +#include "alloc.h" -static char *base; +static char **bases; +unsigned int nbases = 0; static struct cdb c; static char key[5]; @@ -33,7 +35,11 @@ if (byte_equal(qtype,2,DNS_T_ANY)) flaga = flagtxt = 1; if (!flaga && !flagtxt) goto REFUSE; - if (dd(q,base,reverseip) != 4) goto REFUSE; + for ( i=0 ; i