summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2016-09-07 12:18:29 +1200
committerGarming Sam <garming@samba.org>2016-11-22 02:10:16 +0100
commitb02da114980d46e9e251a5d3dfbf549ef348548a (patch)
tree26ce8c6da8fb429f648c1474aba0a9769c96e745
parent44d209c893d28030cb9928b974c8aa31348ac395 (diff)
downloadsamba-b02da114980d46e9e251a5d3dfbf549ef348548a.tar.gz
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 <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r--source4/auth/kerberos/srv_keytab.c12
1 files changed, 6 insertions, 6 deletions
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,