pull up r24488 from trunk
authorTom Yu <tlyu@mit.edu>
Mon, 1 Nov 2010 20:36:48 +0000 (20:36 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 1 Nov 2010 20:36:48 +0000 (20:36 +0000)
 ------------------------------------------------------------------------
 r24488 | ghudson | 2010-10-27 13:05:05 -0400 (Wed, 27 Oct 2010) | 5 lines

 ticket: 6812

 Don't fail out from krb5_get_credentials() if we can't store a ticket
 into the ccache.

ticket: 6812
version_fixed: 1.9
status: resolved

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

src/lib/krb5/krb/get_creds.c

index eb96a2df2932a408854a92fbb0354668d7386359..ac28598603c1e4a48a4ce4abfa68f7a40e201ce4 100644 (file)
@@ -432,11 +432,9 @@ complete(krb5_context context, krb5_tkt_creds_context ctx)
     ctx->reply_creds->authdata = ctx->authdata;
     ctx->authdata = NULL;
 
-    /* Cache the credential if desired. */
     if (!(ctx->req_options & KRB5_GC_NO_STORE)) {
-        code = krb5_cc_store_cred(context, ctx->ccache, ctx->reply_creds);
-        if (code != 0)
-            return code;
+        /* Try to cache the credential. */
+        (void) krb5_cc_store_cred(context, ctx->ccache, ctx->reply_creds);
     }
 
     /* If we were doing constrained delegation, make sure we got a forwardable
@@ -572,9 +570,7 @@ step_referrals(krb5_context context, krb5_tkt_creds_context ctx)
                                   &ctx->reply_creds->authdata);
         if (code != 0)
             return code;
-        code = krb5_cc_store_cred(context, ctx->ccache, ctx->reply_creds);
-        if (code != 0)
-            return code;
+        (void) krb5_cc_store_cred(context, ctx->ccache, ctx->reply_creds);
 
         /* The authdata in this TGT will be copied into subsequent TGTs or the
          * final credentials, so we don't need to request it again. */
@@ -909,9 +905,7 @@ step_get_tgt(krb5_context context, krb5_tkt_creds_context ctx)
         path_realm = find_realm_in_path(context, ctx, tgt_realm);
         if (path_realm != NULL) {
             /* We got a realm on the expected path, so we can cache it. */
-            code = krb5_cc_store_cred(context, ctx->ccache, ctx->cur_tgt);
-            if (code != 0)
-                return code;
+            (void) krb5_cc_store_cred(context, ctx->ccache, ctx->cur_tgt);
             if (path_realm == ctx->last_realm) {
                 /* We received a TGT for the target realm. */
                 TRACE_TKT_CREDS_TARGET_TGT(context, ctx->cur_tgt->server);