From: Amitay Isaacs Date: Wed, 7 Dec 2011 22:28:45 +0000 (+1100) Subject: s4-cldap: Set DS_DNS_CONTROLLER bit if we are running RPC dnsserver X-Git-Tag: tevent-0.9.15~850 X-Git-Url: http://git.samba.org/samba.git/?p=samba.git;a=commitdiff_plain;h=f02e4ebfafa6e5911e3fe744b1780527ab12c970 s4-cldap: Set DS_DNS_CONTROLLER bit if we are running RPC dnsserver Till we have internal DNS server which appears in services, use endpoint services to find out if we are running dns server. --- diff --git a/source4/cldap_server/netlogon.c b/source4/cldap_server/netlogon.c index 9d9f45e8bb0..e9ec0745f41 100644 --- a/source4/cldap_server/netlogon.c +++ b/source4/cldap_server/netlogon.c @@ -61,6 +61,7 @@ NTSTATUS fill_netlogon_samlogon_response(struct ldb_context *sam_ctx, struct ldb_result *dom_res = NULL, *user_res = NULL; int ret; const char **services = lpcfg_server_services(lp_ctx); + const char **rpc_services = lpcfg_dcerpc_endpoint_servers(lp_ctx); uint32_t server_type; const char *pdc_name; struct GUID domain_uuid; @@ -246,6 +247,10 @@ NTSTATUS fill_netlogon_samlogon_response(struct ldb_context *sam_ctx, server_type |= DS_SERVER_KDC; } + if (str_list_check(rpc_services, "dnsserver")) { + server_type |= DS_DNS_CONTROLLER; + } + if (samdb_rodc(sam_ctx, &am_rodc) == LDB_SUCCESS && !am_rodc) { server_type |= DS_SERVER_WRITABLE; }