diff options
author | Samba Release Account <samba-bugs@samba.org> | 1997-04-09 01:19:25 +0000 |
---|---|---|
committer | Samba Release Account <samba-bugs@samba.org> | 1997-04-09 01:19:25 +0000 |
commit | 20b5dea237916902437ce3dcdb7c253fd1ad3585 (patch) | |
tree | e68a033a708efed2c93c95a73da978ebf9221c34 /source3/nameservreply.c | |
parent | 02e610b927c9038cf498f726d807ee95a14714be (diff) | |
download | samba-20b5dea237916902437ce3dcdb7c253fd1ad3585.tar.gz samba-20b5dea237916902437ce3dcdb7c253fd1ad3585.tar.bz2 samba-20b5dea237916902437ce3dcdb7c253fd1ad3585.zip |
Large changes from jra@cygnus.com. Mainly browser updates.
access.c: Fixed crash if yp domain unavailable.
includes.h: Moved ifdefs for minor platform.
interface.c: Changed name of ipgrp to wins_ip to make it clearer.
loadparm.c: Changed default of wins support to 'no'.
nameannounce.c: Many changes to fix cross subnet browsing.
namebrowse.c: Many changes to fix cross subnet browsing.
namedbname.c: Many changes to fix cross subnet browsing.
namedbresp.c: Many changes to fix cross subnet browsing.
namedbsubnet.c: Many changes to fix cross subnet browsing.
namedbwork.c: Many changes to fix cross subnet browsing.
nameelect.c: Many changes to fix cross subnet browsing.
namelogon.c: Many changes to fix cross subnet browsing.
namepacket.c: Many changes to fix cross subnet browsing.
nameresp.c: Many changes to fix cross subnet browsing.
nameserv.c: Many changes to fix cross subnet browsing.
nameserv.h: Many changes to fix cross subnet browsing.
nameservreply.c: Many changes to fix cross subnet browsing.
nameservresp.c: Many changes to fix cross subnet browsing.
namework.c: Many changes to fix cross subnet browsing.
nmbd.c: Change to search wins subnet.
nmbsync.c: Change to check if we are any master before proceeding.
proto.h: Added find_subnet_all() and check_work_servertype().
util.c: Moved 'done' settings on name resolution.
(This used to be commit a82476eee2c521e5eed092bc367da0a7cef23de1)
Diffstat (limited to 'source3/nameservreply.c')
-rw-r--r-- | source3/nameservreply.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/source3/nameservreply.c b/source3/nameservreply.c index 544cbc62b4..001695b3fb 100644 --- a/source3/nameservreply.c +++ b/source3/nameservreply.c @@ -36,7 +36,7 @@ extern int ClientNMB; extern int DEBUGLEVEL; -extern struct in_addr ipgrp; +extern struct in_addr wins_ip; /**************************************************************************** @@ -120,35 +120,35 @@ void reply_name_release(struct packet_struct *p) namestr(&nmb->question.question_name))); if (!(d = find_req_subnet(p->ip, bcast))) - { - DEBUG(3,("response packet: bcast %s not known\n", - inet_ntoa(p->ip))); - return; - } + { + DEBUG(3,("response packet: bcast %s not known\n", + inet_ntoa(p->ip))); + return; + } if (bcast) - search |= FIND_LOCAL; + search |= FIND_LOCAL; else - search |= FIND_WINS; + search |= FIND_WINS; n = find_name_search(&d, &nmb->question.question_name, - search, ip); + search, ip); /* XXXX under what conditions should we reject the removal?? */ if (n && n->ip_flgs[0].nb_flags == nb_flags) - { + { success = True; remove_name(d,n); n = NULL; - } + } if (bcast) return; /* Send a NAME RELEASE RESPONSE (pos/neg) see rfc1002.txt 4.2.10-11 */ send_name_response(p->fd,p->ip, nmb->header.name_trn_id, NMB_REL, - success, False, - &nmb->question.question_name, nb_flags, 0, ip); + success, False, + &nmb->question.question_name, nb_flags, 0, ip); } @@ -190,7 +190,7 @@ void reply_name_reg(struct packet_struct *p) { /* apparently we should return 255.255.255.255 for group queries (email from MS) */ - ip = ipgrp; + ip = wins_ip; } if (!(d = find_req_subnet(p->ip, bcast))) @@ -393,8 +393,8 @@ void reply_name_status(struct packet_struct *p) if (!strequal(n->name.name,"*") && !strequal(n->name.name,"__SAMBA__") && - (name_type < 0x1b || name_type > 0x20 || - ques_type < 0x1b || ques_type > 0x20 || + (name_type < 0x1b || name_type >= 0x20 || + ques_type < 0x1b || ques_type >= 0x20 || strequal(qname, n->name.name))) { /* start with first bit of putting info in buffer: the name */ @@ -433,7 +433,7 @@ void reply_name_status(struct packet_struct *p) /* end of this name list: add wins names too? */ struct subnet_record *w_d; - if (!(w_d = find_subnet(ipgrp))) break; + if (!(w_d = find_subnet(wins_ip))) break; if (w_d != d) { @@ -520,7 +520,7 @@ void reply_name_query(struct packet_struct *p) } else { - if (!(d = find_subnet(ipgrp))) + if (!(d = find_subnet(wins_ip))) { DEBUG(3,("name query: wins search %s not known\n", inet_ntoa(p->ip))); |