s4:cldap_server: only return DS_SERVER_*TIMESERV if "ntp_signd" is used
authorStefan Metzmacher <metze@samba.org>
Thu, 16 Aug 2012 11:32:14 +0000 (13:32 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 16 Aug 2012 21:13:07 +0000 (23:13 +0200)
metze

source4/cldap_server/netlogon.c

index f5703d3f3239346085d7ce33ba013d70b94046ad..ce257e9e1aea2a16e0048579fa864c254a1ace72 100644 (file)
@@ -221,10 +221,8 @@ NTSTATUS fill_netlogon_samlogon_response(struct ldb_context *sam_ctx,
        } else {
                user_known = true;
        }
-               
-       server_type      = 
-               DS_SERVER_DS | DS_SERVER_TIMESERV |
-               DS_SERVER_GOOD_TIMESERV;
+
+       server_type = DS_SERVER_DS;
 
        if (samdb_is_pdc(sam_ctx)) {
                server_type |= DS_SERVER_PDC;
@@ -242,6 +240,10 @@ NTSTATUS fill_netlogon_samlogon_response(struct ldb_context *sam_ctx,
                server_type |= DS_SERVER_KDC;
        }
 
+       if (str_list_check(services, "ntp_signd")) {
+               server_type | DS_SERVER_TIMESERV | DS_SERVER_GOOD_TIMESERV;
+       }
+
        if (samdb_rodc(sam_ctx, &am_rodc) == LDB_SUCCESS && !am_rodc) {
                server_type |= DS_SERVER_WRITABLE;
        }