diff options
Diffstat (limited to 'source4/nbt_server/register.c')
-rw-r--r-- | source4/nbt_server/register.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/nbt_server/register.c b/source4/nbt_server/register.c index bec316cdea..cd39ef4769 100644 --- a/source4/nbt_server/register.c +++ b/source4/nbt_server/register.c @@ -27,6 +27,7 @@ #include "smbd/service_task.h" #include "libcli/raw/libcliraw.h" #include "libcli/composite/composite.h" +#include "librpc/gen_ndr/ndr_samr.h" static void nbtd_start_refresh_timer(struct nbtd_iface_name *iname); @@ -264,6 +265,17 @@ void nbtd_register_names(struct nbtd_server *nbtsrv) aliases++; } + switch (lp_server_role()) { + case ROLE_DOMAIN_PDC: + nbtd_register_name(nbtsrv, lp_workgroup(), NBT_NAME_PDC, nb_flags); + nbtd_register_name(nbtsrv, lp_workgroup(), NBT_NAME_LOGON, nb_flags); + break; + case ROLE_DOMAIN_BDC: + nbtd_register_name(nbtsrv, lp_workgroup(), NBT_NAME_LOGON, nb_flags); + default: + break; + } + nb_flags |= NBT_NM_GROUP; nbtd_register_name(nbtsrv, lp_workgroup(), NBT_NAME_CLIENT, nb_flags); |