summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Covener <covener@apache.org>2023-03-03 14:21:59 +0000
committerEric Covener <covener@apache.org>2023-03-03 14:21:59 +0000
commit8cca102a9e024de7b82d8ff8e2b496547978fd47 (patch)
tree6598a6c67d4c1afb6109df96e9636222bf55b7a6
parent86369476a5f5ae5f3a7270b9ed50d9ff0db0fc91 (diff)
downloadhttpd-8cca102a9e024de7b82d8ff8e2b496547978fd47.tar.gz
Merge r1907024 from trunk:
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. Reviewed By: jailletc36, covener, rpluem git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908027 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--changes-entries/pr66421.txt4
-rw-r--r--modules/ldap/util_ldap.c6
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 4d92ec9a5e..14b774a0d8 100644
--- a/modules/ldap/util_ldap.c
+++ b/modules/ldap/util_ldap.c
@@ -2752,12 +2752,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";
}