aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2009-12-02 16:16:32 +0000
committerSam Hartman <hartmans@mit.edu>2009-12-02 16:16:32 +0000
commitf81712c8a213eac5dd8d081052b3252c818c1c22 (patch)
tree151a4fbc87a11c10e82d367cb6a0e013f70c8557
parent919d330f504f014f64ea418337cc5d04965dbfd3 (diff)
downloadkrb5-f81712c8a213eac5dd8d081052b3252c818c1c22.zip
krb5-f81712c8a213eac5dd8d081052b3252c818c1c22.tar.gz
krb5-f81712c8a213eac5dd8d081052b3252c818c1c22.tar.bz2
Store configuration information about whether FAST is available in the ccache based on FAST negotiation
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/fast-negotiate@23416 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/include/k5-int.h2
-rw-r--r--src/lib/krb5/krb/fast.c7
-rw-r--r--src/lib/krb5/krb/fast.h3
3 files changed, 8 insertions, 4 deletions
diff --git a/src/include/k5-int.h b/src/include/k5-int.h
index 533cb8b..f178991 100644
--- a/src/include/k5-int.h
+++ b/src/include/k5-int.h
@@ -257,6 +257,8 @@ typedef INT64_TYPE krb5_int64;
#define KRB5_CONF_V4_INSTANCE_CONVERT "v4_instance_convert"
#define KRB5_CONF_V4_REALM "v4_realm"
#define KRB5_CONF_ASTERISK "*"
+#define KRB5_CCCONF_FAST_AVAIL "fast_avail"
+
/* Error codes used in KRB_ERROR protocol messages.
Return values of library routines are based on a different error table
diff --git a/src/lib/krb5/krb/fast.c b/src/lib/krb5/krb/fast.c
index d6fd0c7..2010a61 100644
--- a/src/lib/krb5/krb/fast.c
+++ b/src/lib/krb5/krb/fast.c
@@ -533,7 +533,7 @@ krb5int_find_pa_data(krb5_context context, krb5_pa_data *const *padata,
krb5_error_code krb5int_fast_verify_nego
(krb5_context context, struct krb5int_fast_request_state *state,
krb5_kdc_rep *rep, krb5_data *request,
- krb5_keyblock *decrypting_key)
+ krb5_keyblock *decrypting_key, krb5_boolean *fast_avail)
{
krb5_error_code retval = 0;
krb5_checksum *checksum = NULL;
@@ -559,8 +559,9 @@ krb5_error_code krb5int_fast_verify_nego
if (retval == 0) {
pa = krb5int_find_pa_data(context, rep->enc_part2->enc_padata,
KRB5_PADATA_FX_FAST);
- /*if (pa)
- printf("FAST enabled on KDC\n");*/
+ if (pa)
+ *fast_avail = 1;
+ else *fast_avail = 0;
}
}
if (checksum)
diff --git a/src/lib/krb5/krb/fast.h b/src/lib/krb5/krb/fast.h
index 3f03ae7..74b4136 100644
--- a/src/lib/krb5/krb/fast.h
+++ b/src/lib/krb5/krb/fast.h
@@ -82,7 +82,8 @@ krb5_error_code krb5int_fast_reply_key(krb5_context context,
krb5_error_code krb5int_fast_verify_nego
(krb5_context context, struct krb5int_fast_request_state *state,
krb5_kdc_rep *rep, krb5_data *request,
- krb5_keyblock *decrypting_key);
+ krb5_keyblock *decrypting_key, krb5_boolean *fast_avail);
+