freebsd-ports/mail/dbmail/files/patch-0015-Get-timeout-from-config
Muhammad Moinur Rahman 9eff14e488 mail/dbmail: adopt latest fixes from git:
- 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
2017-02-24 21:15:52 +00:00

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)