summaryrefslogtreecommitdiff
path: root/source3/namedbresp.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/namedbresp.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/namedbresp.c')
-rw-r--r--source3/namedbresp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source3/namedbresp.c b/source3/namedbresp.c
index 86d7eddbd4..c8a31a6c79 100644
--- a/source3/namedbresp.c
+++ b/source3/namedbresp.c
@@ -95,7 +95,8 @@ struct response_record *make_response_queue_record(enum state_type state,
int quest_type, char *name,int type, int nb_flags, time_t ttl,
int server_type, char *my_name, char *my_comment,
BOOL bcast,BOOL recurse,
- struct in_addr send_ip, struct in_addr reply_to_ip)
+ struct in_addr send_ip, struct in_addr reply_to_ip,
+ int reply_id)
{
struct response_record *n;
@@ -118,6 +119,7 @@ struct response_record *make_response_queue_record(enum state_type state,
n->recurse = recurse;
n->send_ip = send_ip;
n->reply_to_ip = reply_to_ip;
+ n->reply_id = reply_id;
if(my_name)
StrnCpy(n->my_name, my_name, sizeof(n->my_name)-1);
else