summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2012-10-18 13:11:28 -0400
committerGreg Hudson <ghudson@mit.edu>2012-10-18 13:12:10 -0400
commit787cc1e24117e57a9173aaaa16935f6488eb3fec (patch)
tree58bdc3ceb815700a70b7f18a78efee4b6bdb3ca1 /src/lib
parent7fc77a9e876faed0fc530e880ccd9292c91bc383 (diff)
downloadkrb5-787cc1e24117e57a9173aaaa16935f6488eb3fec.tar.gz
krb5-787cc1e24117e57a9173aaaa16935f6488eb3fec.tar.xz
krb5-787cc1e24117e57a9173aaaa16935f6488eb3fec.zip
Fix sam2 client preauth after salt changes
Commit bc096a77ffdab283d77c2e0fc1fdd15b9f77eb41 altered the internal contracts relating to salts, but neglected to adjust the sam2 preauth code to match. Do that now. ticket: 7415 (new) target_version: 1.11 tags: pullup
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/krb/preauth_sam2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/krb5/krb/preauth_sam2.c b/src/lib/krb5/krb/preauth_sam2.c
index a5f639597..22802074a 100644
--- a/src/lib/krb5/krb/preauth_sam2.c
+++ b/src/lib/krb5/krb/preauth_sam2.c
@@ -153,6 +153,7 @@ sam2_process(krb5_context context, krb5_clpreauth_moddata moddata,
/* Go ahead and get it now, preserving the ordering of */
/* prompts for the user. */
+ salt = (*rock->default_salt) ? NULL : rock->salt;
retval = (*rock->gak_fct)(context, request->client, sc2b->sam_etype,
prompter, prompter_data, rock->salt,
rock->s2kparams, rock->as_key,
@@ -199,8 +200,7 @@ sam2_process(krb5_context context, krb5_clpreauth_moddata moddata,
krb5int_set_prompt_types(context, (krb5_prompt_type *)NULL);
/* Generate salt used by string_to_key() */
- salt = rock->salt;
- if (((int) salt->length == -1) && (salt->data == NULL)) {
+ if (*rock->default_salt) {
if ((retval =
krb5_principal2salt(context, request->client, &defsalt))) {
krb5_free_sam_challenge_2(context, sc2);
@@ -209,6 +209,7 @@ sam2_process(krb5_context context, krb5_clpreauth_moddata moddata,
}
salt = &defsalt;
} else {
+ salt = rock->salt;
defsalt.length = 0;
}