--- Makefile.orig 2007-12-17 21:02:09.000000000 +0100 +++ Makefile 2007-12-17 21:38:39.000000000 +0100 @@ -27,7 +27,7 @@ share/examples/${PORTNAME}/create.sql PLIST_DIRS= share/examples/${PORTNAME} -pre-build: +post-patch: ${CP} -R ${DJ_SRC} ${WRKSRC}/djbdns-1.05 ${PATCH} < ${WRKSRC}/djbdns-1.05.patch -d ${WRKSRC}/djbdns-1.05 ${MV} ${WRKSRC}/sqldns-schema.html ${WRKSRC}/pgsqldns-schema.html @@ -42,10 +42,4 @@ .endfor .endif -.include - -.if ${OSVERSION} >= 700042 -BROKEN= Does not compile with GCC 4.2 -.endif - -.include +.include --- /dev/null 2007-12-17 21:37:53.000000000 +0100 +++ files/patch-djbdns-1.05.patch 2007-12-17 21:35:12.000000000 +0100 @@ -0,0 +1,240 @@ +--- djbdns-1.05.patch.orig 2007-08-26 15:08:50.000000000 +0200 ++++ djbdns-1.05.patch 2007-12-17 21:34:49.000000000 +0100 +@@ -1757,8 +1757,8 @@ + { + + === modified file 'query.c' +---- query.c 2004-07-08 11:45:45 +0000 +-+++ query.c 2007-08-23 21:11:49 +0000 ++--- query.c.orig 2007-12-17 21:14:09.000000000 +0100 +++++ query.c 2007-12-17 21:33:24.000000000 +0100 + @@ -12,6 +12,15 @@ + #include "alloc.h" + #include "response.h" +@@ -1775,7 +1775,7 @@ + + static int flagforwardonly = 0; + +-@@ -20,10 +29,32 @@ ++@@ -20,10 +29,31 @@ + flagforwardonly = 1; + } + +@@ -1790,12 +1790,11 @@ + +#ifdef SQLCACHE + +unsigned int db_reinsert_interval = 1*60*60; + +unsigned int db_insert_minttl = 10*60; +-+extern unsigned int save_ok; + +#endif +++static unsigned int save_ok; + + + +char save_buf[8192]; + +unsigned int save_len; +-+static unsigned int save_ok; + + + static void cachegeneric(const char type[2],const char *d,const char *data,unsigned int datalen,uint32 ttl) + { +@@ -1808,7 +1807,7 @@ + + len = dns_domain_length(d); + if (len > 255) return; +-@@ -32,13 +63,26 @@ ++@@ -32,13 +62,26 @@ + byte_copy(key + 2,len,d); + case_lowerb(key + 2,len); + +@@ -1839,7 +1838,7 @@ + static void save_start(void) + { + save_len = 0; +-@@ -193,6 +237,7 @@ ++@@ -193,6 +236,7 @@ + int k; + int p; + int q; +@@ -1847,7 +1846,7 @@ + + errno = error_io; + if (state == 1) goto HAVEPACKET; +-@@ -236,7 +281,9 @@ ++@@ -236,7 +280,9 @@ + response_rfinish(RESPONSE_ANSWER); + } + cleanup(z); +@@ -1857,7 +1856,7 @@ + return 1; + } + +-@@ -246,7 +293,10 @@ ++@@ -246,7 +292,10 @@ + case_lowerb(key + 2,dlen); + cached = cache_get(key,dlen + 2,&cachedlen,&ttl); + if (cached) { +@@ -1868,7 +1867,7 @@ + goto NXDOMAIN; + } + +-@@ -254,13 +304,17 @@ ++@@ -254,13 +303,17 @@ + cached = cache_get(key,dlen + 2,&cachedlen,&ttl); + if (cached) { + if (typematch(DNS_T_CNAME,dtype)) { +@@ -1886,7 +1885,7 @@ + if (!dns_domain_copy(&cname,cached)) goto DIE; + goto CNAME; + } +-@@ -269,7 +323,9 @@ ++@@ -269,7 +322,9 @@ + byte_copy(key,2,DNS_T_NS); + cached = cache_get(key,dlen + 2,&cachedlen,&ttl); + if (cached && (cachedlen || byte_diff(dtype,2,DNS_T_ANY))) { +@@ -1896,7 +1895,7 @@ + if (!rqa(z)) goto DIE; + pos = 0; + while (pos = dns_packet_getname(cached,cachedlen,pos,&t2)) { +-@@ -286,7 +342,9 @@ ++@@ -286,7 +341,9 @@ + byte_copy(key,2,DNS_T_PTR); + cached = cache_get(key,dlen + 2,&cachedlen,&ttl); + if (cached && (cachedlen || byte_diff(dtype,2,DNS_T_ANY))) { +@@ -1906,7 +1905,7 @@ + if (!rqa(z)) goto DIE; + pos = 0; + while (pos = dns_packet_getname(cached,cachedlen,pos,&t2)) { +-@@ -303,7 +361,9 @@ ++@@ -303,7 +360,9 @@ + byte_copy(key,2,DNS_T_MX); + cached = cache_get(key,dlen + 2,&cachedlen,&ttl); + if (cached && (cachedlen || byte_diff(dtype,2,DNS_T_ANY))) { +@@ -1916,7 +1915,7 @@ + if (!rqa(z)) goto DIE; + pos = 0; + while (pos = dns_packet_copy(cached,cachedlen,pos,misc,2)) { +-@@ -324,7 +384,9 @@ ++@@ -324,7 +383,9 @@ + cached = cache_get(key,dlen + 2,&cachedlen,&ttl); + if (cached && (cachedlen || byte_diff(dtype,2,DNS_T_ANY))) { + if (z->level) { +@@ -1926,7 +1925,7 @@ + while (cachedlen >= 4) { + for (k = 0;k < 64;k += 4) + if (byte_equal(z->servers[z->level - 1] + k,4,"\0\0\0\0")) { +-@@ -337,7 +399,9 @@ ++@@ -337,7 +398,9 @@ + goto LOWERLEVEL; + } + +@@ -1936,7 +1935,7 @@ + if (!rqa(z)) goto DIE; + while (cachedlen >= 4) { + if (!response_rstart(d,DNS_T_A,ttl)) goto DIE; +-@@ -355,7 +419,9 @@ ++@@ -355,7 +418,9 @@ + byte_copy(key,2,dtype); + cached = cache_get(key,dlen + 2,&cachedlen,&ttl); + if (cached && (cachedlen || byte_diff(dtype,2,DNS_T_ANY))) { +@@ -1946,7 +1945,7 @@ + if (!rqa(z)) goto DIE; + while (cachedlen >= 2) { + uint16_unpack_big(cached,&datalen); +-@@ -396,7 +462,9 @@ ++@@ -396,7 +461,9 @@ + pos = 0; + j = 0; + while (pos = dns_packet_getname(cached,cachedlen,pos,&t1)) { +@@ -1956,7 +1955,7 @@ + if (j < QUERY_MAXNS) + if (!dns_domain_copy(&z->ns[z->level][j++],t1)) goto DIE; + } +-@@ -430,12 +498,16 @@ ++@@ -430,12 +497,16 @@ + + dns_sortip(z->servers[z->level],64); + if (z->level) { +@@ -1975,7 +1974,7 @@ + } + return 0; + +-@@ -590,15 +662,19 @@ ++@@ -590,15 +661,19 @@ + pos = dns_packet_getname(buf,len,pos + 10,&t2); if (!pos) goto DIE; + pos = dns_packet_getname(buf,len,pos,&t3); if (!pos) goto DIE; + pos = dns_packet_copy(buf,len,pos,misc,20); if (!pos) goto DIE; +@@ -1995,7 +1994,7 @@ + cachegeneric(DNS_T_CNAME,t1,t2,dns_domain_length(t2),ttl); + } + else if (byte_equal(type,2,DNS_T_PTR)) { +-@@ -606,7 +682,9 @@ ++@@ -606,7 +681,9 @@ + while (i < j) { + pos = dns_packet_skipname(buf,len,records[i]); if (!pos) goto DIE; + pos = dns_packet_getname(buf,len,pos + 10,&t2); if (!pos) goto DIE; +@@ -2005,7 +2004,7 @@ + save_data(t2,dns_domain_length(t2)); + ++i; + } +-@@ -617,7 +695,9 @@ ++@@ -617,7 +694,9 @@ + while (i < j) { + pos = dns_packet_skipname(buf,len,records[i]); if (!pos) goto DIE; + pos = dns_packet_getname(buf,len,pos + 10,&t2); if (!pos) goto DIE; +@@ -2015,7 +2014,7 @@ + save_data(t2,dns_domain_length(t2)); + ++i; + } +-@@ -629,7 +709,9 @@ ++@@ -629,7 +708,9 @@ + pos = dns_packet_skipname(buf,len,records[i]); if (!pos) goto DIE; + pos = dns_packet_copy(buf,len,pos + 10,misc,2); if (!pos) goto DIE; + pos = dns_packet_getname(buf,len,pos,&t2); if (!pos) goto DIE; +@@ -2025,7 +2024,7 @@ + save_data(misc,2); + save_data(t2,dns_domain_length(t2)); + ++i; +-@@ -643,8 +725,13 @@ ++@@ -643,8 +724,13 @@ + pos = dns_packet_copy(buf,len,pos,header,10); if (!pos) goto DIE; + if (byte_equal(header + 8,2,"\0\4")) { + pos = dns_packet_copy(buf,len,pos,header,4); if (!pos) goto DIE; +@@ -2039,7 +2038,7 @@ + } + ++i; + } +-@@ -659,7 +746,9 @@ ++@@ -659,7 +745,9 @@ + if (datalen > len - pos) goto DIE; + save_data(header + 8,2); + save_data(buf + pos,datalen); +@@ -2049,7 +2048,7 @@ + ++i; + } + save_finish(type,t1,ttl); +-@@ -689,13 +778,21 @@ ++@@ -689,13 +777,21 @@ + } + + if (rcode == 3) { +@@ -2072,7 +2071,7 @@ + cleanup(z); + return 1; + } +-@@ -706,10 +803,13 @@ ++@@ -706,10 +802,13 @@ + if (byte_diff(DNS_T_CNAME,2,dtype)) { + save_start(); + save_finish(dtype,d,soattl); +@@ -2087,8 +2086,6 @@ + + + if (flagout || flagsoa || !flagreferral) { +- +-=== modified file 'query.h' + --- query.h 2004-07-08 11:45:45 +0000 + +++ query.h 2007-08-23 20:36:07 +0000 + @@ -28,5 +28,6 @@ +@@ -2446,3 +2443,5 @@ + if (cdb_make_finish(&cdb) == -1) die_datatmp(); + if (fsync(fdcdb) == -1) die_datatmp(); + ++ ++