From: Stefan Metzmacher Date: Thu, 18 May 2017 13:48:49 +0000 (+0200) Subject: s3:libnet_join: move kerberos_secrets_store_des_salt() out of libnet_join_derive_salt... X-Git-Tag: samba-4.5.13~69 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4765cb4cc4ebbaa009b0662e0a15932b8fe2654c;p=thirdparty%2Fsamba.git s3:libnet_join: move kerberos_secrets_store_des_salt() out of libnet_join_derive_salting_principal() We should separate the calculation and the storing steps. BUG: https://bugzilla.samba.org/show_bug.cgi?id=12782 Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider (cherry picked from commit 0c65d5f41023076fd201c3a179df77dd615cdb01) --- diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index 4d5c030ffb6..0150b7397a4 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -865,7 +865,7 @@ static bool libnet_join_derive_salting_principal(TALLOC_CTX *mem_ctx, } r->out.krb5_salt = salt; - return kerberos_secrets_store_des_salt(salt); + return true; } /**************************************************************** @@ -964,6 +964,17 @@ static ADS_STATUS libnet_join_post_processing_ads(TALLOC_CTX *mem_ctx, return ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL); } + if (r->out.krb5_salt != NULL) { + bool ok; + + ok = kerberos_secrets_store_des_salt(r->out.krb5_salt); + if (!ok) { + libnet_join_set_error_string(mem_ctx, r, + "failed to store krb5_salt"); + return ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL); + } + } + if (!libnet_join_create_keytab(mem_ctx, r)) { libnet_join_set_error_string(mem_ctx, r, "failed to create kerberos keytab");