summaryrefslogtreecommitdiff
path: root/source4/nbt_server/register.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/nbt_server/register.c')
-rw-r--r--source4/nbt_server/register.c12
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);