aboutsummaryrefslogtreecommitdiff
path: root/src/kdc/kdc_preauth.c
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2009-04-03 04:03:45 +0000
committerSam Hartman <hartmans@mit.edu>2009-04-03 04:03:45 +0000
commit4e609bf313a80dbc2247a73d1303b2068eec9acd (patch)
tree9ac56fbff02569ca272eff8d98227b3efbe92f39 /src/kdc/kdc_preauth.c
parent6d48a7deaeed3dcb5dce55d8e9730c47512a904e (diff)
downloadkrb5-4e609bf313a80dbc2247a73d1303b2068eec9acd.zip
krb5-4e609bf313a80dbc2247a73d1303b2068eec9acd.tar.gz
krb5-4e609bf313a80dbc2247a73d1303b2068eec9acd.tar.bz2
Merge fast branch at 22166 onto trunk
ticket: 6436 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22167 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kdc/kdc_preauth.c')
-rw-r--r--src/kdc/kdc_preauth.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/kdc/kdc_preauth.c b/src/kdc/kdc_preauth.c
index cf26975..3dda381 100644
--- a/src/kdc/kdc_preauth.c
+++ b/src/kdc/kdc_preauth.c
@@ -290,6 +290,17 @@ static krb5_preauth_systems static_preauth_systems[] = {
0
},
{
+ "FAST",
+ KRB5_PADATA_FX_FAST,
+ PA_HARDWARE,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ 0
+ },
+ {
"etype-info",
KRB5_PADATA_ETYPE_INFO,
0,
@@ -961,7 +972,8 @@ void get_preauth_hint_list(krb5_kdc_req *request, krb5_db_entry *client,
e_data->data = 0;
hw_only = isflagset(client->attributes, KRB5_KDB_REQUIRES_HW_AUTH);
- pa_data = malloc(sizeof(krb5_pa_data *) * (n_preauth_systems+1));
+ /* Allocate 1 entry for the terminator and one for the cookie*/
+ pa_data = malloc(sizeof(krb5_pa_data *) * (n_preauth_systems+21));
if (pa_data == 0)
return;
memset(pa_data, 0, sizeof(krb5_pa_data *) * (n_preauth_systems+1));
@@ -995,6 +1007,8 @@ void get_preauth_hint_list(krb5_kdc_req *request, krb5_db_entry *client,
"%spreauth required but hint list is empty",
hw_only ? "hw" : "");
}
+/* If we fail to get the cookie it is probably still reasonable to continue with the response*/
+ kdc_preauth_get_cookie(request->kdc_state, pa);
retval = encode_krb5_padata_sequence(pa_data, &edat);
if (retval)
goto errout;