From: Garming Sam Date: Wed, 7 Sep 2016 00:18:29 +0000 (+1200) Subject: s4-auth: Don't check for NULL saltPrincipal if it doesn't need it X-Git-Tag: ldb-1.1.28~10 X-Git-Url: http://git.samba.org/samba.git/?p=nivanova%2Fsamba-autobuild%2F.git;a=commitdiff_plain;h=b02da114980d46e9e251a5d3dfbf549ef348548a s4-auth: Don't check for NULL saltPrincipal if it doesn't need it This check causes 4.1 domains to be unable to change their DNS backend correctly as they do not have the saltPrincipal value stored. BUG: https://bugzilla.samba.org/show_bug.cgi?id=10882 Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett --- diff --git a/source4/auth/kerberos/srv_keytab.c b/source4/auth/kerberos/srv_keytab.c index 6e02b8184ce..6f0073c04bd 100644 --- a/source4/auth/kerberos/srv_keytab.c +++ b/source4/auth/kerberos/srv_keytab.c @@ -218,12 +218,6 @@ krb5_error_code smb_krb5_update_keytab(TALLOC_CTX *parent_ctx, return ENOENT; } - if (saltPrincipal == NULL) { - *perror_string = talloc_strdup(parent_ctx, - "No saltPrincipal provided"); - return EINVAL; - } - ret = krb5_kt_resolve(context, keytab_name, &keytab); if (ret) { *perror_string = smb_get_krb5_error_message(context, @@ -283,6 +277,12 @@ krb5_error_code smb_krb5_update_keytab(TALLOC_CTX *parent_ctx, /* Create a new keytab. If during the cleanout we found * entires for kvno -1, then don't try and duplicate them. * Otherwise, add kvno, and kvno -1 */ + if (saltPrincipal == NULL) { + *perror_string = talloc_strdup(parent_ctx, + "No saltPrincipal provided"); + ret = EINVAL; + goto done; + } ret = create_keytab(tmp_ctx, samAccountName, upper_realm, saltPrincipal,