diff options
author | asmodai <asmodai@FreeBSD.org> | 2000-11-06 16:10:57 +0000 |
---|---|---|
committer | asmodai <asmodai@FreeBSD.org> | 2000-11-06 16:10:57 +0000 |
commit | db460c4a6de097a0960d8e840f3e657dba9fba34 (patch) | |
tree | 0226fb8a0c272da58ad84ff72f4875ba46673b59 /contrib/bind/bin/named | |
parent | ff45078d39466043bd69d792566d5f84246d28b7 (diff) | |
parent | 43c4a8b07e19a2567390a7f788929e5c908a4d7b (diff) | |
download | FreeBSD-src-db460c4a6de097a0960d8e840f3e657dba9fba34.zip FreeBSD-src-db460c4a6de097a0960d8e840f3e657dba9fba34.tar.gz |
This commit was generated by cvs2svn to compensate for changes in r68396,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/bind/bin/named')
-rw-r--r-- | contrib/bind/bin/named/ns_req.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/contrib/bind/bin/named/ns_req.c b/contrib/bind/bin/named/ns_req.c index d6add30..75d688f 100644 --- a/contrib/bind/bin/named/ns_req.c +++ b/contrib/bind/bin/named/ns_req.c @@ -1,6 +1,6 @@ #if !defined(lint) && !defined(SABER) static const char sccsid[] = "@(#)ns_req.c 4.47 (Berkeley) 7/1/91"; -static const char rcsid[] = "$Id: ns_req.c,v 8.118 2000/07/17 07:57:56 vixie Exp $"; +static const char rcsid[] = "$Id: ns_req.c,v 8.119 2000/08/21 05:57:09 vixie Exp $"; #endif /* not lint */ /* @@ -271,7 +271,11 @@ ns_req(u_char *msg, int msglen, int buflen, struct qstream *qsp, * safely assume these are always 0 when a query * comes in. */ - hp->aa = hp->ra = 0; +#ifdef BIND_NOTIFY + if (hp->opcode != ns_o_notify) +#endif + hp->aa = 0; + hp->ra = 0; ra = (NS_OPTION_P(OPTION_NORECURSE) == 0); if (error == NOERROR) @@ -460,18 +464,21 @@ req_notify(HEADER *hp, u_char **cpp, u_char *eom, u_char *msg, char dnbuf[MAXDNAME]; struct zoneinfo *zp; - /* valid notify's have one question */ - if (ntohs(hp->qdcount) != 1) { + /* valid notify's are authoritative */ + if (!hp->aa) { ns_debug(ns_log_notify, 1, - "FORMERR Notify header counts wrong"); + "FORMERR Notify request without AA"); +#ifdef not_yet hp->rcode = ns_r_formerr; return (Finish); +#endif } + hp->aa = 0; - /* valid notify's are authoritative */ - if (!hp->aa) { + /* valid notify's have one question */ + if (ntohs(hp->qdcount) != 1) { ns_debug(ns_log_notify, 1, - "FORMERR Notify request without AA"); + "FORMERR Notify header counts wrong"); hp->rcode = ns_r_formerr; return (Finish); } |