diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/ccache/cc_file.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/krb5/ccache/cc_file.c b/src/lib/krb5/ccache/cc_file.c index 285832331..fc9094b6e 100644 --- a/src/lib/krb5/ccache/cc_file.c +++ b/src/lib/krb5/ccache/cc_file.c @@ -1240,8 +1240,19 @@ krb5_fcc_open_file (krb5_context context, krb5_ccache id, int mode) } f = THREEPARAMOPEN (data->filename, open_flag | O_BINARY, 0600); - if (f == NO_FILE) - return krb5_fcc_interpret (context, errno); + if (f == NO_FILE) { + switch (errno) { + case ENOENT: + retval = KRB5_FCC_NOFILE; + fprintf(stderr, "stuffing error message in context %p\n", context); + krb5_set_error_message(context, retval, + "Credentials cache file '%s' not found", + data->filename); + return retval; + default: + return krb5_fcc_interpret (context, errno); + } + } data->mode = mode; |
