On Thu, Mar 16, 2017 at 04:09:58PM +0100, Harald Barth wrote:
> When ~/.krb5/config is not available (AFS) many kerberos commands like
> klist and afslog abort.
> 
> open("/afs/nada.kth.se/home/w/whatever/.krb5/config", O_RDONLY) = -1 ENODEV 
> (No such device)
> write(2, "klist: ", 7klist: )                  = 7
> write(2, "krb5_init_context failed: 19", 28krb5_init_context failed: 19) = 28
> write(2, "\n", 1
> )                       = 1
> exit_group(1)                           = ?
> +++ exited with 1 +++
> 
> This seems to some clause in ./lib/krb5/context.c where ENODEV is
> considered fatal (ENOENT, EACCES, EPERM are not). Is there
> some reasoning behind what error is "fatal" and what not?

Probably just "what the author could think of at the time".  ENODEV is
not listed in the standard's man page for open(), so it's not surprising
they missed that.  ENOTDIR, ELOOP and ENAMETOOLONG should also be
tolerated (it's "misconfiguration").  Maybe even ENXIO and EOVERFLOW.

Nico
-- 

Reply via email to