]> granicus.if.org Git - apache/commitdiff
mod_ldap: retry on an LDAP timeout during authn.
authorGraham Leggett <minfrin@apache.org>
Sat, 14 Sep 2013 15:07:43 +0000 (15:07 +0000)
committerGraham Leggett <minfrin@apache.org>
Sat, 14 Sep 2013 15:07:43 +0000 (15:07 +0000)
trunk patch: http://svn.apache.org/r1510084

Submitted by: covener
Reviewed by: jim, humbedooh

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1523264 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/ldap/util_ldap.c

diff --git a/CHANGES b/CHANGES
index 3ab1a36156f29de52a5ca761cdf0301e5f8aa4a4..33b4e49fdd16e2d650f602b13bb962fc67797743 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
 
 Changes with Apache 2.4.7
 
+  *) mod_ldap: retry on an LDAP timeout during authn. [Eric Covener]
+
   *) mod_ldap: Change "LDAPReferrals off" to actually set the underlying LDAP 
      SDK option to OFF, and introduce "LDAPReferrals default" to take the SDK 
      default, sans rebind authentication callback.
diff --git a/STATUS b/STATUS
index ae86d7d18f21865a0beff4db7b5b48951e36bb9f..90e3458089aab5ee36acb763c6dd022ada078855 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -133,12 +133,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
     +1: covener, jim, humbedooh
 
   
-  * mod_ldap: retry on an LDAP timeout during authn.
-    trunk patch: http://svn.apache.org/r1510084
-    2.4.x patch: trunk works
-    +1: covener, jim, humbedooh
-
-
   * mod_ldap: add TRACE5 for LDAP retries
     trunk patch: http://svn.apache.org/r1510085
     2.4.x patch: trunk works
index 93a520cd8939fa823f9c46b68b7c9a69b21fe248..307b926d9102e6bf816bbe5c909f6d9bc89b00fd 100644 (file)
@@ -1697,6 +1697,14 @@ start_over:
         goto start_over;
     }
 
+    if (result == LDAP_TIMEOUT) {
+        ldc->reason = "ldap_search_ext_s() for user failed with timeout";
+        uldap_connection_unbind(ldc);
+        failures++;
+        goto start_over;
+    }
+
+
     /* if there is an error (including LDAP_NO_SUCH_OBJECT) return now */
     if (result != LDAP_SUCCESS) {
         ldc->reason = "ldap_search_ext_s() for user failed";