summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEzra Peisach <epeisach@mit.edu>2000-10-04 20:12:47 +0000
committerEzra Peisach <epeisach@mit.edu>2000-10-04 20:12:47 +0000
commit847cf2859acc6824a1ba8a48a10e441678f3f31f (patch)
tree830a1915d4bf17d8d594aa7c23483f205d3ec434 /src
parentc7f5c91a3c8c1f1c8d81d6142a31f15beaf1197e (diff)
* accept_sec_context.c (krb5_gss_accept_sec_context): If an error
occurs after the auth_context is established, but before the krb5_gss_ctx_id_rec is established, release our pointer to the replay cache and invoke krb5_auth_con_free(). (krb5-libs/855) git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12721 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/gssapi/krb5/ChangeLog7
-rw-r--r--src/lib/gssapi/krb5/accept_sec_context.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/gssapi/krb5/ChangeLog b/src/lib/gssapi/krb5/ChangeLog
index 0e8d905dd..04a6bab05 100644
--- a/src/lib/gssapi/krb5/ChangeLog
+++ b/src/lib/gssapi/krb5/ChangeLog
@@ -1,3 +1,10 @@
+2000-10-04 Ezra Peisach <epeisach@mit.edu>
+
+ * accept_sec_context.c (krb5_gss_accept_sec_context): If an error
+ occurs after the auth_context is established, but before the
+ krb5_gss_ctx_id_rec is established, release our pointer to the
+ replay cache and invoke krb5_auth_con_free(). (krb5-libs/855)
+
2000-10-03 Ezra Peisach <epeisach@mit.edu>
* add_cred.c (krb5_gss_add_cred): krb5_cc_get_type() and
diff --git a/src/lib/gssapi/krb5/accept_sec_context.c b/src/lib/gssapi/krb5/accept_sec_context.c
index 75a6eaeca..4f7f73d23 100644
--- a/src/lib/gssapi/krb5/accept_sec_context.c
+++ b/src/lib/gssapi/krb5/accept_sec_context.c
@@ -743,6 +743,11 @@ krb5_gss_accept_sec_context(minor_status, context_handle,
free(ctypes);
if (authdat)
krb5_free_authenticator(context, authdat);
+ /* The ctx structure has the handle of the auth_context */
+ if (auth_context & !ctx) {
+ (void)krb5_auth_con_setrcache(context, auth_context, NULL);
+ krb5_auth_con_free(context, auth_context);
+ }
if (reqcksum.contents)
xfree(reqcksum.contents);
if (ap_rep.data)