s4:dns_server: Check return code of cli_credentials_set_conf()
authorAndreas Schneider <asn@samba.org>
Tue, 22 Jun 2021 07:46:14 +0000 (09:46 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 29 Jun 2021 02:19:35 +0000 (02:19 +0000)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/dns_server/dns_server.c

index f9b14ed49dbbfd99e335bb8873900c4f2d09bd0f..cc3387904feec60252fbc7efe24df766bdb1ecbf 100644 (file)
@@ -800,6 +800,7 @@ static NTSTATUS dns_task_init(struct task_server *task)
        struct ldb_message *dns_acc;
        char *hostname_lower;
        char *dns_spn;
+       bool ok;
 
        switch (lpcfg_server_role(task->lp_ctx)) {
        case ROLE_STANDALONE:
@@ -849,7 +850,13 @@ static NTSTATUS dns_task_init(struct task_server *task)
                return NT_STATUS_UNSUCCESSFUL;
        }
 
-       cli_credentials_set_conf(dns->server_credentials, task->lp_ctx);
+       ok = cli_credentials_set_conf(dns->server_credentials, task->lp_ctx);
+       if (!ok) {
+               task_server_terminate(task,
+                                     "dns: failed to load smb.conf",
+                                     true);
+               return NT_STATUS_UNSUCCESSFUL;
+       }
 
        hostname_lower = strlower_talloc(dns, lpcfg_netbios_name(task->lp_ctx));
        dns_spn = talloc_asprintf(dns, "DNS/%s.%s",