diff options
Diffstat (limited to 'mail/dbmail/files/patch-0025-Update-to-ldap_unbind_ext_s-and-remove-redundant-sigaction')
-rw-r--r-- | mail/dbmail/files/patch-0025-Update-to-ldap_unbind_ext_s-and-remove-redundant-sigaction | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/mail/dbmail/files/patch-0025-Update-to-ldap_unbind_ext_s-and-remove-redundant-sigaction b/mail/dbmail/files/patch-0025-Update-to-ldap_unbind_ext_s-and-remove-redundant-sigaction new file mode 100644 index 000000000000..02fae6257d8a --- /dev/null +++ b/mail/dbmail/files/patch-0025-Update-to-ldap_unbind_ext_s-and-remove-redundant-sigaction @@ -0,0 +1,50 @@ +From 53ca6f11530a73838d73d3064f4b3d48e477f614 Mon Sep 17 00:00:00 2001 +From: Alan Hicks <ahicks@p-o.co.uk> +Date: Fri, 28 Oct 2016 16:38:20 +0100 +Subject: [PATCH 25/33] Update to ldap_unbind_ext_s and remove redundant + sigaction + +--- + src/modules/authldap.c | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +diff --git src/modules/authldap.c src/modules/authldap.c +index 2180ed0..05c3331 100644 +--- src/modules/authldap.c ++++ src/modules/authldap.c +@@ -167,14 +167,15 @@ static LDAP * ldap_con_get(void) + static void authldap_free(gpointer data) + { + LDAP *c = (LDAP *)data; +- struct sigaction act, oldact; +- +- memset(&act, 0, sizeof(act)); +- memset(&oldact, 0, sizeof(oldact)); +- act.sa_handler = SIG_IGN; +- sigaction(SIGPIPE, &act, &oldact); +- ldap_unbind_ext(c, NULL, NULL); +- sigaction(SIGPIPE, &oldact, 0); ++ ++ int err = ldap_set_option(c, LDAP_OPT_SERVER_CONTROLS, NULL ); ++ if ( err != LDAP_OPT_SUCCESS ) { ++ TRACE(TRACE_ERR, "Could not unset controls"); ++ } ++ ++ if ((err = ldap_unbind_ext_s(c, NULL, NULL))) { ++ TRACE(TRACE_ERR, "ldap_unbind_ext_s failed: %s", ldap_err2string(err)); ++ } + } + + /* +@@ -639,7 +640,7 @@ int auth_connect(void) + int auth_disconnect(void) + { + // Just free the pointer, +- // G_PRIVATE_INIT calls GDestroyNotify ++ // G_PRIVATE_INIT calls GDestroyNotify + // which calls authldap_free() + g_private_replace(&ldap_conn_key, NULL); + return 0; +-- +2.10.1 (Apple Git-78) + |