diff options
author | Jeffrey Altman <jaltman@secure-endpoints.com> | 2004-10-08 03:57:45 +0000 |
---|---|---|
committer | Jeffrey Altman <jaltman@secure-endpoints.com> | 2004-10-08 03:57:45 +0000 |
commit | a2374cc7e141f02fd00d9634d26c16ba9f2ac7f3 (patch) | |
tree | c01b1f87780c66bfadaf1e077b0683b52df2c469 | |
parent | f9901b77b13039c26189f3af164e7998c038a07f (diff) | |
download | krb5-a2374cc7e141f02fd00d9634d26c16ba9f2ac7f3.zip krb5-a2374cc7e141f02fd00d9634d26c16ba9f2ac7f3.tar.gz krb5-a2374cc7e141f02fd00d9634d26c16ba9f2ac7f3.tar.bz2 |
Fix the forced setting of the Initial Ticket Flag on Win2000 and
add the functionality to XP and 2003 SP1.
ticket: 2735
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16814 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r-- | src/lib/krb5/ccache/ChangeLog | 4 | ||||
-rw-r--r-- | src/lib/krb5/ccache/cc_mslsa.c | 18 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/lib/krb5/ccache/ChangeLog b/src/lib/krb5/ccache/ChangeLog index 11ac8d8..757ce38 100644 --- a/src/lib/krb5/ccache/ChangeLog +++ b/src/lib/krb5/ccache/ChangeLog @@ -1,3 +1,7 @@ +2004-10-07 Jeffrey Altman <jaltman@mit.edu> + * cc_mslsa.c: Fix the forced setting of the Initial Ticket Flag + on Win2000 and add it to XP and 2003 SP1 + 2004-09-17 Jeffrey Altman <jaltman@mit.edu> * cc_mslsa.c: Fix the error returned when krb5_lcc_start_seq_get() discovers the cache is empty. Check for the new error in diff --git a/src/lib/krb5/ccache/cc_mslsa.c b/src/lib/krb5/ccache/cc_mslsa.c index f35a594..c12f581 100644 --- a/src/lib/krb5/ccache/cc_mslsa.c +++ b/src/lib/krb5/ccache/cc_mslsa.c @@ -1621,7 +1621,7 @@ GetMSCacheTicketFromCacheInfoW2K( HANDLE LogonHandle, ULONG PackageId, * to us. */ if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_initial ) - (*ticket)->TicketFlags &= KERB_TICKET_FLAGS_initial; + (*ticket)->TicketFlags |= KERB_TICKET_FLAGS_initial; return(TRUE); } @@ -1679,6 +1679,14 @@ GetMSCacheTicketFromCacheInfoXP( HANDLE LogonHandle, ULONG PackageId, /* otherwise return ticket */ *ticket = &(pTicketResponse->Ticket); + + /* set the initial flag if we were attempting to retrieve one + * because Windows won't necessarily return the initial ticket + * to us. + */ + if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_initial ) + (*ticket)->TicketFlags |= KERB_TICKET_FLAGS_initial; + return(TRUE); } @@ -1737,6 +1745,14 @@ GetMSCacheTicketFromCacheInfoEX2( HANDLE LogonHandle, ULONG PackageId, /* otherwise return ticket */ *ticket = &(pTicketResponse->Ticket); + + /* set the initial flag if we were attempting to retrieve one + * because Windows won't necessarily return the initial ticket + * to us. + */ + if ( tktinfo->TicketFlags & KERB_TICKET_FLAGS_initial ) + (*ticket)->TicketFlags |= KERB_TICKET_FLAGS_initial; + return(TRUE); } #endif /* HAVE_CACHE_INFO_EX2 */ |