diff options
-rw-r--r-- | source3/nmbd/nmbd_mynames.c | 13 | ||||
-rw-r--r-- | source3/nmbd/nmbd_namelistdb.c | 3 |
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; |