summaryrefslogtreecommitdiff
path: root/source4/kdc
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2017-05-03 09:19:38 +0200
committerAndrew Bartlett <abartlet@samba.org>2017-05-26 11:26:17 +0200
commit330d82c1bc12a6247302ddcdd15c8326753e1436 (patch)
tree5b3c1c52b30779b22e2e2a923fca2b6706ba8c4d /source4/kdc
parentacec88dc1fa0f1df04f77c54d175c4d13b919a5f (diff)
downloadsamba-330d82c1bc12a6247302ddcdd15c8326753e1436.tar.gz
python: Create the kdc.conf in the Samba private directory
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/kdc')
-rw-r--r--source4/kdc/kdc-service-mit.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/source4/kdc/kdc-service-mit.c b/source4/kdc/kdc-service-mit.c
index 13d6f1f6e0a..7febf158a01 100644
--- a/source4/kdc/kdc-service-mit.c
+++ b/source4/kdc/kdc-service-mit.c
@@ -146,7 +146,7 @@ void mitkdc_task_init(struct task_server *task)
struct tevent_req *subreq;
const char * const *kdc_cmd;
struct interface *ifaces;
- const char *kdc_config;
+ char *kdc_config = NULL;
struct kdc_server *kdc;
krb5_error_code code;
NTSTATUS status;
@@ -183,11 +183,17 @@ void mitkdc_task_init(struct task_server *task)
return;
}
- kdc_config = lpcfg_mit_kdc_config(task->lp_ctx, task);
- if (kdc_config != NULL && kdc_config[0] != '\0') {
- /* Do not overwrite the variable if already set! */
- setenv("KRB5_KDC_PROFILE", kdc_config, 0);
+ kdc_config = talloc_asprintf(task,
+ "%s/kdc.conf",
+ lpcfg_private_dir(task->lp_ctx));
+ if (kdc_config == NULL) {
+ task_server_terminate(task,
+ "KDC: no memory",
+ false);
+ return;
}
+ setenv("KRB5_KDC_PROFILE", kdc_config, 0);
+ TALLOC_FREE(kdc_config);
/* start it as a child process */
kdc_cmd = lpcfg_mit_kdc_command(task->lp_ctx);