From 40e035eb8049e09bd7555ceded018a8f1b291e88 Mon Sep 17 00:00:00 2001 From: Nathaniel McCallum Date: Fri, 12 Oct 2012 10:34:19 -0400 Subject: [PATCH] Add responder support to preauth_encts/preauth_ec --- src/lib/krb5/krb/preauth_ec.c | 12 ++++++++++++ src/lib/krb5/krb/preauth_encts.c | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/lib/krb5/krb/preauth_ec.c b/src/lib/krb5/krb/preauth_ec.c index 48a4a17bf4..2e0785a502 100644 --- a/src/lib/krb5/krb/preauth_ec.c +++ b/src/lib/krb5/krb/preauth_ec.c @@ -39,6 +39,17 @@ ec_flags(krb5_context context, krb5_preauthtype pa_type) return PA_REAL; } +static krb5_error_code +ec_prep_questions(krb5_context context, krb5_clpreauth_moddata moddata, + krb5_clpreauth_modreq modreq, krb5_get_init_creds_opt *opt, + krb5_clpreauth_callbacks cb, krb5_clpreauth_rock rock, + krb5_kdc_req *request, krb5_data *encoded_request_body, + krb5_data *encoded_previous_request, krb5_pa_data *pa_data) +{ + cb->need_as_key(context, rock); + return 0; +} + static krb5_error_code ec_process(krb5_context context, krb5_clpreauth_moddata moddata, krb5_clpreauth_modreq modreq, krb5_get_init_creds_opt *opt, @@ -156,6 +167,7 @@ clpreauth_encrypted_challenge_initvt(krb5_context context, int maj_ver, vt->name = "encrypted_challenge"; vt->pa_type_list = ec_types; vt->flags = ec_flags; + vt->prep_questions = ec_prep_questions; vt->process = ec_process; return 0; } diff --git a/src/lib/krb5/krb/preauth_encts.c b/src/lib/krb5/krb/preauth_encts.c index 559c6700f9..f42710e215 100644 --- a/src/lib/krb5/krb/preauth_encts.c +++ b/src/lib/krb5/krb/preauth_encts.c @@ -35,6 +35,19 @@ encts_flags(krb5_context context, krb5_preauthtype pa_type) return PA_REAL; } +static krb5_error_code +encts_prep_questions(krb5_context context, krb5_clpreauth_moddata moddata, + krb5_clpreauth_modreq modreq, + krb5_get_init_creds_opt *opt, krb5_clpreauth_callbacks cb, + krb5_clpreauth_rock rock, krb5_kdc_req *request, + krb5_data *encoded_request_body, + krb5_data *encoded_previous_request, + krb5_pa_data *pa_data) +{ + cb->need_as_key(context, rock); + return 0; +} + static krb5_error_code encts_process(krb5_context context, krb5_clpreauth_moddata moddata, krb5_clpreauth_modreq modreq, krb5_get_init_creds_opt *opt, @@ -125,6 +138,7 @@ clpreauth_encrypted_timestamp_initvt(krb5_context context, int maj_ver, vt->name = "encrypted_timestamp"; vt->pa_type_list = encts_pa_types; vt->flags = encts_flags; + vt->prep_questions = encts_prep_questions; vt->process = encts_process; return 0; } -- 2.47.2