summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/nmbd/nmbd_mynames.c13
-rw-r--r--source3/nmbd/nmbd_namelistdb.c3
2 files changed, 11 insertions, 5 deletions
diff --git a/source3/nmbd/nmbd_mynames.c b/source3/nmbd/nmbd_mynames.c
index 92ea3ea154..2bb8f775d0 100644
--- a/source3/nmbd/nmbd_mynames.c
+++ b/source3/nmbd/nmbd_mynames.c
@@ -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();
}
}
}
diff --git a/source3/nmbd/nmbd_namelistdb.c b/source3/nmbd/nmbd_namelistdb.c
index 07d026e051..897505ca2b 100644
--- a/source3/nmbd/nmbd_namelistdb.c
+++ b/source3/nmbd/nmbd_namelistdb.c
@@ -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;