File krb5-1.4.3-enospc.dif of Package krb5

If the error message is going to be ambiguous, try to give the user some clue
by returning the last error reported by the OS.

Index: krb5-1.6.3/src/clients/kinit/kinit.c
===================================================================
--- krb5-1.6.3.orig/src/clients/kinit/kinit.c
+++ krb5-1.6.3/src/clients/kinit/kinit.c
@@ -35,6 +35,7 @@
 #else
 #undef HAVE_KRB524
 #endif
+#include <errno.h>
 #include <string.h>
 #include <stdio.h>
 #include <time.h>
@@ -921,8 +922,14 @@ k5_kinit(opts, k5)
 
     code = krb5_cc_initialize(k5->ctx, k5->cc, k5->me);
     if (code) {
-	com_err(progname, code, "when initializing cache %s",
-		opts->k5_cache_name?opts->k5_cache_name:"");
+	if ((code == KRB5_CC_IO) && (errno != 0)) {
+	    com_err(progname, code, "when initializing cache %s: %s",
+		    opts->k5_cache_name?opts->k5_cache_name:"",
+		    strerror(errno));
+	} else {
+	    com_err(progname, code, "when initializing cache %s",
+		    opts->k5_cache_name?opts->k5_cache_name:"");
+	}
 	goto cleanup;
     }
 
openSUSE Build Service is sponsored by