diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/sss_krb5.c | 22 | ||||
-rw-r--r-- | src/util/sss_krb5.h | 3 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/util/sss_krb5.c b/src/util/sss_krb5.c index 674e9fcdd..74db98fe9 100644 --- a/src/util/sss_krb5.c +++ b/src/util/sss_krb5.c @@ -20,6 +20,7 @@ #include <stdio.h> #include <errno.h> #include <talloc.h> +#include <utime.h> #include "config.h" @@ -1176,3 +1177,24 @@ done: return ENOTSUP; #endif } + +errno_t sss_krb5_touch_config(void) +{ + const char *config = NULL; + errno_t ret; + + config = getenv("KRB5_CONFIG"); + if (config == NULL) { + config = KRB5_CONF_PATH; + } + + ret = utime(config, NULL); + if (ret == -1) { + ret = errno; + DEBUG(SSSDBG_CRIT_FAILURE, ("Unable to change mtime of \"%s\" " + "[%d]: %s\n", config, strerror(ret))); + return ret; + } + + return EOK; +} diff --git a/src/util/sss_krb5.h b/src/util/sss_krb5.h index 5fe7178c1..9bae2f92b 100644 --- a/src/util/sss_krb5.h +++ b/src/util/sss_krb5.h @@ -191,4 +191,7 @@ krb5_error_code sss_extract_pac(krb5_context ctx, krb5_principal client_principal, krb5_keytab keytab, krb5_authdata ***_pac_authdata); + +errno_t sss_krb5_touch_config(void); + #endif /* __SSS_KRB5_H__ */ |