* src/lib/gssapi/krb5/accept_sec_context.c
authorTom Yu <tlyu@mit.edu>
Tue, 8 Aug 2006 00:17:21 +0000 (00:17 +0000)
committerTom Yu <tlyu@mit.edu>
Tue, 8 Aug 2006 00:17:21 +0000 (00:17 +0000)
(krb5_gss_accept_sec_context): Apply single fix from ticket
#4057.

* src/lib/gssapi/mechglue/g_glue.c
(gssint_convert_name_to_union_name): Fix up merge botch.

* src/lib/gssapi/mechglue/mglueP.h: Fix up struct name differences
between trunk and 1.5-branch.

ticket: 4063
version_fixed: 1.5.1

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-5@18419 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/gssapi/krb5/accept_sec_context.c
src/lib/gssapi/mechglue/g_glue.c
src/lib/gssapi/mechglue/mglueP.h

index f461e8d501c3a37e72fe390a6dabb596668a07b9..147911d6fbd0bd110258a8e0132d504438ccd4d7 100644 (file)
@@ -1000,7 +1000,7 @@ krb5_gss_accept_sec_context(minor_status, context_handle,
        *output_token = token;
    }
    if (!verifier_cred_handle && cred_handle) {
-          krb5_gss_release_cred(minor_status, cred_handle);
+          krb5_gss_release_cred(minor_status, &cred_handle);
    }
    krb5_free_context(context);
    return (major_status);
index 030fbfdfa571cdb06422d804f76ea2ba9aefa0e2..4af733455adeb0d3b2c6eed640ac23e6a959620a 100644 (file)
@@ -492,6 +492,7 @@ OM_uint32 gssint_convert_name_to_union_name(minor_status, mech,
     if (major_status != GSS_S_COMPLETE)
        goto allocation_failure;
 
+    union_name->loopback = union_name;
     *external_name =  union_name;
     return (GSS_S_COMPLETE);
 
index 73e48efd718f54e95adea3327147ea5a4a451a82..e5b7c2a9f4ea8d4c076cea998e7c9ade590789e7 100644 (file)
@@ -27,7 +27,7 @@ do {                                                          \
  * Array of context IDs typed by mechanism OID
  */
 typedef struct gss_union_ctx_id_t {
-       struct gss_ctx_id_struct *loopback;
+       struct gss_union_ctx_id_t *loopback;
        gss_OID                 mech_type;
        gss_ctx_id_t            internal_ctx_id;
 } gss_union_ctx_id_desc, *gss_union_ctx_id_t;
@@ -37,7 +37,7 @@ typedef struct gss_union_ctx_id_t {
  * mechanism specific name....
  */
 typedef struct gss_union_name_t {
-       struct gss_name_struct *loopback;
+       struct gss_union_name_t *loopback;
        gss_OID                 name_type;
        gss_buffer_t            external_name;
        /*
@@ -72,7 +72,7 @@ typedef struct gss_union_cred_auxinfo {
  * Set of Credentials typed on mechanism OID
  */
 typedef struct gss_union_cred_t {
-       struct gss_cred_id_struct *loopback;
+       struct gss_union_cred_t *loopback;
        int                     count;
        gss_OID                 mechs_array;
        gss_cred_id_t           *cred_array;