diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2011-02-09 12:14:29 -0500 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-02-11 09:18:28 -0500 |
commit | 0acfbe57146fc4e8da671e79a5881fc0eba44daf (patch) | |
tree | 2fa74b2a3a8b0a14ee260581144dadefe3cd34d7 | |
parent | 7fba78363dacbec0c8c5a22ad61fdf5f8f7bb91f (diff) | |
download | sssd2-0acfbe57146fc4e8da671e79a5881fc0eba44daf.tar.gz sssd2-0acfbe57146fc4e8da671e79a5881fc0eba44daf.tar.xz sssd2-0acfbe57146fc4e8da671e79a5881fc0eba44daf.zip |
Properly document ldap_purge_cache_timeout
Also allow it to be disabled entirely and make this the default
-rw-r--r-- | src/man/sssd-ldap.5.xml | 19 | ||||
-rw-r--r-- | src/providers/ldap/ldap_common.c | 12 |
2 files changed, 29 insertions, 2 deletions
diff --git a/src/man/sssd-ldap.5.xml b/src/man/sssd-ldap.5.xml index 8a56a6a0..e71d03a5 100644 --- a/src/man/sssd-ldap.5.xml +++ b/src/man/sssd-ldap.5.xml @@ -295,6 +295,25 @@ </varlistentry> <varlistentry> + <term>ldap_purge_cache_timeout</term> + <listitem> + <para> + Determine how often to check the cache for + inactive entries (such as groups with no + members and users who have never logged in) and + remove them to save space. + </para> + <para> + Setting this option to zero will disable the + cache cleanup operation. + </para> + <para> + Default: 0 (disabled) + </para> + </listitem> + </varlistentry> + + <varlistentry> <term>ldap_user_member_of (string)</term> <listitem> <para> diff --git a/src/providers/ldap/ldap_common.c b/src/providers/ldap/ldap_common.c index a867995c..b99291c9 100644 --- a/src/providers/ldap/ldap_common.c +++ b/src/providers/ldap/ldap_common.c @@ -50,7 +50,7 @@ struct dp_option default_basic_opts[] = { { "ldap_schema", DP_OPT_STRING, { "rfc2307" }, NULL_STRING }, { "ldap_force_upper_case_realm", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE }, { "ldap_enumeration_refresh_timeout", DP_OPT_NUMBER, { .number = 300 }, NULL_NUMBER }, - { "ldap_purge_cache_timeout", DP_OPT_NUMBER, { .number = 10800 }, NULL_NUMBER }, + { "ldap_purge_cache_timeout", DP_OPT_NUMBER, { .number = 0 }, NULL_NUMBER }, { "entry_cache_timeout", DP_OPT_NUMBER, { .number = 5400 }, NULL_NUMBER }, { "ldap_tls_cacert", DP_OPT_STRING, NULL_STRING, NULL_STRING }, { "ldap_tls_cacertdir", DP_OPT_STRING, NULL_STRING, NULL_STRING }, @@ -520,6 +520,7 @@ int sdap_id_setup_tasks(struct sdap_id_ctx *ctx) { struct timeval tv; int ret = EOK; + int delay; /* set up enumeration task */ if (ctx->be->domain->enumerate) { @@ -529,7 +530,14 @@ int sdap_id_setup_tasks(struct sdap_id_ctx *ctx) ret = ldap_id_enumerate_set_timer(ctx, tv); } else { /* the enumeration task, runs the cleanup process by itself, - * but if enumeration is not runnig we need to schedule it */ + * but if enumeration is not running we need to schedule it */ + delay = dp_opt_get_int(ctx->opts->basic, SDAP_CACHE_PURGE_TIMEOUT); + if (delay == 0) { + /* Cleanup has been explicitly disabled, so we won't + * schedule any cleanup tasks. + */ + return EOK; + } /* run the first one in a couple of seconds so that we have time to * finish initializations first*/ |