summaryrefslogtreecommitdiff
path: root/source3/nameservresp.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1997-10-23 22:30:57 +0000
committerJeremy Allison <jra@samba.org>1997-10-23 22:30:57 +0000
commitabb255cfe674a39c6a42f5083af9c5facdbcca05 (patch)
treebccbf53d36ce62b7a0e23cbcf628a53850c2db95 /source3/nameservresp.c
parent5557ab3c007b79c132e9a2da16e41be7b13f1b39 (diff)
downloadsamba-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.c11
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);
}
}
}