diff options
| author | Theodore Tso <tytso@mit.edu> | 1995-10-11 02:17:04 +0000 |
|---|---|---|
| committer | Theodore Tso <tytso@mit.edu> | 1995-10-11 02:17:04 +0000 |
| commit | 02273bd219c9c91e312b7d6735d3e9a9484c7329 (patch) | |
| tree | 6fc6de9224d99167257431274199f2935fbef4c2 /src | |
| parent | f5b6b73be5058d8b6acab5ea7b05f9e96a3b0f2c (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/kdc/ChangeLog | 10 | ||||
| -rw-r--r-- | src/kdc/do_as_req.c | 2 | ||||
| -rw-r--r-- | src/kdc/kdc_preauth.c | 2 | ||||
| -rw-r--r-- | src/kdc/kdc_util.c | 11 |
4 files changed, 11 insertions, 14 deletions
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 <tytso@dcl> + * 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 <tytso@dcl> 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 */ |
