Index: contrib/bind/Version =================================================================== RCS file: /home/ncvs/src/contrib/bind/Version,v retrieving revision 1.1.1.11 diff -c -r1.1.1.11 Version *** contrib/bind/Version 28 Jan 2003 13:07:25 -0000 1.1.1.11 --- contrib/bind/Version 26 Nov 2003 16:51:22 -0000 *************** *** 1 **** ! 8.3.4-REL --- 1 ---- ! 8.3.4-REL-p1 Index: contrib/bind/bin/named/ns_resp.c =================================================================== RCS file: /home/ncvs/src/contrib/bind/bin/named/ns_resp.c,v retrieving revision 1.1.1.11 diff -c -r1.1.1.11 ns_resp.c *** contrib/bind/bin/named/ns_resp.c 28 Jan 2003 13:08:01 -0000 1.1.1.11 --- contrib/bind/bin/named/ns_resp.c 26 Nov 2003 16:51:10 -0000 *************** *** 272,278 **** u_int qtype, qclass; int restart; /* flag for processing cname response */ int validanswer, dbflags; ! int cname, lastwascname, externalcname; int count, founddata, foundname; int buflen; int newmsglen; --- 272,278 ---- u_int qtype, qclass; int restart; /* flag for processing cname response */ int validanswer, dbflags; ! int cname, lastwascname, externalcname, cachenegative; int count, founddata, foundname; int buflen; int newmsglen; *************** *** 912,917 **** --- 912,918 ---- cname = 0; lastwascname = 0; externalcname = 0; + cachenegative = 1; strcpy(aname, qname); if (count) { *************** *** 981,986 **** --- 982,988 ---- name); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } if (type == T_CNAME && *************** *** 1011,1016 **** --- 1013,1019 ---- "last was cname, ignoring auth. and add."); db_detach(&dp); validanswer = 0; + cachenegative = 0; break; } if (i < arfirst) { *************** *** 1026,1031 **** --- 1029,1035 ---- sin_ntoa(from)); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } else if (!ns_samedomain(name, qp->q_domain)) { *************** *** 1039,1044 **** --- 1043,1049 ---- sin_ntoa(from)); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } if (type == T_NS) { *************** *** 1231,1238 **** ) ) { ! cache_n_resp(msg, msglen, from, qp->q_name, ! qp->q_class, qp->q_type); if (!qp->q_cmsglen && validanswer) { ns_debug(ns_log_default, 3, --- 1236,1244 ---- ) ) { ! if (cachenegative) ! cache_n_resp(msg, msglen, from, qp->q_name, ! qp->q_class, qp->q_type); if (!qp->q_cmsglen && validanswer) { ns_debug(ns_log_default, 3,