summaryrefslogtreecommitdiffstats
path: root/source3/nmbd/nmbd_winsserver.c
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 /source3/nmbd/nmbd_winsserver.c
parent5e20600e54a275d39e79f4547cb55c5946c14117 (diff)
downloadsamba-a2450e6fb3a2b53bdfc128b851f0d44d245e9eeb.tar.gz
samba-a2450e6fb3a2b53bdfc128b851f0d44d245e9eeb.tar.xz
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)
Diffstat (limited to 'source3/nmbd/nmbd_winsserver.c')
-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;
}