diff options
| author | Ken Raeburn <raeburn@mit.edu> | 2007-07-04 03:49:52 +0000 |
|---|---|---|
| committer | Ken Raeburn <raeburn@mit.edu> | 2007-07-04 03:49:52 +0000 |
| commit | 743ecf4a6688efb9230fd739a4dcdb90e9cd51f8 (patch) | |
| tree | d3a34bb598ba28a99cd3e33677533197e37b2dc6 /src/lib | |
| parent | 55f4aca1a95f1c56d047c2b4222aa6587276bb7c (diff) | |
| download | krb5-743ecf4a6688efb9230fd739a4dcdb90e9cd51f8.tar.gz krb5-743ecf4a6688efb9230fd739a4dcdb90e9cd51f8.tar.xz krb5-743ecf4a6688efb9230fd739a4dcdb90e9cd51f8.zip | |
In file-not-found case, report the filename sought
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19665 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/keytab/kt_file.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/lib/krb5/keytab/kt_file.c b/src/lib/krb5/keytab/kt_file.c index fe44ff65ea..df0a80501f 100644 --- a/src/lib/krb5/keytab/kt_file.c +++ b/src/lib/krb5/keytab/kt_file.c @@ -1,7 +1,7 @@ /* * lib/krb5/keytab/kt_file.c * - * Copyright 1990,1991,1995 by the Massachusetts Institute of Technology. + * Copyright 1990,1991,1995,2007 by the Massachusetts Institute of Technology. * All Rights Reserved. * * Export of this software from the United States of America may @@ -1068,10 +1068,23 @@ krb5_ktfileint_open(krb5_context context, krb5_keytab id, int mode) errno = 0; KTFILEP(id) = fopen(KTFILENAME(id), fopen_mode_rbplus); if (!KTFILEP(id)) - return errno ? errno : EMFILE; + goto report_errno; writevno = 1; - } else /* some other error */ - return errno ? errno : EMFILE; + } else { + report_errno: + switch (errno) { + case 0: + /* XXX */ + return EMFILE; + case ENOENT: + krb5_set_error_message(context, ENOENT, + "Key table file '%s' not found", + KTFILENAME(id)); + return ENOENT; + default: + return errno; + } + } } if ((kerror = krb5_lock_file(context, fileno(KTFILEP(id)), mode))) { (void) fclose(KTFILEP(id)); |
