diff options
author | Ariel Barria <olivares73@hotmail.com> | 2013-03-27 16:04:06 -0500 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-04-03 13:33:21 +0200 |
commit | 1b171c456ff901ab622e44bcfd213f7de86fd787 (patch) | |
tree | f49fb1ce63ed83e75c658fba34535a81a06553f6 /src/providers/krb5/krb5_init_shared.c | |
parent | 274fe6a4f8bcb23e31929430110c0b52e9ce233a (diff) | |
download | sssd-1b171c456ff901ab622e44bcfd213f7de86fd787.tar.gz sssd-1b171c456ff901ab622e44bcfd213f7de86fd787.tar.xz sssd-1b171c456ff901ab622e44bcfd213f7de86fd787.zip |
Allow setting krb5_renew_interval with a delimiter
https://fedorahosted.org/sssd/ticket/902
changed the data type the krb5_renew_interval to string.
function krb5_string_to_deltat is used to convert and allow delimiters
Diffstat (limited to 'src/providers/krb5/krb5_init_shared.c')
-rw-r--r-- | src/providers/krb5/krb5_init_shared.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/providers/krb5/krb5_init_shared.c b/src/providers/krb5/krb5_init_shared.c index 0dac5fa69..c9eec2f87 100644 --- a/src/providers/krb5/krb5_init_shared.c +++ b/src/providers/krb5/krb5_init_shared.c @@ -30,7 +30,9 @@ errno_t krb5_child_init(struct krb5_ctx *krb5_auth_ctx, { errno_t ret; FILE *debug_filep; - time_t renew_intv; + time_t renew_intv = 0; + krb5_deltat renew_interval_delta; + char *renew_interval_str; if (dp_opt_get_bool(krb5_auth_ctx->opts, KRB5_STORE_PASSWORD_IF_OFFLINE)) { ret = init_delayed_online_authentication(krb5_auth_ctx, bectx, @@ -40,8 +42,18 @@ errno_t krb5_child_init(struct krb5_ctx *krb5_auth_ctx, goto done; } } + renew_interval_str = dp_opt_get_string(krb5_auth_ctx->opts, + KRB5_RENEW_INTERVAL); + if (renew_interval_str != NULL) { + ret = krb5_string_to_deltat(renew_interval_str, &renew_interval_delta); + if (ret != EOK) { + DEBUG(SSSDBG_MINOR_FAILURE, + ("Reading krb5_renew_interval failed.\n")); + renew_interval_delta = 0; + } + renew_intv = renew_interval_delta; + } - renew_intv = dp_opt_get_int(krb5_auth_ctx->opts, KRB5_RENEW_INTERVAL); if (renew_intv > 0) { ret = init_renew_tgt(krb5_auth_ctx, bectx, bectx->ev, renew_intv); if (ret != EOK) { |