diff --git a/exim-4.43-pamconfig.patch b/exim-4.43-pamconfig.patch index 08d4c78..3c76bd8 100644 --- a/exim-4.43-pamconfig.patch +++ b/exim-4.43-pamconfig.patch @@ -1,6 +1,7 @@ ---- exim-4.43/src/configure.default.pam 2004-12-16 13:27:55.000000000 +0000 -+++ exim-4.43/src/configure.default 2004-12-16 15:41:34.000000000 +0000 -@@ -160,7 +160,7 @@ acl_smtp_data = acl_check_data +diff -uNr exim-4.69-new/src/configure.default exim-4.69/src/configure.default +--- exim-4.69-new/src/configure.default 2008-08-13 15:15:01.000000000 +0100 ++++ exim-4.69/src/configure.default 2008-08-13 15:16:44.000000000 +0100 +@@ -140,7 +140,7 @@ # Allow any client to use TLS. @@ -9,7 +10,7 @@ # Specify the location of the Exim server's TLS certificate and private key. # The private key must not be encrypted (password protected). You can put -@@ -168,8 +168,8 @@ acl_smtp_data = acl_check_data +@@ -148,8 +148,8 @@ # need the first setting, or in separate files, in which case you need both # options. @@ -20,7 +21,7 @@ # In order to support roaming users who wish to send email from anywhere, # you may want to make Exim listen on other ports as well as port 25, in -@@ -180,8 +180,8 @@ acl_smtp_data = acl_check_data +@@ -160,8 +160,8 @@ # them you should also allow TLS-on-connect on the traditional but # non-standard port 465. @@ -31,9 +32,9 @@ # Specify the domain you want to be added to all unqualified addresses -@@ -238,6 +238,24 @@ +@@ -219,6 +219,24 @@ - timeout_frozen_after = 7d + host_lookup = * +# This setting, if uncommented, allows users to authenticate using +# their system passwords against saslauthd if they connect over a @@ -54,9 +55,9 @@ +# +auth_advertise_hosts = - - ###################################################################### -@@ -850,7 +837,7 @@ begin authenticators + # The settings below, which are actually the same as the defaults in the + # code, cause Exim to make RFC 1413 (ident) callbacks for all incoming SMTP +@@ -756,7 +774,7 @@ # driver = plaintext # server_set_id = $auth2 # server_prompts = : @@ -65,7 +66,7 @@ # server_advertise_condition = ${if def:tls_cipher } # LOGIN authentication has traditional prompts and responses. There is no -@@ -862,7 +849,7 @@ begin authenticators +@@ -768,7 +786,7 @@ # driver = plaintext # server_set_id = $auth1 # server_prompts = <| Username: | Password: diff --git a/exim-4.50-config.patch b/exim-4.50-config.patch index 558f6f4..ef39e17 100644 --- a/exim-4.50-config.patch +++ b/exim-4.50-config.patch @@ -1,5 +1,18 @@ ---- exim-4.50/src/EDITME 2005-02-22 19:12:14.000000000 +0000 -+++ exim-4.50/src/EDITME 2005-02-22 19:15:10.000000000 +0000 +diff -uNr exim-4.69.orig/scripts/Configure-Makefile exim-4.69/scripts/Configure-Makefile +--- exim-4.69.orig/scripts/Configure-Makefile 2005-09-19 15:42:31.000000000 +0100 ++++ exim-4.69/scripts/Configure-Makefile 2008-08-13 14:44:59.000000000 +0100 +@@ -131,7 +131,7 @@ + + mv $mft $mftt + echo "PERL_CC=`$PERL_COMMAND -MConfig -e 'print $Config{cc}'`" >>$mft +- echo "PERL_CCOPTS=`$PERL_COMMAND -MExtUtils::Embed -e ccopts`" >>$mft ++ echo "PERL_CCOPTS=`$PERL_COMMAND -MExtUtils::Embed -e ccopts` \$(CFLAGS)" >>$mft + echo "PERL_LIBS=`$PERL_COMMAND -MExtUtils::Embed -e ldopts`" >>$mft + echo "" >>$mft + cat $mftt >> $mft +diff -uNr exim-4.69.orig/src/EDITME exim-4.69/src/EDITME +--- exim-4.69.orig/src/EDITME 2007-01-22 16:29:54.000000000 +0000 ++++ exim-4.69/src/EDITME 2008-08-13 14:44:59.000000000 +0100 @@ -100,7 +100,7 @@ # /usr/local/sbin. The installation script will try to create this directory, # and any superior directories, if they do not exist. @@ -36,7 +49,7 @@ # Many sites define a user called "exim", with an appropriate default group, # and use -@@ -229,7 +229,7 @@ +@@ -235,7 +235,7 @@ # This one is special-purpose, and commonly not required, so it is not # included by default. @@ -45,7 +58,7 @@ #------------------------------------------------------------------------------ -@@ -238,9 +238,9 @@ +@@ -244,9 +244,9 @@ # MBX, is included only when requested. If you do not know what this is about, # leave these settings commented out. @@ -58,7 +71,7 @@ #------------------------------------------------------------------------------ -@@ -255,17 +255,20 @@ +@@ -261,25 +261,28 @@ LOOKUP_DBM=yes LOOKUP_LSEARCH=yes @@ -70,26 +83,26 @@ +LOOKUP_DSEARCH=yes # LOOKUP_IBASE=yes -# LOOKUP_LDAP=yes +-# LOOKUP_MYSQL=yes +-# LOOKUP_NIS=yes +-# LOOKUP_NISPLUS=yes +LOOKUP_LDAP=yes +LDAP_LIB_TYPE=OPENLDAP2 +LOOKUP_INCLUDE=-I/usr/include/mysql +LOOKUP_LIBS=-lldap -llber -lsqlite3 -L/usr/$(_lib)/mysql -lmysqlclient -lpq --# LOOKUP_MYSQL=yes +LOOKUP_MYSQL=yes --# LOOKUP_NIS=yes --# LOOKUP_NISPLUS=yes +LOOKUP_NIS=yes +LOOKUP_NISPLUS=yes # LOOKUP_ORACLE=yes -# LOOKUP_PASSWD=yes -+LOOKUP_PASSWD=yes -# LOOKUP_PGSQL=yes -+LOOKUP_PGSQL=yes -# LOOKUP_SQLITE=yes ++LOOKUP_PASSWD=yes ++LOOKUP_PGSQL=yes +LOOKUP_SQLITE=yes # LOOKUP_WHOSON=yes -@@ -272,7 +274,7 @@ + # These two settings are obsolete; all three lookups are compiled when # LOOKUP_LSEARCH is enabled. However, we retain these for backward # compatibility. Setting one forces LOOKUP_LSEARCH if it is not set. @@ -98,7 +111,7 @@ # LOOKUP_NWILDLSEARCH=yes -@@ -321,14 +323,14 @@ +@@ -330,14 +333,14 @@ # and the MIME ACL. Please read the documentation to learn more about these # features. @@ -115,7 +128,7 @@ #------------------------------------------------------------------------------ # Compiling Exim with experimental features. These are documented in -@@ -464,11 +466,11 @@ +@@ -473,11 +476,11 @@ # included in the Exim binary. You will then need to set up the run time # configuration to make use of the mechanism(s) selected. @@ -132,7 +145,7 @@ #------------------------------------------------------------------------------ -@@ -484,7 +486,7 @@ +@@ -494,7 +497,7 @@ # one that is set in the headers_charset option. The default setting is # defined by this setting: @@ -141,7 +154,7 @@ # If you are going to make use of $header_xxx expansions in your configuration # file, or if your users are going to use them in filter files, and the normal -@@ -504,7 +506,7 @@ +@@ -514,7 +517,7 @@ # the Sieve filter support. For those OS where iconv() is known to be installed # as standard, the file in OS/Makefile-xxxx contains # @@ -150,7 +163,7 @@ # # If you are not using one of those systems, but have installed iconv(), you # need to uncomment that line above. In some cases, you may find that iconv() -@@ -553,10 +555,11 @@ +@@ -576,10 +579,11 @@ # leave these settings commented out. # This setting is required for any TLS support (either OpenSSL or GnuTLS) @@ -164,7 +177,7 @@ # Uncomment these settings if you are using GnuTLS # USE_GNUTLS=yes -@@ -607,7 +610,7 @@ +@@ -630,7 +634,7 @@ # Once you have done this, "make install" will build the info files and # install them in the directory you have defined. @@ -173,7 +186,7 @@ #------------------------------------------------------------------------------ -@@ -620,7 +623,7 @@ +@@ -643,7 +647,7 @@ # %s. This will be replaced by one of the strings "main", "panic", or "reject" # to form the final file names. Some installations may want something like this: @@ -182,7 +195,7 @@ # which results in files with names /var/log/exim_mainlog, etc. The directory # in which the log files are placed must exist; Exim does not try to create -@@ -669,7 +672,7 @@ +@@ -692,7 +696,7 @@ # files. Both the name of the command and the suffix that it adds to files # need to be defined here. See also the EXICYCLOG_MAX configuration. @@ -191,7 +204,7 @@ COMPRESS_SUFFIX=gz -@@ -677,7 +680,7 @@ +@@ -700,7 +704,7 @@ # If the exigrep utility is fed compressed log files, it tries to uncompress # them using this command. @@ -200,7 +213,7 @@ #------------------------------------------------------------------------------ -@@ -686,7 +689,7 @@ +@@ -709,7 +713,7 @@ # (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded # Perl costs quite a lot of resources. Only do this if you really need it. @@ -209,7 +222,7 @@ #------------------------------------------------------------------------------ -@@ -691,7 +696,7 @@ EXIM_PERL=perl.o +@@ -719,7 +723,7 @@ # that the local_scan API is made available by the linker. You may also need # to add -ldl to EXTRALIBS so that dlopen() is available to Exim. @@ -218,7 +231,7 @@ #------------------------------------------------------------------------------ -@@ -696,7 +699,7 @@ +@@ -729,7 +733,7 @@ # support, which is intended for use in conjunction with the SMTP AUTH # facilities, is included only when requested by the following setting: @@ -227,7 +240,7 @@ # You probably need to add -lpam to EXTRALIBS, and in some releases of # GNU/Linux -ldl is also needed. -@@ -757,7 +760,7 @@ +@@ -797,7 +801,7 @@ # group. Once you have installed saslauthd, you should arrange for it to be # started by root at boot time. @@ -236,7 +249,7 @@ #------------------------------------------------------------------------------ -@@ -770,9 +773,9 @@ +@@ -810,9 +814,9 @@ # You may well also have to specify a local "include" file and an additional # library for TCP wrappers, so you probably need something like this: # @@ -244,12 +257,12 @@ -# CFLAGS=-O -I/usr/local/include -# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap +USE_TCP_WRAPPERS=yes -+CFLAGS += $(RPM_OPT_FLAGS) $(PIE) ++CFLAGS+=$(RPM_OPT_FLAGS) $(PIE) +EXTRALIBS_EXIM=-lwrap -lpam -ldl # # but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM # as well. -@@ -817,13 +820,13 @@ +@@ -857,13 +861,13 @@ # is "yes", as well as supporting line editing, a history of input lines in the # current run is maintained. @@ -265,7 +278,7 @@ ############################################################################### # THINGS YOU ALMOST NEVER NEED TO MENTION # -@@ -844,11 +847,12 @@ +@@ -884,11 +888,12 @@ # haven't got Perl, Exim will still build and run; you just won't be able to # use those utilities. @@ -283,7 +296,7 @@ #------------------------------------------------------------------------------ -@@ -1042,7 +1046,7 @@ +@@ -1082,7 +1087,7 @@ # (process id) to a file so that it can easily be identified. The path of the # file can be specified here. Some installations may want something like this: @@ -292,14 +305,3 @@ # If PID_FILE_PATH is not defined, Exim writes a file in its spool directory # using the name "exim-daemon.pid". ---- exim-4.50/scripts/Configure-Makefile.conf 2005-02-17 14:49:11.000000000 +0000 -+++ exim-4.50/scripts/Configure-Makefile 2005-02-22 19:12:21.000000000 +0000 -@@ -131,7 +131,7 @@ - - mv $mft $mftt - echo "PERL_CC=`$PERL_COMMAND -MConfig -e 'print $Config{cc}'`" >>$mft -- echo "PERL_CCOPTS=`$PERL_COMMAND -MExtUtils::Embed -e ccopts`" >>$mft -+ echo "PERL_CCOPTS=`$PERL_COMMAND -MExtUtils::Embed -e ccopts` \$(CFLAGS)" >>$mft - echo "PERL_LIBS=`$PERL_COMMAND -MExtUtils::Embed -e ldopts`" >>$mft - echo "" >>$mft - cat $mftt >> $mft diff --git a/exim-4.50-spamdconf.patch b/exim-4.50-spamdconf.patch index 36fe304..98cafdd 100644 --- a/exim-4.50-spamdconf.patch +++ b/exim-4.50-spamdconf.patch @@ -1,14 +1,15 @@ ---- exim-4.50/src/configure.default.orig 2005-02-22 19:49:15.000000000 +0000 -+++ exim-4.50/src/configure.default 2005-02-22 19:46:55.000000000 +0000 -@@ -108,6 +108,7 @@ +diff -uNr exim-4.69-old/src/configure.default exim-4.69/src/configure.default +--- exim-4.69-old/src/configure.default 2008-08-13 15:20:18.000000000 +0100 ++++ exim-4.69/src/configure.default 2008-08-13 15:20:36.000000000 +0100 +@@ -107,6 +107,7 @@ acl_smtp_rcpt = acl_check_rcpt acl_smtp_data = acl_check_data +acl_smtp_mime = acl_check_mime - # You should not change that setting until you understand how ACLs work. + # You should not change those settings until you understand how ACLs work. -@@ -120,7 +120,7 @@ acl_smtp_mime = acl_check_mime +@@ -119,7 +120,7 @@ # of what to set for other virus scanners. The second modification is in the # acl_check_data access control list (see below). @@ -17,7 +18,7 @@ # For spam scanning, there is a similar option that defines the interface to -@@ -365,7 +365,8 @@ acl_check_rcpt: +@@ -380,7 +381,8 @@ accept local_parts = postmaster domains = +local_domains @@ -27,7 +28,7 @@ require verify = sender -@@ -455,26 +456,62 @@ acl_check_rcpt: +@@ -470,27 +472,63 @@ acl_check_data: @@ -86,7 +87,7 @@ accept -+ + +acl_check_mime: + + # File extension filtering. @@ -97,6 +98,7 @@ + {1}{0}} + + accept ++ ###################################################################### # ROUTERS CONFIGURATION # diff --git a/exim-4.52-dynamic-pcre.patch b/exim-4.52-dynamic-pcre.patch index c2ca9d3..5de73da 100644 --- a/exim-4.52-dynamic-pcre.patch +++ b/exim-4.52-dynamic-pcre.patch @@ -1,6 +1,19 @@ ---- exim-4.52/OS/Makefile-Base.pcre 2005-07-01 12:09:15.000000000 +0100 -+++ exim-4.52/OS/Makefile-Base 2005-08-25 14:28:19.000000000 +0100 -@@ -96,14 +96,14 @@ config.h: Makefile buildconfig ../src/co +diff -uNr exim-4.69-old/exim_monitor/em_hdr.h exim-4.69/exim_monitor/em_hdr.h +--- exim-4.69-old/exim_monitor/em_hdr.h 2007-01-08 10:50:17.000000000 +0000 ++++ exim-4.69/exim_monitor/em_hdr.h 2008-08-13 15:22:37.000000000 +0100 +@@ -87,7 +87,7 @@ + + /* Regular expression include */ + +-#include "pcre/pcre.h" ++#include + + /* Includes from the main source of Exim. We need to have MAXPACKET defined for + the benefit of structs.h. One of these days I should tidy up this interface so +diff -uNr exim-4.69-old/OS/Makefile-Base exim-4.69/OS/Makefile-Base +--- exim-4.69-old/OS/Makefile-Base 2007-11-12 13:02:19.000000000 +0000 ++++ exim-4.69/OS/Makefile-Base 2008-08-13 15:22:37.000000000 +0100 +@@ -96,14 +96,14 @@ # therefore always be run, even if the files exist. This shouldn't in fact be a # problem, but it does no harm. Other make programs will just ignore this. @@ -17,7 +30,7 @@ exigrep eximstats exipick exiqgrep exiqsumm \ transport-filter.pl convert4r3 convert4r4 \ exim_checkaccess \ -@@ -314,7 +314,7 @@ OBJ_EXIM = acl.o child.o crypt16.o daemo +@@ -314,7 +314,7 @@ local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \ $(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL) @@ -26,7 +39,7 @@ routers/routers.a transports/transports.a \ $(OBJ_EXIM) version.c @echo " " -@@ -325,7 +325,7 @@ exim: pcre/libpcre.a lookups/lookups.a +@@ -325,7 +325,7 @@ rm -f exim @echo "$(LNCC) -o exim" $(FE)$(PURIFY) $(LNCC) -o exim $(LFLAGS) $(OBJ_EXIM) version.o \ @@ -35,7 +48,7 @@ routers/routers.a transports/transports.a lookups/lookups.a \ auths/auths.a \ $(LIBRESOLV) $(LIBS) $(LIBS_EXIM) $(IPV6_LIBS) $(EXTRALIBS) \ -@@ -429,14 +429,14 @@ MONBIN = em_StripChart.o $(EXIMON_TEXTPO +@@ -429,14 +429,14 @@ OBJ_MONBIN = util-spool_in.o util-store.o util-string.o tod.o tree.o $(MONBIN) @@ -52,9 +65,10 @@ $(LIBS) $(LIBS_EXIMON) $(EXTRALIBS) $(EXTRALIBS_EXIMON) -lc @if [ x"$(STRIP_COMMAND)" != x"" ]; then \ echo $(STRIP_COMMAND) eximon.bin; \ ---- exim-4.52/src/exim.h.pcre 2005-07-01 12:09:15.000000000 +0100 -+++ exim-4.52/src/exim.h 2005-08-25 14:26:40.000000000 +0100 -@@ -414,7 +414,7 @@ extern int ferror(FILE *); +diff -uNr exim-4.69-old/src/exim.h exim-4.69/src/exim.h +--- exim-4.69-old/src/exim.h 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/exim.h 2008-08-13 15:22:37.000000000 +0100 +@@ -422,7 +422,7 @@ /* The header from the PCRE regex package */ @@ -62,15 +76,4 @@ +#include /* Exim includes are in several files. Note that local_scan.h #includes - mytypes.h and store.h, so we don't need to mention them explicitly. */ ---- exim-4.52/exim_monitor/em_hdr.h.pcre 2005-07-01 12:09:15.000000000 +0100 -+++ exim-4.52/exim_monitor/em_hdr.h 2005-08-25 14:26:40.000000000 +0100 -@@ -87,7 +87,7 @@ anything. */ - - /* Regular expression include */ - --#include "pcre/pcre.h" -+#include - - /* Includes from the main source of Exim. We need to have MAXPACKET defined for - the benefit of structs.h. One of these days I should tidy up this interface so + config.h, mytypes.h, and store.h, so we don't need to mention them explicitly. diff --git a/exim-4.62-dlopen-localscan.patch b/exim-4.62-dlopen-localscan.patch index 03010eb..7a7c9d2 100644 --- a/exim-4.62-dlopen-localscan.patch +++ b/exim-4.62-dlopen-localscan.patch @@ -1,18 +1,19 @@ -The initial version of this patch was originally posted David Woodhouse, and -dman gets the credit for first integrating it with SA-Exim. - -I have since then maintained it by first making a few minor changes, and -later switching it to a major/minor number scheme to support upgrades in -the exim API that don't affect backward compatibility (you can rely on -a feature denoted by the minor number and be compatible with future versions -of exim until Philip has to break the API and increase the major number) - -Marc MERLIN - -diff -urN exim-4.14-0/src/EDITME exim-4.14-1/src/EDITME ---- exim-4.14-0/src/EDITME Tue Mar 11 04:20:18 2003 -+++ exim-4.14-1/src/EDITME Sun Mar 23 15:34:15 2003 -@@ -388,6 +388,20 @@ +diff -uNr exim-4.69-old/src/config.h.defaults exim-4.69/src/config.h.defaults +--- exim-4.69-old/src/config.h.defaults 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/config.h.defaults 2008-08-13 15:25:31.000000000 +0100 +@@ -27,6 +27,8 @@ + + #define AUTH_VARS 3 + ++#define DLOPEN_LOCAL_SCAN ++ + #define BIN_DIRECTORY + + #define CONFIGURE_FILE +diff -uNr exim-4.69-old/src/EDITME exim-4.69/src/EDITME +--- exim-4.69-old/src/EDITME 2008-08-13 15:25:05.000000000 +0100 ++++ exim-4.69/src/EDITME 2008-08-13 15:25:31.000000000 +0100 +@@ -619,6 +619,20 @@ #------------------------------------------------------------------------------ @@ -33,22 +34,10 @@ diff -urN exim-4.14-0/src/EDITME exim-4.14-1/src/EDITME # The default distribution of Exim contains only the plain text form of the # documentation. Other forms are available separately. If you want to install # the documentation in "info" format, first fetch the Texinfo documentation -diff -urNad 50_localscan_dlopen.tmp/src/config.h.defaults 50_localscan_dlopen/src/config.h.defaults ---- 50_localscan_dlopen.tmp/src/config.h.defaults Sun Dec 29 11:55:42 2002 -+++ 50_localscan_dlopen/src/config.h.defaults Sun Dec 29 11:56:44 2002 -@@ -17,6 +17,8 @@ - #define AUTH_PLAINTEXT - #define AUTH_SPA - -+#define DLOPEN_LOCAL_SCAN -+ - #define BIN_DIRECTORY - - #define CONFIGURE_FILE -diff -urN exim-4.14-0/src/globals.c exim-4.14-1/src/globals.c ---- exim-4.14-0/src/globals.c Tue Mar 11 04:20:20 2003 -+++ exim-4.14-1/src/globals.c Sun Mar 23 15:34:15 2003 -@@ -103,6 +103,9 @@ +diff -uNr exim-4.69-old/src/globals.c exim-4.69/src/globals.c +--- exim-4.69-old/src/globals.c 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/globals.c 2008-08-13 15:25:31.000000000 +0100 +@@ -128,6 +128,9 @@ uschar *tls_verify_hosts = NULL; #endif @@ -58,10 +47,10 @@ diff -urN exim-4.14-0/src/globals.c exim-4.14-1/src/globals.c /* Input-reading functions for messages, so we can use special ones for incoming TCP/IP. The defaults use stdin. We never need these for any -diff -urN exim-4.14-0/src/globals.h exim-4.14-1/src/globals.h ---- exim-4.14-0/src/globals.h Tue Mar 11 04:20:20 2003 -+++ exim-4.14-1/src/globals.h Sun Mar 23 15:34:15 2003 -@@ -67,6 +67,9 @@ +diff -uNr exim-4.69-old/src/globals.h exim-4.69/src/globals.h +--- exim-4.69-old/src/globals.h 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/globals.h 2008-08-13 15:25:31.000000000 +0100 +@@ -88,6 +88,9 @@ extern uschar *tls_verify_hosts; /* Mandatory client verification */ #endif @@ -71,11 +60,11 @@ diff -urN exim-4.14-0/src/globals.h exim-4.14-1/src/globals.h /* Input-reading functions for messages, so we can use special ones for incoming TCP/IP. */ -diff -urN exim-4.14-0/src/local_scan.c exim-4.14-1/src/local_scan.c ---- exim-4.14-0/src/local_scan.c Tue Mar 11 04:20:20 2003 -+++ exim-4.14-1/src/local_scan.c Sun Mar 23 15:34:15 2003 -@@ -5,60 +5,131 @@ - /* Copyright (c) University of Cambridge 1995 - 2003 */ +diff -uNr exim-4.69-old/src/local_scan.c exim-4.69/src/local_scan.c +--- exim-4.69-old/src/local_scan.c 2007-01-08 10:50:18.000000000 +0000 ++++ exim-4.69/src/local_scan.c 2008-08-13 15:25:31.000000000 +0100 +@@ -7,60 +7,131 @@ + /* Copyright (c) University of Cambridge 1995 - 2007 */ /* See the file NOTICE for conditions of use and distribution. */ +#include "exim.h" @@ -249,14 +238,14 @@ diff -urN exim-4.14-0/src/local_scan.c exim-4.14-1/src/local_scan.c + +return TRUE; } -+ -+#endif /* DLOPEN_LOCAL_SCAN */ ++#endif /* DLOPEN_LOCAL_SCAN */ ++ /* End of local_scan.c */ -diff -urN exim-4.14-0/src/readconf.c exim-4.14-1/src/readconf.c ---- exim-4.14-0/src/readconf.c Tue Mar 11 04:20:22 2003 -+++ exim-4.14-1/src/readconf.c Sun Mar 23 15:34:15 2003 -@@ -182,6 +182,9 @@ +diff -uNr exim-4.69-old/src/readconf.c exim-4.69/src/readconf.c +--- exim-4.69-old/src/readconf.c 2007-08-23 12:01:49.000000000 +0100 ++++ exim-4.69/src/readconf.c 2008-08-13 15:25:31.000000000 +0100 +@@ -257,6 +257,9 @@ { "local_from_prefix", opt_stringptr, &local_from_prefix }, { "local_from_suffix", opt_stringptr, &local_from_suffix }, { "local_interfaces", opt_stringptr, &local_interfaces }, diff --git a/exim-4.69-dynlookup-config.patch b/exim-4.69-dynlookup-config.patch index dc02ee7..0792b89 100644 --- a/exim-4.69-dynlookup-config.patch +++ b/exim-4.69-dynlookup-config.patch @@ -1,7 +1,6 @@ -diff -u exim-4.69/src/EDITME exim-4.69/src/EDITME ---- exim-4.69/src/EDITME 2008-04-19 23:48:03.000000000 +0100 -+++ exim-4.69/src/EDITME 2008-04-19 23:54:46.000000000 +0100 -@@ -282,15 +282,17 @@ +--- exim-4.69/src/EDITME.orig 2008-08-13 15:30:05.000000000 +0100 ++++ exim-4.69/src/EDITME 2008-08-13 15:30:56.000000000 +0100 +@@ -282,14 +282,16 @@ # LOOKUP_IBASE=yes LOOKUP_LDAP=yes LDAP_LIB_TYPE=OPENLDAP2 @@ -22,4 +21,3 @@ diff -u exim-4.69/src/EDITME exim-4.69/src/EDITME LOOKUP_SQLITE=yes # LOOKUP_WHOSON=yes - # These two settings are obsolete; all three lookups are compiled when diff --git a/exim-4.69-dynlookup.patch b/exim-4.69-dynlookup.patch index 002a8c8..e3cd669 100644 --- a/exim-4.69-dynlookup.patch +++ b/exim-4.69-dynlookup.patch @@ -1,8 +1,7 @@ -diff --git a/Makefile b/Makefile -index 08d023b..9878b23 100644 ---- a/Makefile -+++ b/Makefile -@@ -77,11 +77,11 @@ clean:; @echo ""; echo '*** "make clean" just removes all .o and .a files' +diff -uNr exim-4.69-old/Makefile exim-4.69/Makefile +--- exim-4.69-old/Makefile 2005-09-12 14:55:54.000000000 +0100 ++++ exim-4.69/Makefile 2008-08-13 15:30:05.000000000 +0100 +@@ -80,11 +80,11 @@ cd build-$(buildname); \ $(RM_COMMAND) -f *.o lookups/*.o lookups/*.a auths/*.o auths/*.a \ routers/*.o routers/*.a transports/*.o transports/*.a \ @@ -16,11 +15,10 @@ index 08d023b..9878b23 100644 distclean:; $(RM_COMMAND) -rf build-* -diff --git a/OS/Makefile-Base b/OS/Makefile-Base -index a2648e5..14b0867 100644 ---- a/OS/Makefile-Base -+++ b/OS/Makefile-Base -@@ -311,6 +311,7 @@ OBJ_EXIM = acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.o \ +diff -uNr exim-4.69-old/OS/Makefile-Base exim-4.69/OS/Makefile-Base +--- exim-4.69-old/OS/Makefile-Base 2008-08-13 15:29:21.000000000 +0100 ++++ exim-4.69/OS/Makefile-Base 2008-08-13 15:30:05.000000000 +0100 +@@ -311,6 +311,7 @@ rda.o readconf.o receive.o retry.o rewrite.o rfc2047.o \ route.o search.o sieve.o smtp_in.o smtp_out.o spool_in.o spool_out.o \ store.o string.o tls.o tod.o transport.o tree.o verify.o \ @@ -28,11 +26,10 @@ index a2648e5..14b0867 100644 local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \ $(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL) -diff --git a/scripts/Configure-Makefile b/scripts/Configure-Makefile -index 01fd316..9cd6d60 100755 ---- a/scripts/Configure-Makefile -+++ b/scripts/Configure-Makefile -@@ -107,7 +107,7 @@ do if test -r ../$f +diff -uNr exim-4.69-old/scripts/Configure-Makefile exim-4.69/scripts/Configure-Makefile +--- exim-4.69-old/scripts/Configure-Makefile 2008-08-13 15:29:21.000000000 +0100 ++++ exim-4.69/scripts/Configure-Makefile 2008-08-13 15:30:05.000000000 +0100 +@@ -107,7 +107,7 @@ echo "# End of $f" echo "" fi @@ -41,11 +38,10 @@ index 01fd316..9cd6d60 100755 # See if there is a definition of EXIM_PERL in what we have built so far. # If so, run Perl to find the default values for PERL_CC, PERL_CCOPTS, -diff --git a/scripts/MakeLinks b/scripts/MakeLinks -index 257652c..f3daee2 100755 ---- a/scripts/MakeLinks -+++ b/scripts/MakeLinks -@@ -204,6 +204,7 @@ ln -s ../src/mytypes.h mytypes.h +diff -uNr exim-4.69-old/scripts/MakeLinks exim-4.69/scripts/MakeLinks +--- exim-4.69-old/scripts/MakeLinks 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/scripts/MakeLinks 2008-08-13 15:30:05.000000000 +0100 +@@ -204,6 +204,7 @@ ln -s ../src/osfunctions.h osfunctions.h ln -s ../src/store.h store.h ln -s ../src/structs.h structs.h @@ -53,44 +49,10 @@ index 257652c..f3daee2 100755 ln -s ../src/acl.c acl.c ln -s ../src/buildconfig.c buildconfig.c -diff --git a/src/EDITME b/src/EDITME -index 1438a38..cb2f7f7 100644 ---- a/src/EDITME -+++ b/src/EDITME -@@ -248,6 +248,9 @@ TRANSPORT_SMTP=yes - # SUPPORT_MAILSTORE=yes - # SUPPORT_MBX=yes - -+#------------------------------------------------------------------------------ -+# See below for dynamic lookup modules. -+# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/ - - #------------------------------------------------------------------------------ - # These settings determine which file and database lookup methods are included -@@ -257,6 +260,18 @@ TRANSPORT_SMTP=yes - # LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is - # for the specialist case of using the DNS as a general database facility (not - # common). -+# If set to "2" instead of "yes" then the corresponding lookup will be -+# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to -+# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to -+# EXTRALIBS so that dlopen() is available to Exim. You need to define -+# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup -+# modules. -+# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and -+# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS -+# (where * is the name as given here in this list). That ensures that only -+# the dynamic library and not the exim binary will be linked against the -+# library. -+# NOTE: LDAP cannot be built as a module! - - LOOKUP_DBM=yes - LOOKUP_LSEARCH=yes -diff --git a/src/config.h.defaults b/src/config.h.defaults -index ccf2696..bd271bf 100644 ---- a/src/config.h.defaults -+++ b/src/config.h.defaults -@@ -90,6 +90,8 @@ it's a default value. */ +diff -uNr exim-4.69-old/src/config.h.defaults exim-4.69/src/config.h.defaults +--- exim-4.69-old/src/config.h.defaults 2008-08-13 15:29:21.000000000 +0100 ++++ exim-4.69/src/config.h.defaults 2008-08-13 15:30:05.000000000 +0100 +@@ -92,6 +92,8 @@ #define LOOKUP_WILDLSEARCH #define LOOKUP_NWILDLSEARCH @@ -99,10 +61,9 @@ index ccf2696..bd271bf 100644 #define MAX_FILTER_SIZE (1024*1024) #define MAX_LOCALHOST_NUMBER 256 #define MAX_INCLUDE_SIZE (1024*1024) -diff --git a/src/drtables.c b/src/drtables.c -index 426933c..dc4e15f 100644 ---- a/src/drtables.c -+++ b/src/drtables.c +diff -uNr exim-4.69-old/src/drtables.c exim-4.69/src/drtables.c +--- exim-4.69-old/src/drtables.c 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/drtables.c 2008-08-13 15:30:05.000000000 +0100 @@ -10,6 +10,8 @@ #include "exim.h" @@ -112,7 +73,7 @@ index 426933c..dc4e15f 100644 /* This module contains tables that define the lookup methods and drivers that are actually included in the binary. Its contents are controlled by -@@ -31,535 +33,8 @@ even pickier compilers complaining about infinite loops. */ +@@ -31,535 +33,8 @@ static void dummy(int x) { dummy(x-1); } @@ -650,7 +611,7 @@ index 426933c..dc4e15f 100644 /* Table of information about all possible authentication mechamisms. All entries are always present if any mechanism is declared, but the functions are -@@ -887,4 +362,226 @@ transport_info transports_available[] = { +@@ -887,4 +362,226 @@ { US"", NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, FALSE } }; @@ -877,11 +838,42 @@ index 426933c..dc4e15f 100644 +} + /* End of drtables.c */ -diff --git a/src/exim.c b/src/exim.c -index 3509b1d..abf59b9 100644 ---- a/src/exim.c -+++ b/src/exim.c -@@ -928,53 +928,53 @@ fprintf(f, "Support for:"); +diff -uNr exim-4.69-old/src/EDITME exim-4.69/src/EDITME +--- exim-4.69-old/src/EDITME 2008-08-13 15:29:21.000000000 +0100 ++++ exim-4.69/src/EDITME 2008-08-13 15:30:05.000000000 +0100 +@@ -248,6 +248,9 @@ + SUPPORT_MAILSTORE=yes + SUPPORT_MBX=yes + ++#------------------------------------------------------------------------------ ++# See below for dynamic lookup modules. ++# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/ + + #------------------------------------------------------------------------------ + # These settings determine which file and database lookup methods are included +@@ -257,6 +260,18 @@ + # LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is + # for the specialist case of using the DNS as a general database facility (not + # common). ++# If set to "2" instead of "yes" then the corresponding lookup will be ++# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to ++# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to ++# EXTRALIBS so that dlopen() is available to Exim. You need to define ++# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup ++# modules. ++# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and ++# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS ++# (where * is the name as given here in this list). That ensures that only ++# the dynamic library and not the exim binary will be linked against the ++# library. ++# NOTE: LDAP cannot be built as a module! + + LOOKUP_DBM=yes + LOOKUP_LSEARCH=yes +diff -uNr exim-4.69-old/src/exim.c exim-4.69/src/exim.c +--- exim-4.69-old/src/exim.c 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/exim.c 2008-08-13 15:30:05.000000000 +0100 +@@ -925,53 +925,53 @@ #endif fprintf(f, "\n"); @@ -952,7 +944,7 @@ index 3509b1d..abf59b9 100644 fprintf(f, " whoson"); #endif fprintf(f, "\n"); -@@ -3427,6 +3427,9 @@ if (opt_perl_at_start && opt_perl_startup != NULL) +@@ -3424,6 +3424,9 @@ } #endif /* EXIM_PERL */ @@ -962,11 +954,10 @@ index 3509b1d..abf59b9 100644 /* Log the arguments of the call if the configuration file said so. This is a debugging feature for finding out what arguments certain MUAs actually use. Don't attempt it if logging is disabled, or if listing variables or if -diff --git a/src/expand.c b/src/expand.c -index 0844e8e..dc98145 100644 ---- a/src/expand.c -+++ b/src/expand.c -@@ -5378,8 +5378,8 @@ while (*s != 0) +diff -uNr exim-4.69-old/src/expand.c exim-4.69/src/expand.c +--- exim-4.69-old/src/expand.c 2007-10-04 14:23:05.000000000 +0100 ++++ exim-4.69/src/expand.c 2008-08-13 15:30:05.000000000 +0100 +@@ -5373,8 +5373,8 @@ goto EXPAND_FAILED; } @@ -977,11 +968,10 @@ index 0844e8e..dc98145 100644 else if (opt != NULL) sub = NULL; if (sub == NULL) -diff --git a/src/globals.h b/src/globals.h -index 9b25958..7d20140 100644 ---- a/src/globals.h -+++ b/src/globals.h -@@ -438,7 +438,7 @@ extern BOOL log_testing_mode; /* TRUE in various testing modes */ +diff -uNr exim-4.69-old/src/globals.h exim-4.69/src/globals.h +--- exim-4.69-old/src/globals.h 2008-08-13 15:29:21.000000000 +0100 ++++ exim-4.69/src/globals.h 2008-08-13 15:30:05.000000000 +0100 +@@ -432,7 +432,7 @@ extern BOOL log_timezone; /* TRUE to include the timezone in log lines */ extern unsigned int log_write_selector;/* Bit map of logging options for log_write() */ extern uschar *login_sender_address; /* The actual sender address */ @@ -990,11 +980,9 @@ index 9b25958..7d20140 100644 extern int lookup_list_count; /* Number of entries in the list */ extern int lookup_open_max; /* Max lookup files to cache */ extern uschar *lookup_value; /* Value looked up from file */ -diff --git a/src/lookupapi.h b/src/lookupapi.h -new file mode 100644 -index 0000000..4dab4c9 ---- /dev/null -+++ b/src/lookupapi.h +diff -uNr exim-4.69-old/src/lookupapi.h exim-4.69/src/lookupapi.h +--- exim-4.69-old/src/lookupapi.h 1970-01-01 01:00:00.000000000 +0100 ++++ exim-4.69/src/lookupapi.h 2008-08-13 15:30:05.000000000 +0100 @@ -0,0 +1,45 @@ +/* The "type" field in each item is a set of bit flags: + @@ -1041,351 +1029,81 @@ index 0000000..4dab4c9 + lookup_info **lookups; + uint lookupcount; +} lookup_module_info; -diff --git a/src/lookups/Makefile b/src/lookups/Makefile -index 75b78d2..e8c9bbd 100644 ---- a/src/lookups/Makefile -+++ b/src/lookups/Makefile -@@ -1,13 +1,181 @@ - # $Cambridge: exim/exim-src/src/lookups/Makefile,v 1.8 2008/02/14 13:49:35 fanf2 Exp $ +diff -uNr exim-4.69-old/src/lookups/cdb.c exim-4.69/src/lookups/cdb.c +--- exim-4.69-old/src/lookups/cdb.c 2005-06-27 15:29:44.000000000 +0100 ++++ exim-4.69/src/lookups/cdb.c 2008-08-13 15:30:05.000000000 +0100 +@@ -56,7 +56,6 @@ --# Make file for building a library containing all the available lookups and --# calling it lookups.a. This is called from the main make file, after cd'ing --# to the lookups subdirectory. When the relevant LOOKUP_ macros are not --# defined, dummy modules get compiled. -+# Make file for building all the available lookups. -+# This is called from the main make file, after cd'ing -+# to the lookups subdirectory. + #include "../exim.h" + #include "lf_functions.h" +-#include "cdb.h" --OBJ = cdb.o dbmdb.o dkim.o dnsdb.o dsearch.o ibase.o ldap.o lsearch.o mysql.o nis.o \ -- nisplus.o oracle.o passwd.o pgsql.o spf.o sqlite.o testdb.o whoson.o \ -- lf_check_file.o lf_quote.o lf_sqlperform.o -+# because the variable is EXPERIMENTAL_SPF and not LOOKUP_SPF -+# we put this one here by default and compile a dummy if -+# EXPERIMENTAL_SPF is not defined -+OBJ=spf.o -+MODS= -+ -+ifeq ($(LOOKUP_CDB),2) -+MODS += cdb.so -+LOOKUP_cdb_INCLUDE = $(LOOKUP_CDB_INCLUDE) -+LOOKUP_cdb_LIBS = $(LOOKUP_CDB_LIBS) -+else -+ifneq ($(LOOKUP_CDB),) -+OBJ += cdb.o -+endif -+endif -+ -+ifeq ($(LOOKUP_DBM),2) -+MODS += dbmdb.so -+LOOKUP_dbmdb_INCLUDE = $(LOOKUP_DBM_INCLUDE) -+LOOKUP_dbmdb_LIBS = $(LOOKUP_DBM_LIBS) -+else -+ifneq ($(LOOKUP_DBM),) -+OBJ += dbmdb.o -+endif -+endif -+ -+ifeq ($(LOOKUP_DKIM),2) -+MODS += dkim.so -+LOOKUP_dkim_INCLUDE = $(LOOKUP_DKIM_INCLUDE) -+LOOKUP_dkim_LIBS = $(LOOKUP_DKIM_LIBS) -+else -+ifneq ($(LOOKUP_DKIM),) -+OBJ += dkim.o -+endif -+endif -+ -+ifeq ($(LOOKUP_DNSDB),2) -+MODS += dnsdb.so -+LOOKUP_dnsdb_INCLUDE = $(LOOKUP_DNSDB_INCLUDE) -+LOOKUP_dnsdb_LIBS = $(LOOKUP_DNSDB_LIBS) -+else -+ifneq ($(LOOKUP_DNSDB),) -+OBJ += dnsdb.o -+endif -+endif -+ -+ifeq ($(LOOKUP_DSEARCH),2) -+MODS += dsearch.so -+LOOKUP_dsearch_INCLUDE = $(LOOKUP_DSEARCH_INCLUDE) -+LOOKUP_dsearch_LIBS = $(LOOKUP_DSEARCH_LIBS) -+else -+ifneq ($(LOOKUP_DSEARCH),) -+OBJ += dsearch.o -+endif -+endif -+ -+ifeq ($(LOOKUP_IBASE),2) -+MODS += ibase.so -+LOOKUP_ibase_INCLUDE = $(LOOKUP_IBASE_INCLUDE) -+LOOKUP_ibase_LIBS = $(LOOKUP_IBASE_LIBS) -+else -+ifneq ($(LOOKUP_IBASE),) -+OBJ += ibase.o -+endif -+endif -+ -+ifneq ($(LOOKUP_LDAP),) -+OBJ += ldap.o -+endif -+ -+ifeq ($(LOOKUP_LSEARCH),2) -+MODS += lsearch.so -+LOOKUP_lsearch_INCLUDE = $(LOOKUP_LSEARCH_INCLUDE) -+LOOKUP_lsearch_LIBS = $(LOOKUP_LSEARCH_LIBS) -+else -+ifneq ($(LOOKUP_LSEARCH),) -+OBJ += lsearch.o -+endif -+endif -+ -+ifeq ($(LOOKUP_MYSQL),2) -+MODS += mysql.so -+LOOKUP_mysql_INCLUDE = $(LOOKUP_MYSQL_INCLUDE) -+LOOKUP_mysql_LIBS = $(LOOKUP_MYSQL_LIBS) -+else -+ifneq ($(LOOKUP_MYSQL),) -+OBJ += mysql.o -+endif -+endif -+ -+ifeq ($(LOOKUP_NIS),2) -+MODS += nis.so -+LOOKUP_nis_INCLUDE = $(LOOKUP_NIS_INCLUDE) -+LOOKUP_nis_LIBS = $(LOOKUP_NIS_LIBS) -+else -+ifneq ($(LOOKUP_NIS),) -+OBJ += nis.o -+endif -+endif -+ -+ifeq ($(LOOKUP_NISPLUS),2) -+MODS += nisplus.so -+LOOKUP_nisplus_INCLUDE = $(LOOKUP_NISPLUS_INCLUDE) -+LOOKUP_nisplus_LIBS = $(LOOKUP_NISPLUS_LIBS) -+else -+ifneq ($(LOOKUP_NISPLUS),) -+OBJ += nisplus.o -+endif -+endif + #ifdef HAVE_MMAP + # include +@@ -144,7 +143,9 @@ + return num; + } + +-void * ++static void cdb_close(void *handle); + -+ifeq ($(LOOKUP_ORACLE),2) -+MODS += oracle.so -+LOOKUP_oracle_INCLUDE = $(LOOKUP_ORACLE_INCLUDE) -+LOOKUP_oracle_LIBS = $(LOOKUP_ORACLE_LIBS) -+else -+ifneq ($(LOOKUP_ORACLE),) -+OBJ += oracle.o -+endif -+endif ++static void * + cdb_open(uschar *filename, + uschar **errmsg) + { +@@ -245,7 +246,7 @@ + * Check entry point * + *************************************************/ + +-BOOL ++static BOOL + cdb_check(void *handle, + uschar *filename, + int modemask, +@@ -270,7 +271,7 @@ + * Find entry point * + *************************************************/ + +-int ++static int + cdb_find(void *handle, + uschar *filename, + uschar *keystring, +@@ -418,7 +419,7 @@ + + /* See local README for interface description */ + +-void ++static void + cdb_close(void *handle) + { + struct cdb_state * cdbp = handle; +@@ -434,4 +435,22 @@ + (void)close(cdbp->fileno); + } + ++lookup_info cdb_lookup_info = { ++ US"cdb", /* lookup name */ ++ lookup_absfile, /* uses absolute file name */ ++ cdb_open, /* open function */ ++ cdb_check, /* check function */ ++ cdb_find, /* find function */ ++ cdb_close, /* close function */ ++ NULL, /* no tidy function */ ++ NULL /* no quoting function */ ++}; + -+ifeq ($(LOOKUP_PASSWD),2) -+MODS += passwd.so -+LOOKUP_passwd_INCLUDE = $(LOOKUP_PASSWD_INCLUDE) -+LOOKUP_passwd_LIBS = $(LOOKUP_PASSWD_LIBS) -+else -+ifneq ($(LOOKUP_PASSWD),) -+OBJ += passwd.o -+endif -+endif ++#ifdef DYNLOOKUP ++#define cdb_lookup_module_info _lookup_module_info ++#endif + -+ifeq ($(LOOKUP_PGSQL),2) -+MODS += pgsql.so -+LOOKUP_pgsql_INCLUDE = $(LOOKUP_PGSQL_INCLUDE) -+LOOKUP_pgsql_LIBS = $(LOOKUP_PGSQL_LIBS) -+else -+ifneq ($(LOOKUP_PGSQL),) -+OBJ += pgsql.o -+endif -+endif -+ -+ifeq ($(LOOKUP_SQLITE),2) -+MODS += sqlite.so -+LOOKUP_sqlite_INCLUDE = $(LOOKUP_SQLITE_INCLUDE) -+LOOKUP_sqlite_LIBS = $(LOOKUP_SQLITE_LIBS) -+else -+ifneq ($(LOOKUP_SQLITE),) -+OBJ += sqlite.o -+endif -+endif -+ -+ifeq ($(LOOKUP_TESTDB),2) -+MODS += testdb.so -+LOOKUP_testdb_INCLUDE = $(LOOKUP_TESTDB_INCLUDE) -+LOOKUP_testdb_LIBS = $(LOOKUP_TESTDB_LIBS) -+else -+ifneq ($(LOOKUP_TESTDB),) -+OBJ += testdb.o -+endif -+endif -+ -+ifeq ($(LOOKUP_WHOSON),2) -+MODS += whoson.so -+LOOKUP_whoson_INCLUDE = $(LOOKUP_WHOSON_INCLUDE) -+LOOKUP_whoson_LIBS = $(LOOKUP_WHOSON_LIBS) -+else -+ifneq ($(LOOKUP_WHOSON),) -+OBJ += whoson.o -+endif -+endif -+ -+ -+all: lookups.a lf_quote.o lf_check_file.o lf_sqlperform.o $(MODS) - - lookups.a: $(OBJ) - @$(RM_COMMAND) -f lookups.a -@@ -15,31 +183,54 @@ lookups.a: $(OBJ) - @$(AR) lookups.a $(OBJ) - $(RANLIB) $@ - --.SUFFIXES: .o .c -+.SUFFIXES: .o .c .so - .c.o:; @echo "$(CC) $*.c" - $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) $*.c - -+.c.so:; @echo "$(CC) -shared $*.c" -+ $(FE)$(CC) $(LOOKUP_$*_INCLUDE) $(LOOKUP_$*_LIBS) -DDYNLOOKUP -shared -rdynamic $(CFLAGS) $(INCLUDE) $(DLFLAGS) $*.c -o $@ -+ - lf_check_file.o: $(HDRS) lf_check_file.c lf_functions.h - lf_quote.o: $(HDRS) lf_quote.c lf_functions.h - lf_sqlperform.o: $(HDRS) lf_sqlperform.c lf_functions.h - --cdb.o: $(HDRS) cdb.c cdb.h --dbmdb.o: $(HDRS) dbmdb.c dbmdb.h --dkim.o: $(HDRS) dkim.c dkim.h --dnsdb.o: $(HDRS) dnsdb.c dnsdb.h --dsearch.o: $(HDRS) dsearch.c dsearch.h --ibase.o: $(HDRS) ibase.c ibase.h --ldap.o: $(HDRS) ldap.c ldap.h --lsearch.o: $(HDRS) lsearch.c lsearch.h --mysql.o: $(HDRS) mysql.c mysql.h --nis.o: $(HDRS) nis.c nis.h --nisplus.o: $(HDRS) nisplus.c nisplus.h --oracle.o: $(HDRS) oracle.c oracle.h --passwd.o: $(HDRS) passwd.c passwd.h --pgsql.o: $(HDRS) pgsql.c pgsql.h --spf.o: $(HDRS) spf.c spf.h --sqlite.o: $(HDRS) sqlite.c sqlite.h --testdb.o: $(HDRS) testdb.c testdb.h --whoson.o: $(HDRS) whoson.c whoson.h -+cdb.o: $(HDRS) cdb.c -+dbmdb.o: $(HDRS) dbmdb.c -+dkim.o: $(HDRS) dkim.c -+dnsdb.o: $(HDRS) dnsdb.c -+dsearch.o: $(HDRS) dsearch.c -+ibase.o: $(HDRS) ibase.c -+ldap.o: $(HDRS) ldap.c -+lsearch.o: $(HDRS) lsearch.c -+mysql.o: $(HDRS) mysql.c -+nis.o: $(HDRS) nis.c -+nisplus.o: $(HDRS) nisplus.c -+oracle.o: $(HDRS) oracle.c -+passwd.o: $(HDRS) passwd.c -+pgsql.o: $(HDRS) pgsql.c -+spf.o: $(HDRS) spf.c -+sqlite.o: $(HDRS) sqlite.c -+testdb.o: $(HDRS) testdb.c -+whoson.o: $(HDRS) whoson.c -+ -+cdb.so: $(HDRS) cdb.c -+dbmdb.so: $(HDRS) dbmdb.c -+dkim.so: $(HDRS) dkim.c -+dnsdb.so: $(HDRS) dnsdb.c -+dsearch.so: $(HDRS) dsearch.c -+ibase.so: $(HDRS) ibase.c -+ldap.so: $(HDRS) ldap.c -+lsearch.so: $(HDRS) lsearch.c -+mysql.so: $(HDRS) mysql.c -+nis.so: $(HDRS) nis.c -+nisplus.so: $(HDRS) nisplus.c -+oracle.so: $(HDRS) oracle.c -+passwd.so: $(HDRS) passwd.c -+pgsql.so: $(HDRS) pgsql.c -+spf.so: $(HDRS) spf.c -+sqlite.so: $(HDRS) sqlite.c -+testdb.so: $(HDRS) testdb.c -+whoson.so: $(HDRS) whoson.c -+ - - # End -diff --git a/src/lookups/cdb.c b/src/lookups/cdb.c -index cb4c727..23d0152 100644 ---- a/src/lookups/cdb.c -+++ b/src/lookups/cdb.c -@@ -56,7 +56,6 @@ - - #include "../exim.h" - #include "lf_functions.h" --#include "cdb.h" - - #ifdef HAVE_MMAP - # include -@@ -144,7 +143,9 @@ cdb_unpack(uschar *buf) - return num; - } - --void * -+static void cdb_close(void *handle); -+ -+static void * - cdb_open(uschar *filename, - uschar **errmsg) - { -@@ -245,7 +246,7 @@ cdb_open(uschar *filename, - * Check entry point * - *************************************************/ - --BOOL -+static BOOL - cdb_check(void *handle, - uschar *filename, - int modemask, -@@ -270,7 +271,7 @@ cdb_check(void *handle, - * Find entry point * - *************************************************/ - --int -+static int - cdb_find(void *handle, - uschar *filename, - uschar *keystring, -@@ -418,7 +419,7 @@ cdb_find(void *handle, - - /* See local README for interface description */ - --void -+static void - cdb_close(void *handle) - { - struct cdb_state * cdbp = handle; -@@ -434,4 +435,22 @@ struct cdb_state * cdbp = handle; - (void)close(cdbp->fileno); - } - -+lookup_info cdb_lookup_info = { -+ US"cdb", /* lookup name */ -+ lookup_absfile, /* uses absolute file name */ -+ cdb_open, /* open function */ -+ cdb_check, /* check function */ -+ cdb_find, /* find function */ -+ cdb_close, /* close function */ -+ NULL, /* no tidy function */ -+ NULL /* no quoting function */ -+}; -+ -+#ifdef DYNLOOKUP -+#define cdb_lookup_module_info _lookup_module_info -+#endif -+ -+static lookup_info *_lookup_list[] = { &cdb_lookup_info }; -+lookup_module_info cdb_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; ++static lookup_info *_lookup_list[] = { &cdb_lookup_info }; ++lookup_module_info cdb_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + /* End of lookups/cdb.c */ -diff --git a/src/lookups/cdb.h b/src/lookups/cdb.h -deleted file mode 100644 -index df9fb2c..0000000 ---- a/src/lookups/cdb.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/cdb.h exim-4.69/src/lookups/cdb.h +--- exim-4.69-old/src/lookups/cdb.h 2004-10-07 14:10:01.000000000 +0100 ++++ exim-4.69/src/lookups/cdb.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,59 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/cdb.h,v 1.1 2004/10/07 13:10:01 ph10 Exp $ */ - @@ -1446,10 +1164,9 @@ index df9fb2c..0000000 -extern void cdb_close(void *); - -/* End of cdb.h */ -diff --git a/src/lookups/dbmdb.c b/src/lookups/dbmdb.c -index 0d79522..8e459b9 100644 ---- a/src/lookups/dbmdb.c -+++ b/src/lookups/dbmdb.c +diff -uNr exim-4.69-old/src/lookups/dbmdb.c exim-4.69/src/lookups/dbmdb.c +--- exim-4.69-old/src/lookups/dbmdb.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/dbmdb.c 2008-08-13 15:30:05.000000000 +0100 @@ -9,7 +9,6 @@ #include "../exim.h" @@ -1467,7 +1184,7 @@ index 0d79522..8e459b9 100644 dbmdb_open(uschar *filename, uschar **errmsg) { EXIM_DB *yield; -@@ -45,7 +44,7 @@ file name. If USE_TDB or USE_GDBM is set, we know it is tdb or gdbm, which do +@@ -45,7 +44,7 @@ the same. Otherwise, for safety, we have to check for x.db or x.dir and x.pag. */ @@ -1476,7 +1193,7 @@ index 0d79522..8e459b9 100644 dbmdb_check(void *handle, uschar *filename, int modemask, uid_t *owners, gid_t *owngroups, uschar **errmsg) { -@@ -88,7 +87,7 @@ return rc == 0; +@@ -88,7 +87,7 @@ /* See local README for interface description. This function adds 1 to the keylength in order to include the terminating zero. */ @@ -1485,7 +1202,7 @@ index 0d79522..8e459b9 100644 dbmdb_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -121,7 +120,7 @@ return FAIL; +@@ -121,7 +120,7 @@ /* See local README for interface description */ @@ -1494,7 +1211,7 @@ index 0d79522..8e459b9 100644 dbmnz_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -137,10 +136,39 @@ return dbmdb_find(handle, filename, keystring, length-1, result, errmsg, +@@ -137,10 +136,39 @@ /* See local README for interface description */ @@ -1535,11 +1252,9 @@ index 0d79522..8e459b9 100644 +lookup_module_info dbmdb_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 2 }; + /* End of lookups/dbmdb.c */ -diff --git a/src/lookups/dbmdb.h b/src/lookups/dbmdb.h -deleted file mode 100644 -index 26bd792..0000000 ---- a/src/lookups/dbmdb.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/dbmdb.h exim-4.69/src/lookups/dbmdb.h +--- exim-4.69-old/src/lookups/dbmdb.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/dbmdb.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/dbmdb.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -1562,10 +1277,9 @@ index 26bd792..0000000 -extern void dbmdb_close(void *); - -/* End of lookups/dbmdb.h */ -diff --git a/src/lookups/dkim.c b/src/lookups/dkim.c -index fa2ecf2..3c55913 100755 ---- a/src/lookups/dkim.c -+++ b/src/lookups/dkim.c +diff -uNr exim-4.69-old/src/lookups/dkim.c exim-4.69/src/lookups/dkim.c +--- exim-4.69-old/src/lookups/dkim.c 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/lookups/dkim.c 2008-08-13 15:30:05.000000000 +0100 @@ -8,7 +8,6 @@ /* See the file NOTICE for conditions of use and distribution. */ @@ -1583,7 +1297,7 @@ index fa2ecf2..3c55913 100755 dkim_open(uschar *filename, uschar **errmsg) { filename = filename; /* Keep picky compilers happy */ -@@ -35,7 +34,7 @@ return (void *)(-1); /* Just return something non-null */ +@@ -35,7 +34,7 @@ /* See local README for interface description */ @@ -1592,7 +1306,7 @@ index fa2ecf2..3c55913 100755 dkim_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -49,4 +48,22 @@ dkim_find(void *handle, uschar *filename, uschar *keystring, int length, +@@ -49,4 +48,22 @@ #endif } @@ -1615,11 +1329,9 @@ index fa2ecf2..3c55913 100755 +lookup_module_info cdb_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + /* End of lookups/dkim.c */ -diff --git a/src/lookups/dkim.h b/src/lookups/dkim.h -deleted file mode 100755 -index cc57697..0000000 ---- a/src/lookups/dkim.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/dkim.h exim-4.69/src/lookups/dkim.h +--- exim-4.69-old/src/lookups/dkim.h 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/lookups/dkim.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/dkim.h,v 1.1 2007/09/28 12:21:57 tom Exp $ */ - @@ -1637,10 +1349,9 @@ index cc57697..0000000 - BOOL *); - -/* End of lookups/dkim.h */ -diff --git a/src/lookups/dnsdb.c b/src/lookups/dnsdb.c -index bda714c..bea9a8c 100644 ---- a/src/lookups/dnsdb.c -+++ b/src/lookups/dnsdb.c +diff -uNr exim-4.69-old/src/lookups/dnsdb.c exim-4.69/src/lookups/dnsdb.c +--- exim-4.69-old/src/lookups/dnsdb.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/dnsdb.c 2008-08-13 15:30:05.000000000 +0100 @@ -9,8 +9,6 @@ #include "../exim.h" @@ -1650,7 +1361,7 @@ index bda714c..bea9a8c 100644 /* Ancient systems (e.g. SunOS4) don't appear to have T_TXT defined in their -@@ -67,7 +65,7 @@ static int type_values[] = { +@@ -67,7 +65,7 @@ /* See local README for interface description. */ @@ -1659,7 +1370,7 @@ index bda714c..bea9a8c 100644 dnsdb_open(uschar *filename, uschar **errmsg) { filename = filename; /* Keep picky compilers happy */ -@@ -102,7 +100,7 @@ default is "TXT". +@@ -102,7 +100,7 @@ which may start with '<' in order to set a specific separator. The default separator, as always, is colon. */ @@ -1668,7 +1379,7 @@ index bda714c..bea9a8c 100644 dnsdb_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -394,4 +392,22 @@ yield[ptr] = 0; +@@ -394,4 +392,22 @@ return OK; } @@ -1691,11 +1402,9 @@ index bda714c..bea9a8c 100644 +lookup_module_info dnsdb_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + /* End of lookups/dnsdb.c */ -diff --git a/src/lookups/dnsdb.h b/src/lookups/dnsdb.h -deleted file mode 100644 -index 98bdf92..0000000 ---- a/src/lookups/dnsdb.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/dnsdb.h exim-4.69/src/lookups/dnsdb.h +--- exim-4.69-old/src/lookups/dnsdb.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/dnsdb.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/dnsdb.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -1713,11 +1422,10 @@ index 98bdf92..0000000 - BOOL *); - -/* End of lookups/dnsdb.h */ -diff --git a/src/lookups/dsearch.c b/src/lookups/dsearch.c -index 661021d..7befda3 100644 ---- a/src/lookups/dsearch.c -+++ b/src/lookups/dsearch.c -@@ -14,8 +14,6 @@ lstat()) rather than a directory scan). */ +diff -uNr exim-4.69-old/src/lookups/dsearch.c exim-4.69/src/lookups/dsearch.c +--- exim-4.69-old/src/lookups/dsearch.c 2007-05-31 13:42:07.000000000 +0100 ++++ exim-4.69/src/lookups/dsearch.c 2008-08-13 15:30:05.000000000 +0100 +@@ -14,8 +14,6 @@ #include "../exim.h" #include "lf_functions.h" @@ -1726,7 +1434,7 @@ index 661021d..7befda3 100644 /************************************************* -@@ -27,7 +25,7 @@ whether it exists and whether it is searchable. However, we don't need to keep +@@ -27,7 +25,7 @@ it open, because the "search" can be done by a call to lstat() rather than actually scanning through the list of files. */ @@ -1735,7 +1443,7 @@ index 661021d..7befda3 100644 dsearch_open(uschar *dirname, uschar **errmsg) { DIR *dp = opendir(CS dirname); -@@ -50,7 +48,7 @@ return (void *)(-1); +@@ -50,7 +48,7 @@ /* The handle will always be (void *)(-1), but don't try casting it to an integer as this gives warnings on 64-bit systems. */ @@ -1744,7 +1452,7 @@ index 661021d..7befda3 100644 dsearch_check(void *handle, uschar *filename, int modemask, uid_t *owners, gid_t *owngroups, uschar **errmsg) { -@@ -68,7 +66,7 @@ return lf_check_file(-1, filename, S_IFDIR, modemask, owners, owngroups, +@@ -68,7 +66,7 @@ scanning the directory, as it is hopefully faster to let the OS do the scanning for us. */ @@ -1753,7 +1461,7 @@ index 661021d..7befda3 100644 dsearch_find(void *handle, uschar *dirname, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -114,10 +112,28 @@ return DEFER; +@@ -114,10 +112,28 @@ /* See local README for interface description */ @@ -1783,11 +1491,9 @@ index 661021d..7befda3 100644 +lookup_module_info dsearch_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + /* End of lookups/dsearch.c */ -diff --git a/src/lookups/dsearch.h b/src/lookups/dsearch.h -deleted file mode 100644 -index e686824..0000000 ---- a/src/lookups/dsearch.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/dsearch.h exim-4.69/src/lookups/dsearch.h +--- exim-4.69-old/src/lookups/dsearch.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/dsearch.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/dsearch.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -1807,10 +1513,9 @@ index e686824..0000000 -extern void dsearch_close(void *); - -/* End of lookups/dsearch.h */ -diff --git a/src/lookups/ibase.c b/src/lookups/ibase.c -index 54699a1..ae9c04f 100644 ---- a/src/lookups/ibase.c -+++ b/src/lookups/ibase.c +diff -uNr exim-4.69-old/src/lookups/ibase.c exim-4.69/src/lookups/ibase.c +--- exim-4.69-old/src/lookups/ibase.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/ibase.c 2008-08-13 15:30:05.000000000 +0100 @@ -11,14 +11,7 @@ #include "../exim.h" @@ -1826,7 +1531,7 @@ index 54699a1..ae9c04f 100644 #include /* The system header */ /* Structure and anchor for caching connections. */ -@@ -40,7 +33,7 @@ static ibase_connection *ibase_connections = NULL; +@@ -40,7 +33,7 @@ /* See local README for interface description. */ @@ -1835,7 +1540,7 @@ index 54699a1..ae9c04f 100644 { return (void *) (1); /* Just return something non-null */ } -@@ -53,7 +46,7 @@ void *ibase_open(uschar * filename, uschar ** errmsg) +@@ -53,7 +46,7 @@ /* See local README for interface description. */ @@ -1844,7 +1549,7 @@ index 54699a1..ae9c04f 100644 { ibase_connection *cn; ISC_STATUS status[20]; -@@ -458,7 +451,7 @@ always leaves enough room for a terminating zero. */ +@@ -458,7 +451,7 @@ arguments are not used. Loop through a list of servers while the query is deferred with a retryable error. */ @@ -1853,7 +1558,7 @@ index 54699a1..ae9c04f 100644 ibase_find(void *handle, uschar * filename, uschar * query, int length, uschar ** result, uschar ** errmsg, BOOL *do_cache) { -@@ -510,7 +503,7 @@ Arguments: +@@ -510,7 +503,7 @@ Returns: the processed string or NULL for a bad option */ @@ -1862,7 +1567,7 @@ index 54699a1..ae9c04f 100644 { register int c; int count = 0; -@@ -553,6 +546,22 @@ uschar *ibase_quote(uschar * s, uschar * opt) +@@ -553,6 +546,22 @@ return quoted; } @@ -1885,11 +1590,9 @@ index 54699a1..ae9c04f 100644 +lookup_module_info ibase_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + /* End of lookups/ibase.c */ -diff --git a/src/lookups/ibase.h b/src/lookups/ibase.h -deleted file mode 100644 -index cc64230..0000000 ---- a/src/lookups/ibase.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/ibase.h exim-4.69/src/lookups/ibase.h +--- exim-4.69-old/src/lookups/ibase.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/ibase.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/ibase.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -1909,11 +1612,10 @@ index cc64230..0000000 -extern uschar *ibase_quote(uschar *, uschar *); - -/* End of lookups/ibase.h */ -diff --git a/src/lookups/ldap.c b/src/lookups/ldap.c -index f704f88..ec2a3e5 100644 ---- a/src/lookups/ldap.c -+++ b/src/lookups/ldap.c -@@ -15,21 +15,6 @@ researching how to handle the different kinds of error. */ +diff -uNr exim-4.69-old/src/lookups/ldap.c exim-4.69/src/lookups/ldap.c +--- exim-4.69-old/src/lookups/ldap.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/ldap.c 2008-08-13 15:30:05.000000000 +0100 +@@ -15,21 +15,6 @@ #include "../exim.h" #include "lf_functions.h" @@ -1935,7 +1637,7 @@ index f704f88..ec2a3e5 100644 /* Include LDAP headers. The code below uses some "old" LDAP interfaces that are deprecated in OpenLDAP. I don't know their status in other LDAP -@@ -1196,7 +1181,7 @@ return DEFER; +@@ -1196,7 +1181,7 @@ are handled by a common function, with a flag to differentiate between them. The handle and filename arguments are not used. */ @@ -1944,7 +1646,7 @@ index f704f88..ec2a3e5 100644 eldap_find(void *handle, uschar *filename, uschar *ldap_url, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -1205,7 +1190,7 @@ do_cache = do_cache; +@@ -1205,7 +1190,7 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_SINGLE, result, errmsg)); } @@ -1953,7 +1655,7 @@ index f704f88..ec2a3e5 100644 eldapm_find(void *handle, uschar *filename, uschar *ldap_url, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -1214,7 +1199,7 @@ do_cache = do_cache; +@@ -1214,7 +1199,7 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_MULTIPLE, result, errmsg)); } @@ -1962,7 +1664,7 @@ index f704f88..ec2a3e5 100644 eldapdn_find(void *handle, uschar *filename, uschar *ldap_url, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -1240,7 +1225,7 @@ return(control_ldap_search(ldap_url, SEARCH_LDAP_AUTH, result, errmsg)); +@@ -1240,7 +1225,7 @@ /* See local README for interface description. */ @@ -1971,7 +1673,7 @@ index f704f88..ec2a3e5 100644 eldap_open(uschar *filename, uschar **errmsg) { return (void *)(1); /* Just return something non-null */ -@@ -1255,7 +1240,7 @@ return (void *)(1); /* Just return something non-null */ +@@ -1255,7 +1240,7 @@ /* See local README for interface description. Make sure that eldap_dn does not refer to reclaimed or worse, freed store */ @@ -1980,7 +1682,7 @@ index f704f88..ec2a3e5 100644 eldap_tidy(void) { LDAP_CONNECTION *lcp = NULL; -@@ -1351,7 +1336,7 @@ quote_ldap_dn, respectively. */ +@@ -1351,7 +1336,7 @@ @@ -1989,7 +1691,7 @@ index f704f88..ec2a3e5 100644 eldap_quote(uschar *s, uschar *opt) { register int c; -@@ -1470,6 +1455,44 @@ else +@@ -1470,6 +1455,44 @@ return quoted; } @@ -2035,10 +1737,9 @@ index f704f88..ec2a3e5 100644 +lookup_module_info ldap_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 3 }; /* End of lookups/ldap.c */ -diff --git a/src/lookups/ldap.h b/src/lookups/ldap.h -index 9e1d716..62383b8 100644 ---- a/src/lookups/ldap.h -+++ b/src/lookups/ldap.h +diff -uNr exim-4.69-old/src/lookups/ldap.h exim-4.69/src/lookups/ldap.h +--- exim-4.69-old/src/lookups/ldap.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/ldap.h 2008-08-13 15:30:05.000000000 +0100 @@ -7,18 +7,9 @@ /* Copyright (c) University of Cambridge 1995 - 2007 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -2059,10 +1760,9 @@ index 9e1d716..62383b8 100644 -extern uschar *eldap_quote(uschar *, uschar *); /* End of lookups/ldap.h */ -diff --git a/src/lookups/lsearch.c b/src/lookups/lsearch.c -index d9ff9d4..4ac7b65 100644 ---- a/src/lookups/lsearch.c -+++ b/src/lookups/lsearch.c +diff -uNr exim-4.69-old/src/lookups/lsearch.c exim-4.69/src/lookups/lsearch.c +--- exim-4.69-old/src/lookups/lsearch.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/lsearch.c 2008-08-13 15:30:05.000000000 +0100 @@ -9,7 +9,6 @@ #include "../exim.h" @@ -2071,7 +1771,7 @@ index d9ff9d4..4ac7b65 100644 /* Codes for the different kinds of lsearch that are supported */ -@@ -28,7 +27,7 @@ enum { +@@ -28,7 +27,7 @@ /* See local README for interface description */ @@ -2080,7 +1780,7 @@ index d9ff9d4..4ac7b65 100644 lsearch_open(uschar *filename, uschar **errmsg) { FILE *f = Ufopen(filename, "rb"); -@@ -48,7 +47,7 @@ return f; +@@ -48,7 +47,7 @@ * Check entry point * *************************************************/ @@ -2089,7 +1789,7 @@ index d9ff9d4..4ac7b65 100644 lsearch_check(void *handle, uschar *filename, int modemask, uid_t *owners, gid_t *owngroups, uschar **errmsg) { -@@ -320,7 +319,7 @@ return FAIL; +@@ -320,7 +319,7 @@ /* See local README for interface description */ @@ -2098,7 +1798,7 @@ index d9ff9d4..4ac7b65 100644 lsearch_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -337,7 +336,7 @@ return internal_lsearch_find(handle, filename, keystring, length, result, +@@ -337,7 +336,7 @@ /* See local README for interface description */ @@ -2107,7 +1807,7 @@ index d9ff9d4..4ac7b65 100644 wildlsearch_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -354,7 +353,7 @@ return internal_lsearch_find(handle, filename, keystring, length, result, +@@ -354,7 +353,7 @@ /* See local README for interface description */ @@ -2116,7 +1816,7 @@ index d9ff9d4..4ac7b65 100644 nwildlsearch_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -372,7 +371,7 @@ return internal_lsearch_find(handle, filename, keystring, length, result, +@@ -372,7 +371,7 @@ /* See local README for interface description */ @@ -2125,7 +1825,7 @@ index d9ff9d4..4ac7b65 100644 iplsearch_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -401,10 +400,64 @@ else +@@ -401,10 +400,64 @@ /* See local README for interface description */ @@ -2191,11 +1891,9 @@ index d9ff9d4..4ac7b65 100644 +lookup_module_info lsearch_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 4 }; + /* End of lookups/lsearch.c */ -diff --git a/src/lookups/lsearch.h b/src/lookups/lsearch.h -deleted file mode 100644 -index 7245d4c..0000000 ---- a/src/lookups/lsearch.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/lsearch.h exim-4.69/src/lookups/lsearch.h +--- exim-4.69-old/src/lookups/lsearch.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/lsearch.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/lsearch.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -2222,11 +1920,277 @@ index 7245d4c..0000000 - uschar **, BOOL *); - -/* End of lookups/lsearch.h */ -diff --git a/src/lookups/mysql.c b/src/lookups/mysql.c -index 9b2dda9..279ee95 100644 ---- a/src/lookups/mysql.c -+++ b/src/lookups/mysql.c -@@ -13,22 +13,6 @@ functions. */ +diff -uNr exim-4.69-old/src/lookups/Makefile exim-4.69/src/lookups/Makefile +--- exim-4.69-old/src/lookups/Makefile 2007-09-28 13:21:57.000000000 +0100 ++++ exim-4.69/src/lookups/Makefile 2008-08-13 15:30:05.000000000 +0100 +@@ -1,13 +1,181 @@ + # $Cambridge: exim/exim-src/src/lookups/Makefile,v 1.7 2007/09/28 12:21:57 tom Exp $ + +-# Make file for building a library containing all the available lookups and +-# calling it lookups.a. This is called from the main make file, after cd'ing +-# to the lookups subdirectory. When the relevant LOOKUP_ macros are not +-# defined, dummy modules get compiled. +- +-OBJ = cdb.o dbmdb.o dkim.o dnsdb.o dsearch.o ibase.o ldap.o lsearch.o mysql.o nis.o \ +- nisplus.o oracle.o passwd.o pgsql.o spf.o sqlite.o testdb.o whoson.o \ +- lf_check_file.o lf_quote.o lf_sqlperform.o ++# Make file for building all the available lookups. ++# This is called from the main make file, after cd'ing ++# to the lookups subdirectory. ++ ++# because the variable is EXPERIMENTAL_SPF and not LOOKUP_SPF ++# we put this one here by default and compile a dummy if ++# EXPERIMENTAL_SPF is not defined ++OBJ=spf.o ++MODS= ++ ++ifeq ($(LOOKUP_CDB),2) ++MODS += cdb.so ++LOOKUP_cdb_INCLUDE = $(LOOKUP_CDB_INCLUDE) ++LOOKUP_cdb_LIBS = $(LOOKUP_CDB_LIBS) ++else ++ifneq ($(LOOKUP_CDB),) ++OBJ += cdb.o ++endif ++endif ++ ++ifeq ($(LOOKUP_DBM),2) ++MODS += dbmdb.so ++LOOKUP_dbmdb_INCLUDE = $(LOOKUP_DBM_INCLUDE) ++LOOKUP_dbmdb_LIBS = $(LOOKUP_DBM_LIBS) ++else ++ifneq ($(LOOKUP_DBM),) ++OBJ += dbmdb.o ++endif ++endif ++ ++ifeq ($(LOOKUP_DKIM),2) ++MODS += dkim.so ++LOOKUP_dkim_INCLUDE = $(LOOKUP_DKIM_INCLUDE) ++LOOKUP_dkim_LIBS = $(LOOKUP_DKIM_LIBS) ++else ++ifneq ($(LOOKUP_DKIM),) ++OBJ += dkim.o ++endif ++endif ++ ++ifeq ($(LOOKUP_DNSDB),2) ++MODS += dnsdb.so ++LOOKUP_dnsdb_INCLUDE = $(LOOKUP_DNSDB_INCLUDE) ++LOOKUP_dnsdb_LIBS = $(LOOKUP_DNSDB_LIBS) ++else ++ifneq ($(LOOKUP_DNSDB),) ++OBJ += dnsdb.o ++endif ++endif ++ ++ifeq ($(LOOKUP_DSEARCH),2) ++MODS += dsearch.so ++LOOKUP_dsearch_INCLUDE = $(LOOKUP_DSEARCH_INCLUDE) ++LOOKUP_dsearch_LIBS = $(LOOKUP_DSEARCH_LIBS) ++else ++ifneq ($(LOOKUP_DSEARCH),) ++OBJ += dsearch.o ++endif ++endif ++ ++ifeq ($(LOOKUP_IBASE),2) ++MODS += ibase.so ++LOOKUP_ibase_INCLUDE = $(LOOKUP_IBASE_INCLUDE) ++LOOKUP_ibase_LIBS = $(LOOKUP_IBASE_LIBS) ++else ++ifneq ($(LOOKUP_IBASE),) ++OBJ += ibase.o ++endif ++endif ++ ++ifneq ($(LOOKUP_LDAP),) ++OBJ += ldap.o ++endif ++ ++ifeq ($(LOOKUP_LSEARCH),2) ++MODS += lsearch.so ++LOOKUP_lsearch_INCLUDE = $(LOOKUP_LSEARCH_INCLUDE) ++LOOKUP_lsearch_LIBS = $(LOOKUP_LSEARCH_LIBS) ++else ++ifneq ($(LOOKUP_LSEARCH),) ++OBJ += lsearch.o ++endif ++endif ++ ++ifeq ($(LOOKUP_MYSQL),2) ++MODS += mysql.so ++LOOKUP_mysql_INCLUDE = $(LOOKUP_MYSQL_INCLUDE) ++LOOKUP_mysql_LIBS = $(LOOKUP_MYSQL_LIBS) ++else ++ifneq ($(LOOKUP_MYSQL),) ++OBJ += mysql.o ++endif ++endif ++ ++ifeq ($(LOOKUP_NIS),2) ++MODS += nis.so ++LOOKUP_nis_INCLUDE = $(LOOKUP_NIS_INCLUDE) ++LOOKUP_nis_LIBS = $(LOOKUP_NIS_LIBS) ++else ++ifneq ($(LOOKUP_NIS),) ++OBJ += nis.o ++endif ++endif ++ ++ifeq ($(LOOKUP_NISPLUS),2) ++MODS += nisplus.so ++LOOKUP_nisplus_INCLUDE = $(LOOKUP_NISPLUS_INCLUDE) ++LOOKUP_nisplus_LIBS = $(LOOKUP_NISPLUS_LIBS) ++else ++ifneq ($(LOOKUP_NISPLUS),) ++OBJ += nisplus.o ++endif ++endif ++ ++ifeq ($(LOOKUP_ORACLE),2) ++MODS += oracle.so ++LOOKUP_oracle_INCLUDE = $(LOOKUP_ORACLE_INCLUDE) ++LOOKUP_oracle_LIBS = $(LOOKUP_ORACLE_LIBS) ++else ++ifneq ($(LOOKUP_ORACLE),) ++OBJ += oracle.o ++endif ++endif ++ ++ifeq ($(LOOKUP_PASSWD),2) ++MODS += passwd.so ++LOOKUP_passwd_INCLUDE = $(LOOKUP_PASSWD_INCLUDE) ++LOOKUP_passwd_LIBS = $(LOOKUP_PASSWD_LIBS) ++else ++ifneq ($(LOOKUP_PASSWD),) ++OBJ += passwd.o ++endif ++endif ++ ++ifeq ($(LOOKUP_PGSQL),2) ++MODS += pgsql.so ++LOOKUP_pgsql_INCLUDE = $(LOOKUP_PGSQL_INCLUDE) ++LOOKUP_pgsql_LIBS = $(LOOKUP_PGSQL_LIBS) ++else ++ifneq ($(LOOKUP_PGSQL),) ++OBJ += pgsql.o ++endif ++endif ++ ++ifeq ($(LOOKUP_SQLITE),2) ++MODS += sqlite.so ++LOOKUP_sqlite_INCLUDE = $(LOOKUP_SQLITE_INCLUDE) ++LOOKUP_sqlite_LIBS = $(LOOKUP_SQLITE_LIBS) ++else ++ifneq ($(LOOKUP_SQLITE),) ++OBJ += sqlite.o ++endif ++endif ++ ++ifeq ($(LOOKUP_TESTDB),2) ++MODS += testdb.so ++LOOKUP_testdb_INCLUDE = $(LOOKUP_TESTDB_INCLUDE) ++LOOKUP_testdb_LIBS = $(LOOKUP_TESTDB_LIBS) ++else ++ifneq ($(LOOKUP_TESTDB),) ++OBJ += testdb.o ++endif ++endif ++ ++ifeq ($(LOOKUP_WHOSON),2) ++MODS += whoson.so ++LOOKUP_whoson_INCLUDE = $(LOOKUP_WHOSON_INCLUDE) ++LOOKUP_whoson_LIBS = $(LOOKUP_WHOSON_LIBS) ++else ++ifneq ($(LOOKUP_WHOSON),) ++OBJ += whoson.o ++endif ++endif ++ ++ ++all: lookups.a lf_quote.o lf_check_file.o lf_sqlperform.o $(MODS) + + lookups.a: $(OBJ) + @$(RM_COMMAND) -f lookups.a +@@ -16,31 +184,54 @@ + $(RANLIB) $@ + @$(RM_COMMAND) -rf ../drtables.o + +-.SUFFIXES: .o .c ++.SUFFIXES: .o .c .so + .c.o:; @echo "$(CC) $*.c" + $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) $*.c + ++.c.so:; @echo "$(CC) -shared $*.c" ++ $(FE)$(CC) $(LOOKUP_$*_INCLUDE) $(LOOKUP_$*_LIBS) -DDYNLOOKUP -shared -rdynamic $(CFLAGS) $(INCLUDE) $(DLFLAGS) $*.c -o $@ ++ + lf_check_file.o: $(HDRS) lf_check_file.c lf_functions.h + lf_quote.o: $(HDRS) lf_quote.c lf_functions.h + lf_sqlperform.o: $(HDRS) lf_sqlperform.c lf_functions.h + +-cdb.o: $(HDRS) cdb.c cdb.h +-dbmdb.o: $(HDRS) dbmdb.c dbmdb.h +-dkim.o: $(HDRS) dkim.c dkim.h +-dnsdb.o: $(HDRS) dnsdb.c dnsdb.h +-dsearch.o: $(HDRS) dsearch.c dsearch.h +-ibase.o: $(HDRS) ibase.c ibase.h +-ldap.o: $(HDRS) ldap.c ldap.h +-lsearch.o: $(HDRS) lsearch.c lsearch.h +-mysql.o: $(HDRS) mysql.c mysql.h +-nis.o: $(HDRS) nis.c nis.h +-nisplus.o: $(HDRS) nisplus.c nisplus.h +-oracle.o: $(HDRS) oracle.c oracle.h +-passwd.o: $(HDRS) passwd.c passwd.h +-pgsql.o: $(HDRS) pgsql.c pgsql.h +-spf.o: $(HDRS) spf.c spf.h +-sqlite.o: $(HDRS) sqlite.c sqlite.h +-testdb.o: $(HDRS) testdb.c testdb.h +-whoson.o: $(HDRS) whoson.c whoson.h ++cdb.o: $(HDRS) cdb.c ++dbmdb.o: $(HDRS) dbmdb.c ++dkim.o: $(HDRS) dkim.c ++dnsdb.o: $(HDRS) dnsdb.c ++dsearch.o: $(HDRS) dsearch.c ++ibase.o: $(HDRS) ibase.c ++ldap.o: $(HDRS) ldap.c ++lsearch.o: $(HDRS) lsearch.c ++mysql.o: $(HDRS) mysql.c ++nis.o: $(HDRS) nis.c ++nisplus.o: $(HDRS) nisplus.c ++oracle.o: $(HDRS) oracle.c ++passwd.o: $(HDRS) passwd.c ++pgsql.o: $(HDRS) pgsql.c ++spf.o: $(HDRS) spf.c ++sqlite.o: $(HDRS) sqlite.c ++testdb.o: $(HDRS) testdb.c ++whoson.o: $(HDRS) whoson.c ++ ++cdb.so: $(HDRS) cdb.c ++dbmdb.so: $(HDRS) dbmdb.c ++dkim.so: $(HDRS) dkim.c ++dnsdb.so: $(HDRS) dnsdb.c ++dsearch.so: $(HDRS) dsearch.c ++ibase.so: $(HDRS) ibase.c ++ldap.so: $(HDRS) ldap.c ++lsearch.so: $(HDRS) lsearch.c ++mysql.so: $(HDRS) mysql.c ++nis.so: $(HDRS) nis.c ++nisplus.so: $(HDRS) nisplus.c ++oracle.so: $(HDRS) oracle.c ++passwd.so: $(HDRS) passwd.c ++pgsql.so: $(HDRS) pgsql.c ++spf.so: $(HDRS) spf.c ++sqlite.so: $(HDRS) sqlite.c ++testdb.so: $(HDRS) testdb.c ++whoson.so: $(HDRS) whoson.c ++ + + # End +diff -uNr exim-4.69-old/src/lookups/mysql.c exim-4.69/src/lookups/mysql.c +--- exim-4.69-old/src/lookups/mysql.c 2007-08-23 11:16:51.000000000 +0100 ++++ exim-4.69/src/lookups/mysql.c 2008-08-13 15:30:05.000000000 +0100 +@@ -13,22 +13,6 @@ #include "../exim.h" #include "lf_functions.h" @@ -2249,7 +2213,7 @@ index 9b2dda9..279ee95 100644 #include /* The system header */ -@@ -51,7 +35,7 @@ static mysql_connection *mysql_connections = NULL; +@@ -51,7 +35,7 @@ /* See local README for interface description. */ @@ -2258,7 +2222,7 @@ index 9b2dda9..279ee95 100644 mysql_open(uschar *filename, uschar **errmsg) { return (void *)(1); /* Just return something non-null */ -@@ -65,7 +49,7 @@ return (void *)(1); /* Just return something non-null */ +@@ -65,7 +49,7 @@ /* See local README for interface description. */ @@ -2267,7 +2231,7 @@ index 9b2dda9..279ee95 100644 mysql_tidy(void) { mysql_connection *cn; -@@ -342,7 +326,7 @@ arguments are not used. The code to loop through a list of servers while the +@@ -342,7 +326,7 @@ query is deferred with a retryable error is now in a separate function that is shared with other SQL lookups. */ @@ -2276,7 +2240,7 @@ index 9b2dda9..279ee95 100644 mysql_find(void *handle, uschar *filename, uschar *query, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -372,7 +356,7 @@ Arguments: +@@ -372,7 +356,7 @@ Returns: the processed string or NULL for a bad option */ @@ -2285,12 +2249,10 @@ index 9b2dda9..279ee95 100644 mysql_quote(uschar *s, uschar *opt) { register int c; -@@ -414,7 +398,24 @@ while ((c = *s++) != 0) +@@ -414,7 +398,24 @@ return quoted; } -- --#endif /* MYSQL_LOOKUP */ +/* These are the lookup_info blocks for this driver */ + +static lookup_info mysql_lookup_info = { @@ -2307,16 +2269,15 @@ index 9b2dda9..279ee95 100644 +#ifdef DYNLOOKUP +#define mysql_lookup_module_info _lookup_module_info +#endif -+ + +-#endif /* MYSQL_LOOKUP */ +static lookup_info *_lookup_list[] = { &mysql_lookup_info }; +lookup_module_info mysql_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; /* End of lookups/mysql.c */ -diff --git a/src/lookups/mysql.h b/src/lookups/mysql.h -deleted file mode 100644 -index 05c65ce..0000000 ---- a/src/lookups/mysql.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/mysql.h exim-4.69/src/lookups/mysql.h +--- exim-4.69-old/src/lookups/mysql.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/mysql.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/mysql.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -2336,10 +2297,9 @@ index 05c65ce..0000000 -extern uschar *mysql_quote(uschar *, uschar *); - -/* End of lookups/mysql.h */ -diff --git a/src/lookups/nis.c b/src/lookups/nis.c -index 3728e20..e64523e 100644 ---- a/src/lookups/nis.c -+++ b/src/lookups/nis.c +diff -uNr exim-4.69-old/src/lookups/nis.c exim-4.69/src/lookups/nis.c +--- exim-4.69-old/src/lookups/nis.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/nis.c 2008-08-13 15:30:05.000000000 +0100 @@ -9,19 +9,6 @@ #include "../exim.h" @@ -2360,7 +2320,7 @@ index 3728e20..e64523e 100644 #include -@@ -33,7 +20,7 @@ static void dummy(int x) { dummy(x-1); } +@@ -33,7 +20,7 @@ /* See local README for interface description. This serves for both the "nis" and "nis0" lookup types. */ @@ -2369,7 +2329,7 @@ index 3728e20..e64523e 100644 nis_open(uschar *filename, uschar **errmsg) { char *nis_domain; -@@ -55,7 +42,7 @@ return nis_domain; +@@ -55,7 +42,7 @@ for nis0 because they are so short it isn't worth trying to use any common code. */ @@ -2378,7 +2338,7 @@ index 3728e20..e64523e 100644 nis_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -81,7 +68,7 @@ return (rc == YPERR_KEY || rc == YPERR_MAP)? FAIL : DEFER; +@@ -81,7 +68,7 @@ /* See local README for interface description. */ @@ -2387,7 +2347,7 @@ index 3728e20..e64523e 100644 nis0_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -99,6 +86,33 @@ if ((rc = yp_match(CS handle, CS filename, CS keystring, length + 1, +@@ -99,6 +86,33 @@ return (rc == YPERR_KEY || rc == YPERR_MAP)? FAIL : DEFER; } @@ -2422,11 +2382,9 @@ index 3728e20..e64523e 100644 +lookup_module_info nis_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 2 }; /* End of lookups/nis.c */ -diff --git a/src/lookups/nis.h b/src/lookups/nis.h -deleted file mode 100644 -index b427a71..0000000 ---- a/src/lookups/nis.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/nis.h exim-4.69/src/lookups/nis.h +--- exim-4.69-old/src/lookups/nis.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/nis.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/nis.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -2446,10 +2404,9 @@ index b427a71..0000000 - BOOL *); - -/* End of lookups/nis.h */ -diff --git a/src/lookups/nisplus.c b/src/lookups/nisplus.c -index cbf6187..68c122c 100644 ---- a/src/lookups/nisplus.c -+++ b/src/lookups/nisplus.c +diff -uNr exim-4.69-old/src/lookups/nisplus.c exim-4.69/src/lookups/nisplus.c +--- exim-4.69-old/src/lookups/nisplus.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/nisplus.c 2008-08-13 15:30:05.000000000 +0100 @@ -9,21 +9,6 @@ #include "../exim.h" @@ -2472,7 +2429,7 @@ index cbf6187..68c122c 100644 #include -@@ -34,7 +19,7 @@ static void dummy(int x) { dummy(x-1); } +@@ -34,7 +19,7 @@ /* See local README for interface description. */ @@ -2481,7 +2438,7 @@ index cbf6187..68c122c 100644 nisplus_open(uschar *filename, uschar **errmsg) { return (void *)(1); /* Just return something non-null */ -@@ -58,7 +43,7 @@ name tagged on the end after a colon. If there is no result-field name, the +@@ -58,7 +43,7 @@ yield is the concatenation of all the fields, preceded by their names and an equals sign. */ @@ -2490,7 +2447,7 @@ index cbf6187..68c122c 100644 nisplus_find(void *handle, uschar *filename, uschar *query, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -250,7 +235,7 @@ Arguments: +@@ -250,7 +235,7 @@ Returns: the processed string or NULL for a bad option */ @@ -2499,7 +2456,7 @@ index cbf6187..68c122c 100644 nisplus_quote(uschar *s, uschar *opt) { int count = 0; -@@ -274,6 +259,22 @@ while (*s != 0) +@@ -274,6 +259,22 @@ return quoted; } @@ -2523,11 +2480,9 @@ index cbf6187..68c122c 100644 +lookup_module_info nisplus_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; /* End of lookups/nisplus.c */ -diff --git a/src/lookups/nisplus.h b/src/lookups/nisplus.h -deleted file mode 100644 -index 9c0f1cb..0000000 ---- a/src/lookups/nisplus.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/nisplus.h exim-4.69/src/lookups/nisplus.h +--- exim-4.69-old/src/lookups/nisplus.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/nisplus.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/nisplus.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -2546,11 +2501,10 @@ index 9c0f1cb..0000000 -extern uschar *nisplus_quote(uschar *, uschar *); - -/* End of lookups/nisplus.h */ -diff --git a/src/lookups/oracle.c b/src/lookups/oracle.c -index 7cb2163..f6eadac 100644 ---- a/src/lookups/oracle.c -+++ b/src/lookups/oracle.c -@@ -15,27 +15,12 @@ some comments from my position of Oracle ignorance. */ +diff -uNr exim-4.69-old/src/lookups/oracle.c exim-4.69/src/lookups/oracle.c +--- exim-4.69-old/src/lookups/oracle.c 2007-03-13 09:59:07.000000000 +0000 ++++ exim-4.69/src/lookups/oracle.c 2008-08-13 15:30:05.000000000 +0100 +@@ -15,27 +15,12 @@ #include "../exim.h" @@ -2578,7 +2532,7 @@ index 7cb2163..f6eadac 100644 #define PARSE_NO_DEFER 0 /* parse straight away */ #define PARSE_V7_LNG 2 #define MAX_ITEM_BUFFER_SIZE 1024 /* largest size of a cell of data */ -@@ -212,7 +197,7 @@ return col; +@@ -212,7 +197,7 @@ /* See local README for interface description. */ @@ -2587,7 +2541,7 @@ index 7cb2163..f6eadac 100644 oracle_open(uschar *filename, uschar **errmsg) { return (void *)(1); /* Just return something non-null */ -@@ -226,7 +211,7 @@ return (void *)(1); /* Just return something non-null */ +@@ -226,7 +211,7 @@ /* See local README for interface description. */ @@ -2596,7 +2550,7 @@ index 7cb2163..f6eadac 100644 oracle_tidy(void) { oracle_connection *cn; -@@ -532,7 +517,7 @@ else +@@ -532,7 +517,7 @@ arguments are not used. Loop through a list of servers while the query is deferred with a retryable error. */ @@ -2605,7 +2559,7 @@ index 7cb2163..f6eadac 100644 oracle_find(void *handle, uschar *filename, uschar *query, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -577,7 +562,7 @@ Arguments: +@@ -577,7 +562,7 @@ Returns: the processed string or NULL for a bad option */ @@ -2614,7 +2568,7 @@ index 7cb2163..f6eadac 100644 oracle_quote(uschar *s, uschar *opt) { register int c; -@@ -619,6 +604,22 @@ while ((c = *s++) != 0) +@@ -619,6 +604,22 @@ return quoted; } @@ -2638,11 +2592,9 @@ index 7cb2163..f6eadac 100644 +lookup_module_info oracle_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; /* End of lookups/oracle.c */ -diff --git a/src/lookups/oracle.h b/src/lookups/oracle.h -deleted file mode 100644 -index ea87c3f..0000000 ---- a/src/lookups/oracle.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/oracle.h exim-4.69/src/lookups/oracle.h +--- exim-4.69-old/src/lookups/oracle.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/oracle.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/oracle.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -2662,10 +2614,9 @@ index ea87c3f..0000000 -extern uschar *oracle_quote(uschar *, uschar *); - -/* End of lookups/oracle.h */ -diff --git a/src/lookups/passwd.c b/src/lookups/passwd.c -index 90f5348..6d64a63 100644 ---- a/src/lookups/passwd.c -+++ b/src/lookups/passwd.c +diff -uNr exim-4.69-old/src/lookups/passwd.c exim-4.69/src/lookups/passwd.c +--- exim-4.69-old/src/lookups/passwd.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/passwd.c 2008-08-13 15:30:05.000000000 +0100 @@ -8,8 +8,6 @@ /* See the file NOTICE for conditions of use and distribution. */ @@ -2684,7 +2635,7 @@ index 90f5348..6d64a63 100644 passwd_open(uschar *filename, uschar **errmsg) { filename = filename; /* Keep picky compilers happy */ -@@ -35,7 +33,7 @@ return (void *)(-1); /* Just return something non-null */ +@@ -35,7 +33,7 @@ /* See local README for interface description */ @@ -2693,7 +2644,7 @@ index 90f5348..6d64a63 100644 passwd_find(void *handle, uschar *filename, uschar *keystring, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -53,4 +51,22 @@ if (!route_finduser(keystring, &pw, NULL)) return FAIL; +@@ -53,4 +51,22 @@ return OK; } @@ -2716,11 +2667,9 @@ index 90f5348..6d64a63 100644 +lookup_module_info passwd_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + /* End of lookups/passwd.c */ -diff --git a/src/lookups/passwd.h b/src/lookups/passwd.h -deleted file mode 100644 -index 2350842..0000000 ---- a/src/lookups/passwd.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/passwd.h exim-4.69/src/lookups/passwd.h +--- exim-4.69-old/src/lookups/passwd.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/passwd.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/passwd.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -2738,11 +2687,10 @@ index 2350842..0000000 - BOOL *); - -/* End of lookups/passwd.h */ -diff --git a/src/lookups/pgsql.c b/src/lookups/pgsql.c -index f53cca0..c39086e 100644 ---- a/src/lookups/pgsql.c -+++ b/src/lookups/pgsql.c -@@ -13,21 +13,6 @@ socket extension. */ +diff -uNr exim-4.69-old/src/lookups/pgsql.c exim-4.69/src/lookups/pgsql.c +--- exim-4.69-old/src/lookups/pgsql.c 2007-08-23 11:16:51.000000000 +0100 ++++ exim-4.69/src/lookups/pgsql.c 2008-08-13 15:30:05.000000000 +0100 +@@ -13,21 +13,6 @@ #include "../exim.h" #include "lf_functions.h" @@ -2764,7 +2712,7 @@ index f53cca0..c39086e 100644 #include /* The system header */ -@@ -49,7 +34,7 @@ static pgsql_connection *pgsql_connections = NULL; +@@ -49,7 +34,7 @@ /* See local README for interface description. */ @@ -2773,7 +2721,7 @@ index f53cca0..c39086e 100644 pgsql_open(uschar *filename, uschar **errmsg) { return (void *)(1); /* Just return something non-null */ -@@ -63,7 +48,7 @@ return (void *)(1); /* Just return something non-null */ +@@ -63,7 +48,7 @@ /* See local README for interface description. */ @@ -2782,7 +2730,7 @@ index f53cca0..c39086e 100644 pgsql_tidy(void) { pgsql_connection *cn; -@@ -414,7 +399,7 @@ arguments are not used. The code to loop through a list of servers while the +@@ -414,7 +399,7 @@ query is deferred with a retryable error is now in a separate function that is shared with other SQL lookups. */ @@ -2791,7 +2739,7 @@ index f53cca0..c39086e 100644 pgsql_find(void *handle, uschar *filename, uschar *query, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -454,7 +439,7 @@ Arguments: +@@ -454,7 +439,7 @@ Returns: the processed string or NULL for a bad option */ @@ -2800,7 +2748,7 @@ index f53cca0..c39086e 100644 pgsql_quote(uschar *s, uschar *opt) { register int c; -@@ -501,6 +486,22 @@ while ((c = *s++) != 0) +@@ -501,6 +486,22 @@ return quoted; } @@ -2824,11 +2772,9 @@ index f53cca0..c39086e 100644 +lookup_module_info pgsql_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; /* End of lookups/pgsql.c */ -diff --git a/src/lookups/pgsql.h b/src/lookups/pgsql.h -deleted file mode 100644 -index a4f0792..0000000 ---- a/src/lookups/pgsql.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/pgsql.h exim-4.69/src/lookups/pgsql.h +--- exim-4.69-old/src/lookups/pgsql.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/pgsql.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/pgsql.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -2848,11 +2794,10 @@ index a4f0792..0000000 -extern uschar *pgsql_quote(uschar *, uschar *); - -/* End of lookups/pgsql.h */ -diff --git a/src/lookups/spf.c b/src/lookups/spf.c -index 9bd65c5..8b4d8e9 100644 ---- a/src/lookups/spf.c -+++ b/src/lookups/spf.c -@@ -24,7 +24,6 @@ static void dummy(int x) { dummy(x-1); } +diff -uNr exim-4.69-old/src/lookups/spf.c exim-4.69/src/lookups/spf.c +--- exim-4.69-old/src/lookups/spf.c 2005-06-27 19:01:02.000000000 +0100 ++++ exim-4.69/src/lookups/spf.c 2008-08-13 15:30:05.000000000 +0100 +@@ -24,7 +24,6 @@ #else #include "lf_functions.h" @@ -2860,7 +2805,7 @@ index 9bd65c5..8b4d8e9 100644 #ifndef HAVE_NS_TYPE #define HAVE_NS_TYPE #endif -@@ -32,7 +31,7 @@ static void dummy(int x) { dummy(x-1); } +@@ -32,7 +31,7 @@ #include #include @@ -2869,7 +2814,7 @@ index 9bd65c5..8b4d8e9 100644 SPF_server_t *spf_server = NULL; spf_server = SPF_server_new(SPF_DNS_CACHE, 0); if (spf_server == NULL) { -@@ -42,13 +41,14 @@ void *spf_open(uschar *filename, uschar **errmsg) { +@@ -42,13 +41,14 @@ return (void *) spf_server; } @@ -2887,7 +2832,7 @@ index 9bd65c5..8b4d8e9 100644 SPF_server_t *spf_server = handle; SPF_request_t *spf_request = NULL; SPF_response_t *spf_response = NULL; -@@ -75,4 +75,22 @@ int spf_find(void *handle, uschar *filename, uschar *keystring, int key_len, +@@ -75,4 +75,22 @@ return OK; } @@ -2910,11 +2855,9 @@ index 9bd65c5..8b4d8e9 100644 +lookup_module_info spf_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + #endif /* EXPERIMENTAL_SPF */ -diff --git a/src/lookups/spf.h b/src/lookups/spf.h -deleted file mode 100644 -index 5280f52..0000000 ---- a/src/lookups/spf.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/spf.h exim-4.69/src/lookups/spf.h +--- exim-4.69-old/src/lookups/spf.h 2005-05-25 21:07:55.000000000 +0100 ++++ exim-4.69/src/lookups/spf.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/spf.h,v 1.1 2005/05/25 20:07:55 tom Exp $ */ - @@ -2942,10 +2885,9 @@ index 5280f52..0000000 -extern int spf_find(void *, uschar *, uschar *, int, uschar **, uschar **, - BOOL *); - -diff --git a/src/lookups/sqlite.c b/src/lookups/sqlite.c -index e4aa4ea..b5d4175 100644 ---- a/src/lookups/sqlite.c -+++ b/src/lookups/sqlite.c +diff -uNr exim-4.69-old/src/lookups/sqlite.c exim-4.69/src/lookups/sqlite.c +--- exim-4.69-old/src/lookups/sqlite.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/sqlite.c 2008-08-13 15:30:05.000000000 +0100 @@ -9,11 +9,7 @@ #include "../exim.h" @@ -2958,7 +2900,7 @@ index e4aa4ea..b5d4175 100644 #include -@@ -23,7 +19,7 @@ static void dummy(int x) { dummy(x-1); } +@@ -23,7 +19,7 @@ /* See local README for interface description. */ @@ -2967,7 +2909,7 @@ index e4aa4ea..b5d4175 100644 sqlite_open(uschar *filename, uschar **errmsg) { sqlite3 *db = NULL; -@@ -85,7 +81,7 @@ return 0; +@@ -85,7 +81,7 @@ } @@ -2976,7 +2918,7 @@ index e4aa4ea..b5d4175 100644 sqlite_find(void *handle, uschar *filename, uschar *query, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -113,7 +109,7 @@ return OK; +@@ -113,7 +109,7 @@ /* See local README for interface description. */ @@ -2985,7 +2927,7 @@ index e4aa4ea..b5d4175 100644 { sqlite3_close(handle); } -@@ -134,7 +130,7 @@ Arguments: +@@ -134,7 +130,7 @@ Returns: the processed string or NULL for a bad option */ @@ -2994,7 +2936,7 @@ index e4aa4ea..b5d4175 100644 sqlite_quote(uschar *s, uschar *opt) { register int c; -@@ -159,6 +155,22 @@ while ((c = *s++) != 0) +@@ -159,6 +155,22 @@ return quoted; } @@ -3018,11 +2960,9 @@ index e4aa4ea..b5d4175 100644 +lookup_module_info sqlite_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; /* End of lookups/sqlite.c */ -diff --git a/src/lookups/sqlite.h b/src/lookups/sqlite.h -deleted file mode 100644 -index 1f3b421..0000000 ---- a/src/lookups/sqlite.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/sqlite.h exim-4.69/src/lookups/sqlite.h +--- exim-4.69-old/src/lookups/sqlite.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/sqlite.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/sqlite.h,v 1.3 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -3042,10 +2982,9 @@ index 1f3b421..0000000 -extern uschar *sqlite_quote(uschar *, uschar *); - -/* End of lookups/sqlite.h */ -diff --git a/src/lookups/testdb.c b/src/lookups/testdb.c -index c20275f..ca29a37 100644 ---- a/src/lookups/testdb.c -+++ b/src/lookups/testdb.c +diff -uNr exim-4.69-old/src/lookups/testdb.c exim-4.69/src/lookups/testdb.c +--- exim-4.69-old/src/lookups/testdb.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/testdb.c 2008-08-13 15:30:05.000000000 +0100 @@ -9,8 +9,6 @@ #include "../exim.h" @@ -3055,7 +2994,7 @@ index c20275f..ca29a37 100644 /* These are not real lookup functions; they are just a way of testing the rest of Exim by providing an easy way of specifying particular yields from -@@ -23,7 +21,7 @@ the find function. */ +@@ -23,7 +21,7 @@ /* See local README for interface description. */ @@ -3064,7 +3003,7 @@ index c20275f..ca29a37 100644 testdb_open(uschar *filename, uschar **errmsg) { filename = filename; /* Keep picky compilers happy */ -@@ -39,7 +37,7 @@ return (void *)(1); /* Just return something non-null */ +@@ -39,7 +37,7 @@ /* See local README for interface description. */ @@ -3073,7 +3012,7 @@ index c20275f..ca29a37 100644 testdb_find(void *handle, uschar *filename, uschar *query, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -66,4 +64,22 @@ if (Ustrcmp(query, "nocache") == 0) *do_cache = FALSE; +@@ -66,4 +64,22 @@ return OK; } @@ -3096,11 +3035,9 @@ index c20275f..ca29a37 100644 +lookup_module_info testdb_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; + /* End of lookups/testdb.c */ -diff --git a/src/lookups/testdb.h b/src/lookups/testdb.h -deleted file mode 100644 -index 39c0e41..0000000 ---- a/src/lookups/testdb.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/testdb.h exim-4.69/src/lookups/testdb.h +--- exim-4.69-old/src/lookups/testdb.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/testdb.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/testdb.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -3118,10 +3055,9 @@ index 39c0e41..0000000 - BOOL *); - -/* End of lookups/testdb.h */ -diff --git a/src/lookups/whoson.c b/src/lookups/whoson.c -index 298937c..6517f9d 100644 ---- a/src/lookups/whoson.c -+++ b/src/lookups/whoson.c +diff -uNr exim-4.69-old/src/lookups/whoson.c exim-4.69/src/lookups/whoson.c +--- exim-4.69-old/src/lookups/whoson.c 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/whoson.c 2008-08-13 15:30:05.000000000 +0100 @@ -12,23 +12,7 @@ #include "../exim.h" @@ -3146,7 +3082,7 @@ index 298937c..6517f9d 100644 /************************************************* * Open entry point * -@@ -36,7 +20,7 @@ static void dummy(int x) { dummy(x-1); } +@@ -36,7 +20,7 @@ /* See local README for interface description. */ @@ -3155,7 +3091,7 @@ index 298937c..6517f9d 100644 whoson_open(uschar *filename, uschar **errmsg) { filename = filename; /* Keep picky compilers happy */ -@@ -51,7 +35,7 @@ return (void *)(1); /* Just return something non-null */ +@@ -51,7 +35,7 @@ /* See local README for interface description. */ @@ -3164,7 +3100,7 @@ index 298937c..6517f9d 100644 whoson_find(void *handle, uschar *filename, uschar *query, int length, uschar **result, uschar **errmsg, BOOL *do_cache) { -@@ -77,6 +61,22 @@ switch (wso_query(query, CS buffer, sizeof(buffer))) +@@ -77,6 +61,22 @@ } } @@ -3188,11 +3124,9 @@ index 298937c..6517f9d 100644 +lookup_module_info whoson_lookup_module_info = { LOOKUP_MODULE_INFO_MAGIC, _lookup_list, 1 }; /* End of lookups/whoson.c */ -diff --git a/src/lookups/whoson.h b/src/lookups/whoson.h -deleted file mode 100644 -index 3490383..0000000 ---- a/src/lookups/whoson.h -+++ /dev/null +diff -uNr exim-4.69-old/src/lookups/whoson.h exim-4.69/src/lookups/whoson.h +--- exim-4.69-old/src/lookups/whoson.h 2007-01-08 10:50:19.000000000 +0000 ++++ exim-4.69/src/lookups/whoson.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -/* $Cambridge: exim/exim-src/src/lookups/whoson.h,v 1.4 2007/01/08 10:50:19 ph10 Exp $ */ - @@ -3210,11 +3144,10 @@ index 3490383..0000000 - BOOL *); - -/* End of lookups/whoson.h */ -diff --git a/src/macros.h b/src/macros.h -index 4ca353c..a70aa85 100644 ---- a/src/macros.h -+++ b/src/macros.h -@@ -96,7 +96,7 @@ don't make the file descriptors two-way. */ +diff -uNr exim-4.69-old/src/macros.h exim-4.69/src/macros.h +--- exim-4.69-old/src/macros.h 2007-08-22 11:10:23.000000000 +0100 ++++ exim-4.69/src/macros.h 2008-08-13 15:30:05.000000000 +0100 +@@ -96,7 +96,7 @@ /* A macro to simplify testing bits in lookup types */ @@ -3223,11 +3156,10 @@ index 4ca353c..a70aa85 100644 /* Debugging control */ -diff --git a/src/search.c b/src/search.c -index 8181285..3510d33 100644 ---- a/src/search.c -+++ b/src/search.c -@@ -71,7 +71,7 @@ int top = lookup_list_count; +diff -uNr exim-4.69-old/src/search.c exim-4.69/src/search.c +--- exim-4.69-old/src/search.c 2007-08-29 15:02:22.000000000 +0100 ++++ exim-4.69/src/search.c 2008-08-13 15:30:05.000000000 +0100 +@@ -71,7 +71,7 @@ while (top > bot) { int mid = (top + bot)/2; @@ -3236,7 +3168,7 @@ index 8181285..3510d33 100644 /* If c == 0 we have matched the incoming name with the start of the search type name. However, some search types are substrings of others (e.g. nis and -@@ -81,9 +81,9 @@ while (top > bot) +@@ -81,9 +81,9 @@ are testing. By leaving c == 0 when the lengths are different, and doing a > 0 test below, this all falls out correctly. */ @@ -3248,7 +3180,7 @@ index 8181285..3510d33 100644 search_error_message = string_sprintf("lookup type \"%.*s\" is not " "available (not in the binary - check buildtime LOOKUP configuration)", len, name); -@@ -237,8 +237,8 @@ if (t->left != NULL) tidyup_subtree(t->left); +@@ -237,8 +237,8 @@ if (t->right != NULL) tidyup_subtree(t->right); if (c != NULL && c->handle != NULL && @@ -3259,7 +3191,7 @@ index 8181285..3510d33 100644 } -@@ -270,7 +270,7 @@ open_filecount = 0; +@@ -270,7 +270,7 @@ /* Call the general tidyup entry for any drivers that have one. */ for (i = 0; i < lookup_list_count; i++) @@ -3268,7 +3200,7 @@ index 8181285..3510d33 100644 if (search_reset_point != NULL) store_reset(search_reset_point); search_reset_point = NULL; -@@ -335,7 +335,7 @@ search_open(uschar *filename, int search_type, int modemask, uid_t *owners, +@@ -335,7 +335,7 @@ void *handle; tree_node *t; search_cache *c; @@ -3277,7 +3209,7 @@ index 8181285..3510d33 100644 uschar keybuffer[256]; int old_pool = store_pool; -@@ -388,7 +388,7 @@ if (lk->type == lookup_absfile && open_filecount >= lookup_open_max) +@@ -388,7 +388,7 @@ ((search_cache *)(open_bot->data.ptr))->down = NULL; else open_top = NULL; @@ -3286,7 +3218,7 @@ index 8181285..3510d33 100644 c->handle = NULL; open_filecount--; } -@@ -480,7 +480,7 @@ search_find_defer = FALSE; +@@ -480,7 +480,7 @@ DEBUG(D_lookup) debug_printf("internal_search_find: file=\"%s\"\n " "type=%s key=\"%s\"\n", filename, @@ -3295,7 +3227,7 @@ index 8181285..3510d33 100644 /* Insurance. If the keystring is empty, just fail. */ -@@ -511,7 +511,7 @@ if ((t = tree_search(c->item_cache, keystring)) == NULL) +@@ -511,7 +511,7 @@ like FAIL, except that search_find_defer is set so the caller can distinguish if necessary. */ @@ -3304,7 +3236,7 @@ index 8181285..3510d33 100644 &data, &search_error_message, &do_cache) == DEFER) { search_find_defer = TRUE; -@@ -622,7 +622,7 @@ DEBUG(D_lookup) +@@ -622,7 +622,7 @@ that opens real files. */ if (open_top != (tree_node *)handle && @@ -3313,11 +3245,10 @@ index 8181285..3510d33 100644 { search_cache *c = (search_cache *)(t->data.ptr); tree_node *up = c->up; -diff --git a/src/structs.h b/src/structs.h -index 2000e04..915e100 100644 ---- a/src/structs.h -+++ b/src/structs.h -@@ -322,34 +322,7 @@ typedef struct router_info { +diff -uNr exim-4.69-old/src/structs.h exim-4.69/src/structs.h +--- exim-4.69-old/src/structs.h 2007-06-18 14:57:50.000000000 +0100 ++++ exim-4.69/src/structs.h 2008-08-13 15:30:05.000000000 +0100 +@@ -322,34 +322,7 @@ /* Structure for holding information about a lookup type. */ @@ -3353,11 +3284,10 @@ index 2000e04..915e100 100644 /* Structure for holding information about the configured authentication -diff --git a/src/verify.c b/src/verify.c -index fcbcd04..95bcc73 100644 ---- a/src/verify.c -+++ b/src/verify.c -@@ -2219,7 +2219,7 @@ if (iplookup) +diff -uNr exim-4.69-old/src/verify.c exim-4.69/src/verify.c +--- exim-4.69-old/src/verify.c 2007-06-14 15:18:19.000000000 +0100 ++++ exim-4.69/src/verify.c 2008-08-13 15:30:05.000000000 +0100 +@@ -2219,7 +2219,7 @@ } else /* Single-key style */ { diff --git a/exim-rhl.patch b/exim-rhl.patch index a9d2ccf..8143c0d 100644 --- a/exim-rhl.patch +++ b/exim-rhl.patch @@ -1,6 +1,7 @@ ---- exim-4.32/src/configure.default.rhl 2004-04-15 04:27:01.000000000 -0400 -+++ exim-4.32/src/configure.default 2004-04-15 12:30:03.367749456 -0400 -@@ -411,7 +411,7 @@ +diff -uNr exim-4.69.orig/src/configure.default exim-4.69/src/configure.default +--- exim-4.69.orig/src/configure.default 2007-06-26 12:21:36.000000000 +0100 ++++ exim-4.69/src/configure.default 2008-08-13 14:41:14.000000000 +0100 +@@ -548,7 +548,7 @@ driver = redirect allow_fail allow_defer @@ -9,7 +10,7 @@ # user = exim file_transport = address_file pipe_transport = address_pipe -@@ -491,8 +491,8 @@ +@@ -643,8 +643,8 @@ delivery_date_add envelope_to_add return_path_add diff --git a/exim.spec b/exim.spec index b27cf3e..283985d 100644 --- a/exim.spec +++ b/exim.spec @@ -12,7 +12,7 @@ Summary: The exim mail transfer agent Name: exim Version: 4.69 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv2+ Url: http://www.exim.org/ Group: System Environment/Daemons @@ -44,7 +44,6 @@ Patch12: exim-4.33-cyrus.patch Patch13: exim-4.43-pamconfig.patch Patch14: exim-4.50-spamdconf.patch Patch15: exim-4.52-dynamic-pcre.patch -Patch17: exim-4.61-ldap-deprecated.patch Patch18: exim-4.62-dlopen-localscan.patch Patch19: exim-4.63-procmail.patch Patch20: exim-4.63-allow-filter.patch @@ -169,7 +168,6 @@ greylisting unconditional. %patch13 -p1 -b .pam %patch14 -p1 -b .spamd %patch15 -p1 -b .pcre -%patch17 -p1 -b .ldap %patch18 -p1 -b .dl %patch19 -p1 -b .procmail %patch20 -p1 -b .filter @@ -483,6 +481,9 @@ test "$1" = 0 || %{_initrddir}/clamd.exim condrestart >/dev/null || : %{_sysconfdir}/cron.daily/greylist-tidy.sh %changelog +* Wed Aug 13 2008 David Woodhouse 4.69-7 +- Rediff all patches to cope with new zero-fuzz policy + * Wed Aug 13 2008 David Woodhouse 4.69-6 - Add $RPM_OPT_FLAGS in config instead of overriding on make command line. (to fix the setting of largefile options which we were killing)