Added code to add the Samba names onto the remote_broadcast subnet,
authorJeremy Allison <jra@samba.org>
Mon, 8 Jun 1998 19:09:47 +0000 (19:09 +0000)
committerJeremy Allison <jra@samba.org>
Mon, 8 Jun 1998 19:09:47 +0000 (19:09 +0000)
as NT 4.x does directed broadcast node status requests for the *<0x0> name.
Jeremy.

source/nmbd/nmbd_mynames.c
source/nmbd/nmbd_namelistdb.c

index 92ea3ea1543204ed99e1ab8224c37031c10aa23a..2bb8f775d0a7e95af4d373701020b38afe31cc80 100644 (file)
@@ -64,8 +64,7 @@ Exiting.\n", global_myworkgroup, subrec->subnet_name));
       return False;
     }
 
-    /* Each subnet entry, except for the remote_announce_broadcast subnet
-       and the wins_server_subnet has the magic Samba names. */
+    /* Each subnet entry, except for the wins_server_subnet has the magic Samba names. */
     add_samba_names_to_subnet(subrec);
 
     /* Register all our names including aliases. */
@@ -135,6 +134,12 @@ Exiting.\n", global_myworkgroup, subrec->subnet_name));
     }
   }
 
+  /*
+   * We need to add the Samba names to the remote broadcast subnet,
+   * as NT 4.x does directed broadcast requests to the *<0x0> name.
+   */
+  add_samba_names_to_subnet(remote_broadcast_subnet);
+
   return True;
 }
 
@@ -185,8 +190,8 @@ void refresh_my_names(time_t t)
          */
         if(!is_refresh_already_queued( subrec, namerec))
           refresh_name(subrec, namerec, NULL, NULL, NULL);
-       namerec->death_time += lp_max_ttl();
-       namerec->refresh_time += lp_max_ttl();
+          namerec->death_time += lp_max_ttl();
+          namerec->refresh_time += lp_max_ttl();
       }
     }
   }
index 07d026e051ed089057dc2022765eea1cb71a5981..897505ca2be48c64ad45f4ed403efc568bb22553 100644 (file)
@@ -445,7 +445,8 @@ void add_samba_names_to_subnet(struct subnet_record *subrec)
   /* These names are added permanently (ttl of zero) and will NOT be
      refreshed.  */
 
-  if((subrec == unicast_subnet) || (subrec == wins_server_subnet))
+  if((subrec == unicast_subnet) || (subrec == wins_server_subnet) ||
+     (subrec == remote_broadcast_subnet) )
   {
     struct subnet_record *bcast_subrecs;
     int i;