dtardon / rpms / krb5

Forked from rpms/krb5 5 months ago
Clone
Blob Blame History Raw
If we encounter any errors reading the user's principal name from the default
ccache, fall back to the default of using the current user's name.

diff -up krb5-1.8/src/clients/kpasswd/kpasswd.c.kpasswd-ccache krb5-1.8/src/clients/kpasswd/kpasswd.c
--- krb5-1.8/src/clients/kpasswd/kpasswd.c.kpasswd-ccache	2009-10-30 20:48:38.000000000 -0400
+++ krb5-1.8/src/clients/kpasswd/kpasswd.c	2010-03-05 11:04:42.000000000 -0500
@@ -85,21 +85,23 @@ int main(int argc, char *argv[])
             exit(1);
         }
     } else if ((ret = krb5_cc_default(context, &ccache)) != KRB5_CC_NOTFOUND) {
+        princ = NULL;
+
         if (ret) {
             com_err(argv[0], ret, "opening default ccache");
-            exit(1);
         }
+        else
 
         if ((ret = krb5_cc_get_principal(context, ccache, &princ))) {
             com_err(argv[0], ret, "getting principal from ccache");
-            exit(1);
         }
+        else
 
         if ((ret = krb5_cc_close(context, ccache))) {
             com_err(argv[0], ret, "closing ccache");
-            exit(1);
         }
-    } else {
+    }
+    if (princ == NULL) {
         get_name_from_passwd_file(argv[0], context, &princ);
     }