From 0c65d5f41023076fd201c3a179df77dd615cdb01 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 18 May 2017 15:48:49 +0200 Subject: [PATCH] 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 --- source3/libnet/libnet_join.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index a5e863a4c7a..780c26c78e1 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"); -- 2.34.1