diff options
author | Andreas Schneider <asn@samba.org> | 2017-05-03 09:19:38 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2017-05-26 11:26:17 +0200 |
commit | 330d82c1bc12a6247302ddcdd15c8326753e1436 (patch) | |
tree | 5b3c1c52b30779b22e2e2a923fca2b6706ba8c4d /source4/kdc | |
parent | acec88dc1fa0f1df04f77c54d175c4d13b919a5f (diff) | |
download | samba-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.c | 16 |
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); |