diff options
author | Pavel Březina <pbrezina@redhat.com> | 2013-06-12 13:44:19 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-06-16 12:53:14 +0200 |
commit | 03713859dffacc7142393e53c73d8d4cf7dee8d5 (patch) | |
tree | 2f2f78ac3e5bdab356465da3715ef9dad515105a /src/util | |
parent | 9f1106573a4fca41b99a468d06fa392486faf43c (diff) | |
download | sssd-03713859dffacc7142393e53c73d8d4cf7dee8d5.tar.gz sssd-03713859dffacc7142393e53c73d8d4cf7dee8d5.tar.bz2 sssd-03713859dffacc7142393e53c73d8d4cf7dee8d5.zip |
subdomains: touch krb5.conf when creating new domain-realm mappings
https://fedorahosted.org/sssd/ticket/1815
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 674e9fcd..74db98fe 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 5fe7178c..9bae2f92 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__ */ |