2118c17c6b
catch-all I/O error (#180175)
31 lines
953 B
Diff
31 lines
953 B
Diff
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.
|
|
|
|
--- krb5-1.4.3/src/clients/kinit/kinit.c 2006-02-06 13:50:06.000000000 -0500
|
|
+++ krb5-1.4.3/src/clients/kinit/kinit.c 2006-02-06 13:49:41.000000000 -0500
|
|
@@ -34,6 +34,7 @@
|
|
#else
|
|
#undef HAVE_KRB524
|
|
#endif
|
|
+#include <errno.h>
|
|
#include <string.h>
|
|
#include <stdio.h>
|
|
#include <time.h>
|
|
@@ -846,8 +847,14 @@
|
|
|
|
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;
|
|
}
|
|
|