1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-20 22:50:26 +03:00

namedbname.c: Added 'S' or 'R' flags to wins.dat to aid debugging. Forced all type 1e

names to be added as 255.255.255.255.
namedbsubnet.c:	Fixed bug I intruduced - register 1e name on WINS subnet also.
                (thanks to Luke for pointing this one out).
Jeremy (jallison@whistle.com)
(This used to be commit fbeaf146c0903f0939d1128af01cff8ea18a2546)
This commit is contained in:
Samba Release Account 1997-05-30 23:15:17 +00:00
parent 3ab97ebe6d
commit 5c4776f496
2 changed files with 23 additions and 9 deletions

View File

@ -249,7 +249,7 @@ void dump_names(void)
}
DEBUG(4,("\n"));
if (f && n->source == REGISTER)
if (f && ((n->source == REGISTER) || (n->source == SELF)))
{
/* XXXX i have little imagination as to how to output nb_flags as
anything other than as a hexadecimal number :-) */
@ -260,11 +260,11 @@ void dump_names(void)
for (i = 0; i < n->num_ips; i++)
{
fprintf(f, "%s %2x ",
inet_ntoa(n->ip_flgs[i].ip),
n->ip_flgs[i].nb_flags);
fprintf(f, "%s %2x%c ",
inet_ntoa(n->ip_flgs[i].ip),
n->ip_flgs[i].nb_flags, (n->source == REGISTER ? 'R' : 'S'));
}
fprintf(f, "\n");
fprintf(f, "\n");
}
}
@ -341,6 +341,17 @@ void load_netbios_names(void)
continue;
}
/* Deal with SELF or REGISTER name encoding. Default is REGISTER
for compatibility with old nmbds. */
if(nb_flags_str[strlen(nb_flags_str)-1] == 'S')
{
DEBUG(5,("Ignoring SELF name %s\n", line));
continue;
}
if(nb_flags_str[strlen(nb_flags_str)-1] == 'R')
nb_flags_str[strlen(nb_flags_str)-1] = '\0';
/* netbios name. # divides the name from the type (hex): netbios#xx */
strcpy(name,name_str);
@ -449,6 +460,12 @@ struct name_record *add_netbios_entry(struct subnet_record *d,
}
}
if(type == 0x1e)
{
/* Add all 1e names as address 255.255.255.255 */
ip = *interpret_addr2("255.255.255.255");
}
n = (struct name_record *)malloc(sizeof(*n));
if (!n) return(NULL);

View File

@ -211,14 +211,11 @@ void add_workgroup_to_subnet( struct subnet_record *d, char *group)
/* add WORKGROUP(00) entries into name database
or register with WINS server, if it's our workgroup.
Don't register WORKGROUP(0x1e) on the WINS subnet - this is a broadcast
only name.
*/
if (strequal(myworkgroup, group))
{
add_my_name_entry(d,group,0x0 ,nb_type|NB_ACTIVE|NB_GROUP,False);
if((d != wins_subnet))
add_my_name_entry(d,group,0x1e,nb_type|NB_ACTIVE|NB_GROUP,False);
add_my_name_entry(d,group,0x1e,nb_type|NB_ACTIVE|NB_GROUP,False);
/* add samba server name to workgroup list. */
add_server_entry(d,w,myname,w->ServerType,0,lp_serverstring(),True);
DEBUG(3,("add_workgroup_to_subnet: Added server name entry %s to subnet %s\n",