summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1995-10-11 02:17:04 +0000
committerTheodore Tso <tytso@mit.edu>1995-10-11 02:17:04 +0000
commit02273bd219c9c91e312b7d6735d3e9a9484c7329 (patch)
tree6fc6de9224d99167257431274199f2935fbef4c2 /src
parentf5b6b73be5058d8b6acab5ea7b05f9e96a3b0f2c (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/ChangeLog10
-rw-r--r--src/kdc/do_as_req.c2
-rw-r--r--src/kdc/kdc_preauth.c2
-rw-r--r--src/kdc/kdc_util.c11
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
*/