summaryrefslogtreecommitdiffstats
path: root/source3/nmbd
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
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')
-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 2fcc95e1d69..48d27f7bae9 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;
}