From 574788039f53fada4769731ea3fafe9710417b71 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 3 Jan 2000 03:17:16 +0000 Subject: added the unexpected packet database (unexpected.tdb) this means "nmblookup -S" now always works, even with broken servers the database stores all unexpected replies and these can be accessed by any client. while doing this I cleaned up a couple of functions, and put in place a better trn_id generator. in most places the code got quite a bit simpler due to the addition of simple helper functions. I haven't yet put the code in to take advantage of this for pdc replies - that will be next. Jeremys pdc finding code will then work :) (This used to be commit 280e6359d36c9bc8dcded302f15c3a1db8e3feeb) --- source3/nmbd/nmbd.c | 5 +++++ source3/nmbd/nmbd_packets.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'source3/nmbd') diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c index 533c06351f..3ba8acc5e0 100644 --- a/source3/nmbd/nmbd.c +++ b/source3/nmbd/nmbd.c @@ -457,6 +457,11 @@ static void process(void) */ sync_all_dmbs(t); + /* + * clear the unexpected packet queue + */ + clear_unexpected(t); + /* * Reload the services file if we got a sighup. */ diff --git a/source3/nmbd/nmbd_packets.c b/source3/nmbd/nmbd_packets.c index 0a7696a466..77bdb29816 100644 --- a/source3/nmbd/nmbd_packets.c +++ b/source3/nmbd/nmbd_packets.c @@ -1402,8 +1402,9 @@ static struct subnet_record *find_subnet_for_nmb_packet( struct packet_struct *p rrec = find_response_record( &subrec, nmb->header.name_trn_id); if(rrec == NULL) { - DEBUG(0,("find_subnet_for_nmb_packet: response record not found for response id %hu\n", + DEBUG(3,("find_subnet_for_nmb_packet: response record not found for response id %hu\n", nmb->header.name_trn_id)); + unexpected_packet(p); return NULL; } -- cgit