1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

s4:kpasswd: Restructure code for clarity

View with 'git show -b'.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
Joseph Sutton 2022-05-18 17:11:49 +12:00 committed by Jule Anger
parent ce3b7b27a3
commit d6580f3572

View File

@ -159,30 +159,7 @@ static krb5_error_code kpasswd_set_password(struct kdc_server *kdc,
return 0;
}
if (chpw.targname != NULL && chpw.targrealm != NULL) {
code = krb5_build_principal_ext(context,
&target_principal,
strlen(*chpw.targrealm),
*chpw.targrealm,
0);
if (code != 0) {
free_ChangePasswdDataMS(&chpw);
return kpasswd_make_error_reply(mem_ctx,
KRB5_KPASSWD_MALFORMED,
"Failed to parse principal",
kpasswd_reply);
}
code = copy_PrincipalName(chpw.targname,
&target_principal->name);
if (code != 0) {
free_ChangePasswdDataMS(&chpw);
krb5_free_principal(context, target_principal);
return kpasswd_make_error_reply(mem_ctx,
KRB5_KPASSWD_MALFORMED,
"Failed to parse principal",
kpasswd_reply);
}
} else {
if (chpw.targname == NULL || chpw.targrealm == NULL) {
free_ChangePasswdDataMS(&chpw);
return kpasswd_change_password(kdc,
mem_ctx,
@ -192,7 +169,28 @@ static krb5_error_code kpasswd_set_password(struct kdc_server *kdc,
kpasswd_reply,
error_string);
}
code = krb5_build_principal_ext(context,
&target_principal,
strlen(*chpw.targrealm),
*chpw.targrealm,
0);
if (code != 0) {
free_ChangePasswdDataMS(&chpw);
return kpasswd_make_error_reply(mem_ctx,
KRB5_KPASSWD_MALFORMED,
"Failed to parse principal",
kpasswd_reply);
}
code = copy_PrincipalName(chpw.targname,
&target_principal->name);
free_ChangePasswdDataMS(&chpw);
if (code != 0) {
krb5_free_principal(context, target_principal);
return kpasswd_make_error_reply(mem_ctx,
KRB5_KPASSWD_MALFORMED,
"Failed to parse principal",
kpasswd_reply);
}
if (target_principal->name.name_string.len >= 2) {
is_service_principal = true;