[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: trouble with forwarded tgt from windows client
Thanks, that works. I am still kind of wondering why the timestamp is
not there though....
Zi-Bin Yang
-----Original Message-----
From: Love [mailto:lha@stacken.kth.se]
Sent: Thursday, November 20, 2003 9:53 PM
To: Zi-Bin Yang
Subject: Re: trouble with forwarded tgt from windows client
"Zi-Bin Yang" <zbyang@decru.com> writes:
> I forgot to ask about this earlier.... So in the same setup (Windows
> client obtains a forwardable TGT from Windows kdc and sends to
Heimdal),
> when we call Heimdal's gss_accept_sec_context() to get the delegated
> credential, it actually fails. We track this down to krb5_rd_cred(),
> where it's checking the timestamp, and both
enc_krb_cred_part.timestamp
> and enc_krb_cred_part.usec are NULL. We comment out the check, and
> gss_accept_sec_context() succeeds without any apparent bad side
effect.
> So any ideas on this? Is there a way to turn off the
> KRB5_AUTH_CONTEXT_DO_TIME flag? Thanks!
Sorry wrong version of the patch
Love
Index: accept_sec_context.c
===================================================================
RCS file:
/afs/pdc.kth.se/src/packages/kth-krb/SourceRepository/heimdal/lib/gssapi
/accept_sec_context.c,v
retrieving revision 1.40
diff -u -u -w -r1.40 accept_sec_context.c
--- accept_sec_context.c 17 Sep 2003 04:20:33 -0000 1.40
+++ accept_sec_context.c 21 Nov 2003 05:51:48 -0000
@@ -305,8 +305,8 @@
}
if (fwd_data.length > 0 && (flags & GSS_C_DELEG_FLAG)) {
-
krb5_ccache ccache;
+ int32_t ac_flags;
if (delegated_cred_handle == NULL)
/* XXX Create a new delegated_cred_handle? */
@@ -364,10 +364,19 @@
goto end_fwd;
}
+ krb5_auth_con_getflags(gssapi_krb5_context,
+ (*context_handle)->auth_context,
+ &ac_flags);
+ krb5_auth_con_setflags(gssapi_krb5_context,
+ (*context_handle)->auth_context,
+ ac_flags & ~KRB5_AUTH_CONTEXT_DO_TIME);
kret = krb5_rd_cred2(gssapi_krb5_context,
(*context_handle)->auth_context,
ccache,
&fwd_data);
+ krb5_auth_con_setflags(gssapi_krb5_context,
+ (*context_handle)->auth_context,
+ ac_flags);
if (kret) {
flags &= ~GSS_C_DELEG_FLAG;
goto end_fwd;