From: Theodore Tso Date: Wed, 11 Oct 1995 02:17:04 +0000 (+0000) Subject: kdc_preauth.c (get_preauth_hint_list): Fix missing indirection in X-Git-Tag: krb5-1.0-beta6~908 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=02273bd219c9c91e312b7d6735d3e9a9484c7329;p=krb5.git kdc_preauth.c (get_preauth_hint_list): Fix missing indirection in get_hint_list. kdc_util.c (validate_as_request): Remove preauthentication check; this is handled in do_as_req.c do_as_req.c (process_as_request): Pass e_data to prepare_as_error so that the proper preauthentication hint list can be passed back to the client. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6960 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/kdc/ChangeLog b/src/kdc/ChangeLog index 423e72836..741224227 100644 --- a/src/kdc/ChangeLog +++ b/src/kdc/ChangeLog @@ -1,11 +1,19 @@ Fri Oct 6 00:07:49 1995 Theodore Y. Ts'o + * kdc_preauth.c (get_preauth_hint_list): Fix missing indirection + in get_hint_list. + + * kdc_util.c (validate_as_request): Remove preauthentication + check; this is handled in do_as_req.c + * do_tgs_req.c (process_tgs_req): Use a slightly more compressed logging format. * do_as_req.c (process_as_req): Unify the logging and error packet production, to make sure that both logging and an error - packet is returned for each error condition. + packet is returned for each error condition. Pass + e_data to prepare_as_error so that the proper + preauthentication hint list can be passed back to the client. Thu Oct 5 21:23:12 1995 Theodore Y. Ts'o diff --git a/src/kdc/do_as_req.c b/src/kdc/do_as_req.c index 466d3211e..eef36e763 100644 --- a/src/kdc/do_as_req.c +++ b/src/kdc/do_as_req.c @@ -532,7 +532,7 @@ errout: if (errcode < 0 || errcode > 128) errcode = KRB_ERR_GENERIC; - errcode = prepare_error_as(request, errcode, 0, response); + errcode = prepare_error_as(request, errcode, &e_data, response); } if (cname) free(cname); diff --git a/src/kdc/kdc_preauth.c b/src/kdc/kdc_preauth.c index f9ce46597..dab3d7913 100644 --- a/src/kdc/kdc_preauth.c +++ b/src/kdc/kdc_preauth.c @@ -123,7 +123,7 @@ void get_preauth_hint_list(client, server, e_data) *pa = malloc(sizeof(krb5_pa_data)); if (*pa == 0) goto errout; - memset(pa, 0, sizeof(krb5_pa_data)); + memset(*pa, 0, sizeof(krb5_pa_data)); (*pa)->magic = KV5M_PA_DATA; (*pa)->pa_type = ap->type; if (ap->get_edata) diff --git a/src/kdc/kdc_util.c b/src/kdc/kdc_util.c index 4291bb744..32f398354 100644 --- a/src/kdc/kdc_util.c +++ b/src/kdc/kdc_util.c @@ -810,17 +810,6 @@ const char **status; return(KDC_ERR_S_PRINCIPAL_UNKNOWN); } - /* Check to see if preauthentication is required */ - if (isflagset(client.attributes, KRB5_KDB_REQUIRES_PRE_AUTH) && - !request->padata) { - *status = "MISSING PRE_AUTH"; -#ifdef KRBCONF_VAGUE_ERRORS - return KRB_ERR_GENERIC; -#else - return KDC_ERR_PREAUTH_REQUIRED; -#endif - } - /* * Check against local policy */