9eff14e488
- login_disabled option before starttls for pop3 - fix compiler warnings for GCC5 - Fix IMAP mailbox maintanence - prevent assertion in p_string_erase - improve crypt authentication, also don't segfault when spasswd is empty - simplify log_query_time duration logic - Disconnect IMAP clients if only few free FDs left - Add primary key constraint to dbmail_authlog - Rework temporary connection failures - Give sensible default for retry 120s - Add retries for binding and searching - Bump search timeout to 60s - Increase ldap timeout to 600s 10 mins - Refactor deprecated functions - Get timeout from config - Remove redundant event_assign - Remove deprecated non functioning g_mem_profile - Add definition for authldap_free - Revert inadvertent event_assign removal - Reduce failed LDAP connection for search to error - Update LDAP to non deprecated search - Clear the ldap connection - Update ldap deprecated unbind - Fix typo - Update to ldap_unbind_ext_s and remove redundant sigaction - Rebalance commit rollback - Ensure mailbox2dbmail is using Python 2 - Tidy mailbox2dbmail man page - Update description of pid file location in server man page - Boundaries fixups ordering of parts do not add newline on - Prepend headers during delivery - Allow for systems that don't use proc PR: 210274 Submitted by: fluffy
61 lines
1.9 KiB
Text
61 lines
1.9 KiB
Text
From af47f87dec649ad495a704926d5e0e004ad17301 Mon Sep 17 00:00:00 2001
|
|
From: Alan Hicks <ahicks@p-o.co.uk>
|
|
Date: Wed, 12 Oct 2016 18:23:40 +0100
|
|
Subject: [PATCH 15/33] Get timeout from config
|
|
|
|
---
|
|
src/modules/authldap.c | 9 +++++++--
|
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
|
|
diff --git src/modules/authldap.c src/modules/authldap.c
|
|
index bbe553b..2bf3b95 100644
|
|
--- src/modules/authldap.c
|
|
+++ src/modules/authldap.c
|
|
@@ -59,7 +59,9 @@ typedef struct _ldap_cfg {
|
|
Field_T field_members;
|
|
Field_T query_string;
|
|
Field_T referrals;
|
|
+ Field_T query_timeout;
|
|
int scope_int, port_int, version_int;
|
|
+ int query_timeout_int;
|
|
} _ldap_cfg_t;
|
|
|
|
static _ldap_cfg_t _ldap_cfg;
|
|
@@ -90,6 +92,7 @@ static void __auth_get_config(void)
|
|
GETCONFIGVALUE("QUERY_STRING", "LDAP", _ldap_cfg.query_string);
|
|
GETCONFIGVALUE("SCOPE", "LDAP", _ldap_cfg.scope);
|
|
GETCONFIGVALUE("REFERRALS", "LDAP", _ldap_cfg.referrals);
|
|
+ GETCONFIGVALUE("QUERY_TIMEOUT", "LDAP", _ldap_cfg.query_timeout);
|
|
|
|
/* Store the port as an integer for later use. */
|
|
_ldap_cfg.port_int = atoi(_ldap_cfg.port);
|
|
@@ -113,6 +116,8 @@ static void __auth_get_config(void)
|
|
else
|
|
_ldap_cfg.scope_int = LDAP_SCOPE_SUBTREE;
|
|
}
|
|
+ /* Store the timeout as an integer. */
|
|
+ _ldap_cfg.query_timeout_int = atoi(_ldap_cfg.query_timeout);
|
|
TRACE(TRACE_DEBUG, "integer ldap scope is [%d]", _ldap_cfg.scope_int);
|
|
}
|
|
|
|
@@ -141,7 +146,7 @@ static LDAP * ldap_con_get(void)
|
|
return ld;
|
|
}
|
|
int c = 0;
|
|
- int c_tries = 600;
|
|
+ int c_tries = _ldap_cfg.query_timeout_int;
|
|
int err = -1; // Start wanting success
|
|
while (err != 0 && c++ < c_tries) {
|
|
// Loop until success or too many retries
|
|
@@ -264,7 +269,7 @@ static LDAPMessage * authldap_search(const gchar *query)
|
|
char **_ldap_attrs = NULL;
|
|
int err = -1; // Start wanting success
|
|
int c = 0;
|
|
- int c_tries = 600;
|
|
+ int c_tries = _ldap_cfg.query_timeout_int;
|
|
LDAP *_ldap_conn;
|
|
|
|
g_return_val_if_fail(query!=NULL, NULL);
|
|
--
|
|
2.10.1 (Apple Git-78)
|
|
|