svn rev #23128: trunk/src/lib/krb5/krb/
ghudson@MIT.EDU
ghudson at MIT.EDU
Wed Nov 4 11:31:41 EST 2009
http://src.mit.edu/fisheye/changelog/krb5/?cs=23128
Commit By: ghudson
Log Message:
Restore the krb5 1.6 behavior of not retrying AS requests after
PREAUTH_FAILED errors. Among other things, this change causes
krb5_get_init_creds_opt_set_pa to act (mostly) as a constraint rather
than simply as an optimistic set of preauth types, which is the
behavior apps had been seeing prior to 1.7.
Changed Files:
U trunk/src/lib/krb5/krb/get_in_tkt.c
Modified: trunk/src/lib/krb5/krb/get_in_tkt.c
===================================================================
--- trunk/src/lib/krb5/krb/get_in_tkt.c 2009-11-04 04:28:24 UTC (rev 23127)
+++ trunk/src/lib/krb5/krb/get_in_tkt.c 2009-11-04 16:31:41 UTC (rev 23128)
@@ -1057,21 +1057,6 @@
return ret;
}
-/* Decide whether to continue trying AS-REQ preauthentication. */
-static krb5_boolean
-should_continue_preauth(krb5_ui_4 error, int loopcount)
-{
- /*
- * Continue on PREAUTH_FAILED only on the first iteration, which
- * would imply that we did optimistic preauth unsuccessfully. We
- * could continue on later iterations if the preauth framework
- * reliably remembered what mechanisms had been tried, but
- * currently it does not do so for built-in mechanisms.
- */
- return (error == KDC_ERR_PREAUTH_REQUIRED ||
- (error == KDC_ERR_PREAUTH_FAILED && loopcount == 0));
-}
-
krb5_error_code KRB5_CALLCONV
krb5_get_init_creds(krb5_context context,
krb5_creds *creds,
@@ -1429,7 +1414,7 @@
&out_padata, &retry);
if (ret !=0)
goto cleanup;
- if (should_continue_preauth(err_reply->error, loopcount) && retry) {
+ if (err_reply->error == KDC_ERR_PREAUTH_REQUIRED && retry) {
/* reset the list of preauth types to try */
if (preauth_to_use) {
krb5_free_pa_data(context, preauth_to_use);
More information about the cvs-krb5
mailing list