diff --git a/109066729a54f6ba5c4e8bc174133da33242e930.diff b/109066729a54f6ba5c4e8bc174133da33242e930.diff new file mode 100644 index 0000000..0eccbda --- /dev/null +++ b/109066729a54f6ba5c4e8bc174133da33242e930.diff @@ -0,0 +1,52 @@ +From 109066729a54f6ba5c4e8bc174133da33242e930 Mon Sep 17 00:00:00 2001 +From: Phil Pennock +Date: Tue, 22 Mar 2011 06:43:34 -0400 +Subject: [PATCH] Make ldap_require_cert work (not segfault). + +The clang complaint, which also triggered a gcc complaint, was +legitimate. My first test, which suggested no problem, was flawed. + +This: + ldap_start_tls + ldap_require_cert = demand +would cause a segfault on LDAP lookup. + +fixes bug 230 +--- + doc/doc-txt/ChangeLog | 6 ++++++ + src/src/lookups/ldap.c | 2 +- + 2 files changed, 7 insertions(+), 1 deletions(-) + +diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog +index 853f3a5..94952af 100644 +--- a/doc/doc/ChangeLog ++++ b/doc/doc/ChangeLog +@@ -3,6 +3,12 @@ $Cambridge: exim/doc/doc-txt/ChangeLog,v 1.632 2010/06/12 15:21:25 jetmore Exp $ + Change log file for Exim from version 4.21 + ------------------------------------------- + ++Exim version 4.76 ++----------------- ++ ++PP/01 The new ldap_require_cert option would segfault if used. Fixed. ++ ++ + Exim version 4.75 + ----------------- + +diff --git a/src/src/lookups/ldap.c b/src/src/lookups/ldap.c +index ddf803e..06b7494 100644 +--- a/src/src/lookups/ldap.c ++++ b/src/src/lookups/ldap.c +@@ -481,7 +481,7 @@ if (lcp == NULL) + { + cert_option = LDAP_OPT_X_TLS_TRY; + } +- ldap_set_option(ld, LDAP_OPT_X_TLS_REQUIRE_CERT, cert_option); ++ ldap_set_option(ld, LDAP_OPT_X_TLS_REQUIRE_CERT, &cert_option); + } + #endif + +-- +1.6.3.2 + diff --git a/exim.changes b/exim.changes index 0f27de0..d7d4ca3 100644 --- a/exim.changes +++ b/exim.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat May 7 13:12:08 UTC 2011 - lars@samba.org + +- Use upstream patch to address ldap_set_option() third arg issue; (beo#230); + (beo#1108). + ------------------------------------------------------------------- Fri May 6 20:00:38 UTC 2011 - lars@samba.org diff --git a/exim.spec b/exim.spec index 572032b..3a66847 100644 --- a/exim.spec +++ b/exim.spec @@ -62,7 +62,7 @@ Source20: http://www.logic.univie.ac.at/~ametzler/debian/exim4manpages/exi Source30: eximstats-html-update.py Source31: eximstats.conf Patch: exim-4.12-tail.patch -Patch1: ldap_set_option-void-cast.diff +Patch1: 109066729a54f6ba5c4e8bc174133da33242e930.diff %if !%{?build_with_mysql:1}0 && !%{?build_with_pgsql:1}0 %package -n eximon @@ -129,7 +129,7 @@ Authors: %prep %setup -q -n exim-%{version} %patch -%patch1 -p1 +%patch1 -p2 # build with fPIE/pie on SUSE 10.0 or newer, or on any other platform %if %{?suse_version:%suse_version}%{?!suse_version:99999} > 930 fPIE="-fPIE" diff --git a/ldap_set_option-void-cast.diff b/ldap_set_option-void-cast.diff deleted file mode 100644 index d2f4cfe..0000000 --- a/ldap_set_option-void-cast.diff +++ /dev/null @@ -1,17 +0,0 @@ -Author: Lars Mueller -Subject: ldap_set_option() called with int as third arg instead of void -Bugzilla: beo 1108 - -Index: exim-4.75/src/lookups/ldap.c -=================================================================== ---- exim-4.75.orig/src/lookups/ldap.c -+++ exim-4.75/src/lookups/ldap.c -@@ -481,7 +481,7 @@ if (lcp == NULL) - { - cert_option = LDAP_OPT_X_TLS_TRY; - } -- ldap_set_option(ld, LDAP_OPT_X_TLS_REQUIRE_CERT, cert_option); -+ ldap_set_option(ld, LDAP_OPT_X_TLS_REQUIRE_CERT, (void *)&cert_option); - } - #endif -