summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2000-02-07 10:22:58 +0000
committerKen Raeburn <raeburn@mit.edu>2000-02-07 10:22:58 +0000
commitd47a694b385d8daa810b20d8801b60be8b623b85 (patch)
tree68e7609c7680cedff80bd24e78659da07c295576
parentef44719127fadfd95dbc2ce2a12b3d3c02d8efbd (diff)
downloadkrb5-d47a694b385d8daa810b20d8801b60be8b623b85.tar.gz
krb5-d47a694b385d8daa810b20d8801b60be8b623b85.tar.xz
krb5-d47a694b385d8daa810b20d8801b60be8b623b85.zip
* kdc_preauth.c (get_preauth_hint_list): Log a message if preauth is required
but no preauth types are available. (return_sam_data): Fix typo in figuring length of data to XOR when merging keys. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12011 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/kdc/ChangeLog7
-rw-r--r--src/kdc/kdc_preauth.c14
2 files changed, 20 insertions, 1 deletions
diff --git a/src/kdc/ChangeLog b/src/kdc/ChangeLog
index 0e85c758d..25b02d12f 100644
--- a/src/kdc/ChangeLog
+++ b/src/kdc/ChangeLog
@@ -1,3 +1,10 @@
+2000-02-07 Ken Raeburn <raeburn@raeburn.org>
+
+ * kdc_preauth.c (get_preauth_hint_list): Log a message if preauth
+ is required but no preauth types are available.
+ (return_sam_data): Fix typo in figuring length of data to XOR when
+ merging keys.
+
2000-02-06 Ken Raeburn <raeburn@mit.edu>
* kdc_preauth.c: Include <syslog.h>.
diff --git a/src/kdc/kdc_preauth.c b/src/kdc/kdc_preauth.c
index 12e1eec6c..27b4f846b 100644
--- a/src/kdc/kdc_preauth.c
+++ b/src/kdc/kdc_preauth.c
@@ -270,6 +270,11 @@ void get_preauth_hint_list(request, client, server, e_data)
}
pa++;
}
+ if (pa_data[0] == 0) {
+ krb5_klog_syslog (LOG_INFO,
+ "%spreauth required but hint list is empty",
+ hw_only ? "hw" : "");
+ }
retval = encode_krb5_padata_sequence((const krb5_pa_data **) pa_data,
&edat);
if (retval)
@@ -759,8 +764,11 @@ return_sam_data(context, in_padata, client, request, reply, client_key,
{
krb5_octet *p = encrypting_key->contents;
krb5_octet *q = psr->sam_key.contents;
+ int length = ((encrypting_key->length < psr->sam_key.length)
+ ? encrypting_key->length
+ : psr->sam_key.length);
- for (i = 0; i < encrypting_key->length, i < psr->sam_key.length; i++)
+ for (i = 0; i < length; i++)
p[i] ^= q[i];
}
@@ -939,6 +947,10 @@ get_sam_edata(context, request, client, server, pa_data)
sc.sam_challenge.data = "12345";
sc.sam_challenge.length = strlen(sc.sam_challenge.data);
+#if 0 /* Enable this to test "normal" (no flags set) mode. */
+ psr.sam_flags = sc.sam_flags = 0;
+#endif
+
psr.magic = KV5M_PREDICTED_SAM_RESPONSE;
/* string2key on sc.sam_challenge goes in here */
/* eblock is just to set the enctype */