diff --git a/source/cldap_server/netlogon.c b/source/cldap_server/netlogon.c index f263f33..12b69ce 100644 --- a/source/cldap_server/netlogon.c +++ b/source/cldap_server/netlogon.c @@ -256,7 +256,11 @@ NTSTATUS fill_netlogon_samlogon_response(struct ldb_context *sam_ctx, server_type = NBT_SERVER_DS | NBT_SERVER_TIMESERV | NBT_SERVER_CLOSEST | NBT_SERVER_WRITABLE | - NBT_SERVER_GOOD_TIMESERV; + NBT_SERVER_GOOD_TIMESERV | NBT_SERVER_DS_DNS_CONTR; + + /* FIXME: SAMBA 4 is always a default NC and the forest root */ + server_type |= + NBT_SERVER_DS_DNS_DOMAIN | NBT_SERVER_DS_DNS_FOREST; if (samdb_is_pdc(sam_ctx)) { server_type |= NBT_SERVER_PDC; @@ -285,6 +289,7 @@ NTSTATUS fill_netlogon_samlogon_response(struct ldb_context *sam_ctx, flatname = samdb_result_string(ref_res->msgs[0], "nETBIOSName", lp_workgroup(lp_ctx)); + /* FIXME: Hardcoded site names */ server_site = "Default-First-Site-Name"; client_site = "Default-First-Site-Name"; load_interfaces(mem_ctx, lp_interfaces(lp_ctx), &ifaces); diff --git a/source/librpc/idl/nbt.idl b/source/librpc/idl/nbt.idl index a6d0245..63be489 100644 --- a/source/librpc/idl/nbt.idl +++ b/source/librpc/idl/nbt.idl @@ -353,7 +353,13 @@ interface nbt NBT_SERVER_TIMESERV = 0x00000040, NBT_SERVER_CLOSEST = 0x00000080, NBT_SERVER_WRITABLE = 0x00000100, - NBT_SERVER_GOOD_TIMESERV = 0x00000200 + NBT_SERVER_GOOD_TIMESERV = 0x00000200, + NBT_SERVER_NDNC = 0x00000400, + NBT_SERVER_SEL_SEC_DOM_6 = 0x00000800, + NBT_SERVER_FUL_SEC_DOM_6 = 0x00001000, + NBT_SERVER_DS_DNS_CONTR = 0x04000000, + NBT_SERVER_DS_DNS_DOMAIN = 0x02000000, + NBT_SERVER_DS_DNS_FOREST = 0x01000000 } nbt_server_type; typedef [bitmap32bit,public] bitmap {