diff options
| author | Tom Yu <tlyu@mit.edu> | 2007-10-03 00:17:27 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 2007-10-03 00:17:27 +0000 |
| commit | 480b2224eb8372f62a0067875bb5701fc3e806d5 (patch) | |
| tree | c3c1c14ddb09619bd6fe5fa7e27b517b57a0d870 /src/lib | |
| parent | a393efb2b7797ea82df0993dc26a2d9bc2813f8e (diff) | |
Apply patch from Nalin Dahyabhai to correctly handle delegated
credentials if ret_flags is null.
ticket: 5802
target_version: 1.6.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20082 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/gssapi/mechglue/g_accept_sec_context.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/gssapi/mechglue/g_accept_sec_context.c b/src/lib/gssapi/mechglue/g_accept_sec_context.c index 9b5562967..0d7155688 100644 --- a/src/lib/gssapi/mechglue/g_accept_sec_context.c +++ b/src/lib/gssapi/mechglue/g_accept_sec_context.c @@ -112,6 +112,7 @@ gss_cred_id_t * d_cred; { OM_uint32 status, temp_status, temp_minor_status; + OM_uint32 temp_ret_flags = 0; gss_union_ctx_id_t union_ctx_id; gss_union_cred_t union_cred; gss_cred_id_t input_cred_handle = GSS_C_NO_CREDENTIAL; @@ -202,7 +203,7 @@ gss_cred_id_t * d_cred; &internal_name, mech_type, output_token, - ret_flags, + &temp_ret_flags, time_rec, d_cred ? &tmp_d_cred : NULL); @@ -248,7 +249,7 @@ gss_cred_id_t * d_cred; } /* Ensure we're returning correct creds format */ - if ((ret_flags && GSS_C_DELEG_FLAG) && + if ((temp_ret_flags & GSS_C_DELEG_FLAG) && tmp_d_cred != GSS_C_NO_CREDENTIAL) { gss_union_cred_t d_u_cred = NULL; @@ -335,6 +336,8 @@ gss_cred_id_t * d_cred; if (src_name == NULL && tmp_src_name != NULL) (void) gss_release_name(&temp_minor_status, &tmp_src_name); + if (ret_flags != NULL) + *ret_flags = temp_ret_flags; return (status); } else { |
