]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
I looked at the refresh issue a bit more and discovered that Samba
authorAndrew Tridgell <tridge@samba.org>
Mon, 31 Aug 1998 09:38:50 +0000 (09:38 +0000)
committerAndrew Tridgell <tridge@samba.org>
Mon, 31 Aug 1998 09:38:50 +0000 (09:38 +0000)
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.

source/nmbd/nmbd_winsserver.c

index 2fcc95e1d69e8b4ab42b79c848d8382705c35a0a..48d27f7bae96d35a78ab13c2c967debcb52ece3b 100644 (file)
@@ -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;
   }