diff options
-rw-r--r-- | changes-entries/pr66421.txt | 4 | ||||
-rw-r--r-- | modules/ldap/util_ldap.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/changes-entries/pr66421.txt b/changes-entries/pr66421.txt new file mode 100644 index 0000000000..94d4c42ada --- /dev/null +++ b/changes-entries/pr66421.txt @@ -0,0 +1,4 @@ + *) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to + allow connections of any age to be reused. Up to now, a negative value + was handled as an error when parsing the configuration file. PR 66421. + [nailyk <bzapache nailyk.fr>, Christophe Jaillet] diff --git a/modules/ldap/util_ldap.c b/modules/ldap/util_ldap.c index 759a5bba5e..98dfe90ac4 100644 --- a/modules/ldap/util_ldap.c +++ b/modules/ldap/util_ldap.c @@ -2817,12 +2817,14 @@ static const char *util_ldap_set_conn_ttl(cmd_parms *cmd, void *dummy, const char *val) { - apr_interval_time_t timeout; + apr_interval_time_t timeout = -1; util_ldap_state_t *st = (util_ldap_state_t *)ap_get_module_config(cmd->server->module_config, &ldap_module); - if (ap_timeout_parameter_parse(val, &timeout, "s") != APR_SUCCESS) { + /* Negative values mean AP_LDAP_CONNPOOL_INFINITE */ + if (val[0] != '-' && + ap_timeout_parameter_parse(val, &timeout, "s") != APR_SUCCESS) { return "LDAPConnectionPoolTTL has wrong format"; } |