From e4d1e192430f6c76eee5b64decc3a799a0926979 Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Jan 30 2013 13:33:09 +0000 Subject: krb: recreate ccache if it was deleted https://fedorahosted.org/sssd/ticket/1512 If directory where a ccache file was stored was missing and user was still logged in, we erroneously considered the ccache file still active. Thus the ccache file was not recreated and user was unable to login. --- diff --git a/src/providers/krb5/krb5_utils.c b/src/providers/krb5/krb5_utils.c index b770714..7b56be5 100644 --- a/src/providers/krb5/krb5_utils.c +++ b/src/providers/krb5/krb5_utils.c @@ -770,8 +770,15 @@ cc_residual_is_used(uid_t uid, const char *ccname, ret = lstat(ccname, &stat_buf); - if (ret == -1 && errno != ENOENT) { + if (ret == -1) { ret = errno; + if (ret == ENOENT) { + DEBUG(SSSDBG_FUNC_DATA, ("Cache file [%s] does not exists, " + "it will be recreated\n", ccname)); + *result = false; + return EOK; + } + DEBUG(SSSDBG_OP_FAILURE, ("stat failed [%d][%s].\n", ret, strerror(ret))); return ret;