diff options
author | Andrew Tridgell <tridge@samba.org> | 1998-08-31 09:38:50 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1998-08-31 09:38:50 +0000 |
commit | a2450e6fb3a2b53bdfc128b851f0d44d245e9eeb (patch) | |
tree | 36054e309ed028cbb67c19800c2c5cca58f11ce6 /source3/nmbd | |
parent | 5e20600e54a275d39e79f4547cb55c5946c14117 (diff) | |
download | samba-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.c | 7 |
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; } |