From b0928a2687a9ffe92ebdce7b5252781d62e7e02d Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 19 May 2017 17:08:24 +0200 Subject: [PATCH] s3:libads: make use of kerberos_secrets_fetch_salt_princ() in ads_keytab_add_entry() BUG: https://bugzilla.samba.org/show_bug.cgi?id=12782 Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider --- source3/libads/kerberos_keytab.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c index 96df10fcf65..ff12ec04af6 100644 --- a/source3/libads/kerberos_keytab.c +++ b/source3/libads/kerberos_keytab.c @@ -237,10 +237,14 @@ int ads_keytab_add_entry(ADS_STRUCT *ads, const char *srvPrinc) goto out; } + salt_princ_s = kerberos_secrets_fetch_salt_princ(); + if (salt_princ_s == NULL) { + DBG_WARNING("kerberos_secrets_fetch_salt_princ() failed\n"); + ret = -1; + goto out; + } + for (i = 0; enctypes[i]; i++) { - salt_princ_s = kerberos_fetch_salt_princ_for_host_princ(context, - princ_s, - enctypes[i]); /* add the fqdn principal to the keytab */ ret = smb_krb5_kt_add_entry(context, @@ -254,7 +258,6 @@ int ads_keytab_add_entry(ADS_STRUCT *ads, const char *srvPrinc) false); if (ret) { DEBUG(1, (__location__ ": Failed to add entry to keytab\n")); - SAFE_FREE(salt_princ_s); goto out; } @@ -272,14 +275,13 @@ int ads_keytab_add_entry(ADS_STRUCT *ads, const char *srvPrinc) if (ret) { DEBUG(1, (__location__ ": Failed to add short entry to keytab\n")); - SAFE_FREE(salt_princ_s); goto out; } } - SAFE_FREE(salt_princ_s); } out: + SAFE_FREE(salt_princ_s); TALLOC_FREE(tmpctx); if (keytab) { -- 2.11.4.GIT