ports/mail/dbmail/files/patch-0022-Clear-the-ldap-connection
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

41 lines
1.1 KiB
Text

From 24869db9c10be2eb90ba2ca9095d92c5645b6320 Mon Sep 17 00:00:00 2001
From: Alan Hicks <ahicks@p-o.co.uk>
Date: Mon, 24 Oct 2016 15:12:09 +0100
Subject: [PATCH 22/33] Clear the ldap connection
---
src/modules/authldap.c | 4 ++++
src/server.c | 2 ++
2 files changed, 6 insertions(+)
diff --git src/modules/authldap.c src/modules/authldap.c
index 11c1305..7fa3a73 100644
--- src/modules/authldap.c
+++ src/modules/authldap.c
@@ -638,6 +638,10 @@ int auth_connect(void)
}
int auth_disconnect(void)
{
+ // Just free the pointer,
+ // G_PRIVATE_INIT calls GDestroyNotify
+ // which calls authldap_free()
+ g_private_replace(&ldap_conn_key, NULL)
return 0;
}
diff --git src/server.c src/server.c
index 72fab52..ba3ce10 100644
--- src/server.c
+++ src/server.c
@@ -282,6 +282,8 @@ static int server_start_cli(ServerConfig_T *conf)
TRACE(TRACE_ERR, "could not connect to authentication");
return -1;
}
+ // Disconnect this connection as threads will create their own
+ auth_disconnect();
srand((int) ((int) time(NULL) + (int) getpid()));
--
2.10.1 (Apple Git-78)