summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-08-31 09:38:50 +0000
committerAndrew Tridgell <tridge@samba.org>1998-08-31 09:38:50 +0000
commita2450e6fb3a2b53bdfc128b851f0d44d245e9eeb (patch)
tree36054e309ed028cbb67c19800c2c5cca58f11ce6
parent5e20600e54a275d39e79f4547cb55c5946c14117 (diff)
downloadsamba-a2450e6fb3a2b53bdfc128b851f0d44d245e9eeb.tar.gz
samba-a2450e6fb3a2b53bdfc128b851f0d44d245e9eeb.tar.bz2
samba-a2450e6fb3a2b53bdfc128b851f0d44d245e9eeb.zip
I looked at the refresh issue a bit more and discovered that Samba
also doesn't switch to a registration if a refresh fails, instead the name is removed! This makes it even more imortant that a Samba WINS server accepts refresh requests as registration requests if the name is not registered. I've gone ahead and implemented this. (This used to be commit 07f825fc9491bb5adac047854e67c63f7757143b)
-rw-r--r--source3/nmbd/nmbd_winsserver.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source3/nmbd/nmbd_winsserver.c b/source3/nmbd/nmbd_winsserver.c
index 2fcc95e1d6..48d27f7bae 100644
--- a/source3/nmbd/nmbd_winsserver.c
+++ b/source3/nmbd/nmbd_winsserver.c
@@ -420,14 +420,15 @@ IP %s\n", namestr(question), inet_ntoa(from_ip) ));
/*
* If this is a refresh request and the name doesn't exist then
- * fail it.
+ * treat it like a registration request. This allows us to recover
+ * from errors (tridge)
*/
if(namerec == NULL)
{
DEBUG(3,("wins_process_name_refresh_request: Name refresh for name %s and \
-the name does not exist.\n", namestr(question) ));
- send_wins_name_registration_response(NAM_ERR, 0, p);
+the name does not exist. Treating as registration.\n", namestr(question) ));
+ wins_process_name_registration_request(subrec,p);
return;
}