1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-29 11:21:54 +03:00

namedbname.c: Fixed *nasty* bug that caused nmbd to spin and eat memory

and CPU whilst trying to become a master browser. Don't ask,
              you don't want to know :-).
nameresp.c: Tidied formating of code.
nameservresp.c: Added debug value of IP address that is rejecting our
                registration.
jallison@whistle.com
(This used to be commit c0bae276a9)
This commit is contained in:
Samba Release Account 1997-05-15 23:47:34 +00:00
parent e896730fe7
commit 5495a3446d
3 changed files with 29 additions and 22 deletions

View File

@ -421,6 +421,12 @@ struct name_record *add_netbios_entry(struct subnet_record *d,
/* add the name to the WINS list if the name comes from a directed query */ /* add the name to the WINS list if the name comes from a directed query */
search |= wins ? FIND_WINS : FIND_LOCAL; search |= wins ? FIND_WINS : FIND_LOCAL;
/* If it's a local search then we need to set the subnet
we are looking at. */
if(search & FIND_LOCAL)
found_subnet = d;
/* search for SELF names only */ /* search for SELF names only */
search |= self ? FIND_SELF : 0; search |= self ? FIND_SELF : 0;

View File

@ -231,7 +231,7 @@ void expire_netbios_response_entries(time_t t)
n->response_id, namestr(&n->name), n->response_id, namestr(&n->name),
inet_ntoa(n->send_ip))); inet_ntoa(n->send_ip)));
dead_netbios_entry (d,n); /* process the non-response */ dead_netbios_entry(d,n); /* process the non-response */
remove_response_record(d,n); /* remove the non-response */ remove_response_record(d,n); /* remove the non-response */
continue; continue;

View File

@ -113,7 +113,8 @@ static void response_name_reg(struct nmb_name *ans_name,
} }
else else
{ {
DEBUG(2,("name registration for %s rejected!\n", namestr(ans_name))); DEBUG(2,("name registration for %s rejected by ip %s!\n",
namestr(ans_name), inet_ntoa(p->ip)));
/* oh dear. we have problems. possibly unbecome a master browser. */ /* oh dear. we have problems. possibly unbecome a master browser. */
name_unregister_work(d,name,type); name_unregister_work(d,name,type);