[12072] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

[krbdev.mit.edu #6945] spnego_gss_acquire_cred_impersonate_name

daemon@ATHENA.MIT.EDU (Arlene Berry" via RT)
Thu Aug 11 11:15:45 2011

Mail-followup-to: rt@krbdev.mit.edu
mail-copies-to: never
From: ""Arlene Berry" via RT" <rt-comment@krbdev.MIT.EDU>
In-Reply-To: <rt-6945@krbdev.mit.edu>
Message-ID: <rt-6945-34228.3.85073389918013@krbdev.mit.edu>
To: "'AdminCc of krbdev.mit.edu Ticket #6945'":;"'AdminCc of krbdev.mit.edu Ticket #6945'":;@MIT.EDU
Date: Thu, 11 Aug 2011 11:15:42 -0400 (EDT)
Reply-To: rt-comment@krbdev.MIT.EDU
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: krb5-bugs-bounces@mit.edu

In src/lib/gssapi/spnego/spnego_mech.c for spnego_gss_acquire_cred it has:

OM_uint32
spnego_gss_acquire_cred_impersonate_name(OM_uint32 *minor_status,
                                         const gss_cred_id_t impersonator_cred_handle,
                                         const gss_name_t desired_name,
                                         OM_uint32 time_req,
                                         gss_OID_set desired_mechs,
                                         gss_cred_usage_t cred_usage,
                                         gss_cred_id_t *output_cred_handle,
                                         gss_OID_set *actual_mechs,
                                         OM_uint32 *time_rec)

...

        if (desired_mechs == GSS_C_NO_OID_SET) {
                status = gss_inquire_cred(minor_status,
                                          impersonator_cred_handle,
                                          NULL, NULL,
                                          NULL, &amechs);
                desired_mechs = amechs;
        }

        imp_spcred = (spnego_gss_cred_id_t)impersonator_cred_handle;

impersonator_cred_handle is a mechanism cred, i.e. an spnego_cred_id_t, not a gss_cred_id_t, and you cannot call gss_inquire_cred on it.  The assignment to imp_spcred needs to be moved up and gss_inquire_cred needs to be called on imp_spcred->mcred in the same manner as the subsequent gss_acquire_cred_impersonate_name.  


_______________________________________________
krb5-bugs mailing list
krb5-bugs@mit.edu
https://mailman.mit.edu/mailman/listinfo/krb5-bugs

home help back first fref pref prev next nref lref last post