diff options
author | Jeremy Allison <jra@samba.org> | 1997-10-23 22:30:57 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1997-10-23 22:30:57 +0000 |
commit | abb255cfe674a39c6a42f5083af9c5facdbcca05 (patch) | |
tree | bccbf53d36ce62b7a0e23cbcf628a53850c2db95 /source3/nameservresp.c | |
parent | 5557ab3c007b79c132e9a2da16e41be7b13f1b39 (diff) | |
download | samba-abb255cfe674a39c6a42f5083af9c5facdbcca05.tar.gz samba-abb255cfe674a39c6a42f5083af9c5facdbcca05.tar.bz2 samba-abb255cfe674a39c6a42f5083af9c5facdbcca05.zip |
Big change to make nmbd code more readable/understandable.
Main change is removal of find_name_search() confusion.
This has been replaced with find_name_on_subnet() which
makes it explicit what is being searched.
Also changed wins_subnet to be wins_client_subnet in
preparation for splitting the wins subnet into client
and server pieces.
This is a big nmbd change and I'd appreciate any
bug reports.
Specific changes follow :
asyncdns.c:
Removed wins entry from add_netbios_entry(). This is now
explicit in the subnet_record parameter.
interface.c:
iface_bcast(), iface_nmask(), iface_ip() return the
default interface if none can be found. Made this
behavior explicit - some code in nmbd incorrectly
depended upon this (reply_name_status() for instance).
nameannounce.c:
find_name_search changes to find_name_on_subnet.
namebrowse.c:
wins_subnet renamed to wins_client_subnet.
namedbname.c:
find_name_search removed. find_name_on_subnet added.
add_netbios_entry - wins parameter removed.
namedbsubnet.c:
find_req_subnet removed - not explicit enough.
nameelect.c:
wins_subnet renamed to wins_client_subnet.
namepacket.c:
listening() simplified.
nameresp.c:
wins_subnet renamed to wins_client_subnet.
nameserv.c:
find_name_search moved to find_name_on_subnet.
nameserv.h:
FIND_XXX -> changed to FIND_SELF_NAME, FIND_ANY_NAME.
nameservreply.c:
find_name_search moved to find_name_on_subnet.
Debug entries changed.
nameservresp.c:
wins_subnet renamed to wins_client_subnet.
namework.c:
wins_subnet renamed to wins_client_subnet.
nmbd.c:
wins parameter removed from add_netbios_entry.
nmbsync:
wins_subnet renamed to wins_client_subnet.
proto.h: The usual.
server.c:
remove accepted fd from fd_set.
Jeremy (jallison@whistle.com)
(This used to be commit 2c97b33fc0b5ef181dbf51a50cb61074935165bf)
Diffstat (limited to 'source3/nameservresp.c')
-rw-r--r-- | source3/nameservresp.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source3/nameservresp.c b/source3/nameservresp.c index 61e4a835f4..3349610da6 100644 --- a/source3/nameservresp.c +++ b/source3/nameservresp.c @@ -111,7 +111,7 @@ static void response_name_reg(struct nmb_name *ans_name, treat such errors as success for this particular case only. jallison@whistle.com. */ - if ( ((d != wins_subnet) && (nmb->header.rcode == 6) && strequal(myworkgroup, name) && + if ( ((d != wins_client_subnet) && (nmb->header.rcode == 6) && strequal(myworkgroup, name) && (type == 0x1b)) || (nmb->header.rcode == 0 && nmb->answers && nmb->answers->rdata)) #else @@ -426,10 +426,12 @@ static void response_name_query_sync(struct nmb_packet *nmb, } else { + struct subnet_record *add_rec = (!bcast) ? wins_client_subnet : d; + /* update our netbios name list (re-register it if necessary) */ - add_netbios_entry(d, ans_name->name, ans_name->name_type, + add_netbios_entry(add_rec, ans_name->name, ans_name->name_type, nb_flags,GET_TTL(0),REGISTER, - found_ip,False,!bcast); + found_ip,False); } } else @@ -443,8 +445,7 @@ static void response_name_query_sync(struct nmb_packet *nmb, then we're in a mess: our name database doesn't match reality. sort it out */ - remove_netbios_name(d,n->name.name, n->name.name_type, - REGISTER,n->send_ip); + remove_netbios_name(d,n->name.name, n->name.name_type, REGISTER); } } } |