From 7204dc9708e5f5164dcd9b7cc3fcb2ea27dcd62e Mon Sep 17 00:00:00 2001 From: Kai Blin Date: Thu, 30 Aug 2012 09:04:07 +0200 Subject: s4 dns: Negotiate GSSAPI-based TKEYs Autobuild-User(master): Kai Blin Autobuild-Date(master): Fri Aug 31 10:38:35 CEST 2012 on sn-devel-104 --- source4/dns_server/dns_server.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'source4/dns_server/dns_server.c') diff --git a/source4/dns_server/dns_server.c b/source4/dns_server/dns_server.c index 3592258a8b..70fb6a262d 100644 --- a/source4/dns_server/dns_server.c +++ b/source4/dns_server/dns_server.c @@ -43,6 +43,8 @@ #include "auth/session.h" #include "lib/util/dlinklist.h" #include "lib/util/tevent_werror.h" +#include "auth/auth.h" +#include "auth/credentials/credentials.h" NTSTATUS server_service_dns_init(void); @@ -720,6 +722,22 @@ static void dns_task_init(struct task_server *task) dns->task = task; + dns->server_credentials = cli_credentials_init(dns); + if (!dns->server_credentials) { + task_server_terminate(task, "Failed to init server credentials\n", true); + return; + } + + cli_credentials_set_conf(dns->server_credentials, task->lp_ctx); + status = cli_credentials_set_machine_account(dns->server_credentials, task->lp_ctx); + if (!NT_STATUS_IS_OK(status)) { + task_server_terminate(task, + talloc_asprintf(task, "Failed to obtain server credentials, perhaps a standalone server?: %s\n", + nt_errstr(status)), + true); + return; + } + dns->samdb = samdb_connect(dns, dns->task->event_ctx, dns->task->lp_ctx, system_session(dns->task->lp_ctx), 0); if (!dns->samdb) { -- cgit