]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
LDAPConnectionPoolTTL should accept negative values in order to allow
authorChristophe Jaillet <jailletc36@apache.org>
Fri, 27 Jan 2023 12:58:32 +0000 (12:58 +0000)
committerChristophe Jaillet <jailletc36@apache.org>
Fri, 27 Jan 2023 12:58:32 +0000 (12:58 +0000)
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.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1907024 13f79535-47bb-0310-9956-ffa450edef68

changes-entries/pr66421.txt [new file with mode: 0644]
modules/ldap/util_ldap.c

diff --git a/changes-entries/pr66421.txt b/changes-entries/pr66421.txt
new file mode 100644 (file)
index 0000000..94d4c42
--- /dev/null
@@ -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]
index 759a5bba5e9b3b3517effc13e957a9d315ab92ec..98dfe90ac452b8389e04e36ae5e29b8a997df20e 100644 (file)
@@ -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";
     }