summaryrefslogtreecommitdiff
path: root/source3/nameserv.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1997-10-15 09:15:45 +0000
committerAndrew Tridgell <tridge@samba.org>1997-10-15 09:15:45 +0000
commit9d3cce7c68723954bf3e97ba5681aa60c31eb835 (patch)
treeb6065399782987c9eb241e00dabc71b074a65e8b /source3/nameserv.c
parentbe73ce8321d5714fcd74f71ed9f6532ca4e1090b (diff)
downloadsamba-9d3cce7c68723954bf3e97ba5681aa60c31eb835.tar.gz
samba-9d3cce7c68723954bf3e97ba5681aa60c31eb835.tar.bz2
samba-9d3cce7c68723954bf3e97ba5681aa60c31eb835.zip
fixed the freeze on logout bug. The fix has several parts:
1) add a new parameter to queue_netbios_packet(), the "reply_id", this is the id that should be used when sending a further response to the packet (such as a response after we get back a reply to a name query after senidnga WACK). reply_id is 0 (meaning unused) in most cases. 2) fix the id used in the reply in add_name_respond() from response_name_query_register() 3) remember to remove the response record at the end of response_name_query_register() 4) get the right IP address (it was 0.0.0.0) in response_name_query_register() 5) add a new field reply_id to struct response_record (This used to be commit e1e86c1a160c8302004ea58e4f0f5874dd179dae)
Diffstat (limited to 'source3/nameserv.c')
-rw-r--r--source3/nameserv.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/source3/nameserv.c b/source3/nameserv.c
index ccd0ef379c..bc37d1c424 100644
--- a/source3/nameserv.c
+++ b/source3/nameserv.c
@@ -111,7 +111,7 @@ void remove_name_entry(struct subnet_record *d, char *name,int type)
/* local interface: release them on the network */
queue_netbios_packet(d,ClientNMB,NMB_REL,NAME_RELEASE,
name, type, 0, 0,0,NULL,NULL,
- True, False, d->bcast_ip, d->bcast_ip);
+ True, False, d->bcast_ip, d->bcast_ip, 0);
}
}
@@ -172,7 +172,7 @@ void add_my_name_entry(struct subnet_record *d,char *name,int type,int nb_flags)
queue_netbios_packet(d,ClientNMB,
re_reg ? NMB_REG_REFRESH : NMB_REG, NAME_REGISTER,
name, type, nb_flags, GET_TTL(0),0,NULL,NULL,
- True, False, d->bcast_ip, ipzero);
+ True, False, d->bcast_ip, ipzero, 0);
}
}
@@ -249,7 +249,7 @@ for domain master on workgroup %s\n",
myworkgroup, 0x1b,
0, 0,0,NULL,NULL,
True, False,
- d->bcast_ip, d->bcast_ip);
+ d->bcast_ip, d->bcast_ip, 0);
}
}
}
@@ -488,7 +488,8 @@ void query_refresh_names(time_t t)
queue_netbios_packet(d,ClientNMB,NMB_QUERY,NAME_QUERY_CONFIRM,
n->name.name, n->name.name_type,
0,0,0,NULL,NULL,
- False,False,n->ip_flgs[0].ip,n->ip_flgs[0].ip);
+ False,False,n->ip_flgs[0].ip,n->ip_flgs[0].ip,
+ 0);
count++;
}