Nikolay Sturm writes: > * Andreas Vögele [2005-12-17]: >> I've attached a port of Exim 4.60, which includes the setting > > Please provide a unified diff against -current.
Here's the diff: Index: Makefile =================================================================== RCS file: /cvs/ports/mail/exim/Makefile,v retrieving revision 1.50 diff -u -r1.50 Makefile --- Makefile 27 Aug 2005 15:57:31 -0000 1.50 +++ Makefile 17 Dec 2005 16:11:35 -0000 @@ -1,17 +1,15 @@ # $OpenBSD: Makefile,v 1.50 2005/08/27 15:57:31 naddy Exp $ COMMENT= "Flexible mail transfer agent" -DISTNAME= exim-4.44 -PKGNAME= ${DISTNAME}p0 +DISTNAME= exim-4.60 CATEGORIES= mail -MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/ \ - http://ftp.planetmirror.com/pub/exim/exim4/ \ - ftp://ftp.planetmirror.com/pub/exim/exim4/ -MASTER_SITES0= http://duncanthrax.net/exiscan-acl/ - +MASTER_SITES= ftp://ftp.exim.org/pub/exim/exim4/ \ + http://mirror.switch.ch/ftp/mirror/exim/exim/exim4/ \ + ftp://mirror.switch.ch/mirror/exim/exim/exim4/ + HOMEPAGE= http://www.exim.org/ -MAINTAINER= ilya voronin <[EMAIL PROTECTED]> +MAINTAINER= Andreas Voegele <[EMAIL PROTECTED]> # GPL PERMIT_PACKAGE_CDROM= Yes @@ -20,14 +18,14 @@ PERMIT_DISTFILES_FTP= Yes WANTLIB= c crypto perl ssl util wrap m -FLAVORS=no_exiscan no_x11 mysql postgresql ldap iconv +FLAVORS=no_exiscan no_x11 mysql postgresql sqlite3 ldap iconv sasl FLAVOR?= NO_REGRESS=Yes .if !${FLAVOR:L:Mno_exiscan} -PATCHFILES= exiscan-acl-4.44-28.patch:0 -PATCH_DIST_STRIP= -p1 +EXIM_MAKECAT+= "WITH_CONTENT_SCAN=yes\n" +EXIM_MAKECAT+= "WITH_OLD_DEMIME=yes\n" .endif .if !${FLAVOR:L:Mno_x11} @@ -50,6 +48,13 @@ LIB_DEPENDS+= pq.2:postgresql-client-*:databases/postgresql .endif +.if ${FLAVOR:L:Msqlite3} +EXIM_MAKECAT+= "LOOKUP_SQLITE=yes\n" +EXIM_LOOKUP_INCLUDE+= -I${LOCALBASE}/include +EXIM_LOOKUP_LIBS+= -L${LOCALBASE}/lib/ -lsqlite3 +LIB_DEPENDS+= sqlite3.8::databases/sqlite3 +.endif + .if ${FLAVOR:L:Mldap} EXIM_MAKECAT+= "LOOKUP_LDAP=yes\n" EXIM_MAKECAT+= "LDAP_LIB_TYPE=OPENLDAP2\n" @@ -65,11 +70,11 @@ EXIM_CFLAGS+= -I${LOCALBASE}/include .endif -.if ${FLAVOR:L:Mpostgresql} -LIB_DEPENDS+= pq.2:postgresql-client-*:databases/postgresql -EXIM_MAKECAT+= "LOOKUP_PGSQL=yes\n" -EXIM_LOOKUP_INCLUDE+= -I${LOCALBASE}/include/postgresql -EXIM_LOOKUP_LIBS+= -L${LOCALBASE}/lib -lpq +.if ${FLAVOR:L:Msasl} +EXIM_MAKECAT+= "AUTH_CYRUS_SASL=yes\n" +EXIM_EXTRA_LIBS+= -L${LOCALBASE}/lib -lsasl2 +EXIM_CFLAGS+= -I${LOCALBASE}/include +LIB_DEPENDS+= sasl2::security/cyrus-sasl2 .endif EXIM_EXTRA_LIBS+= -lwrap @@ -98,10 +103,5 @@ ${INSTALL_DATA} ${WRKSRC}/doc/README.SIEVE ${PREFIX}/share/doc/exim ${INSTALL_DATA} ${WRKSRC}/doc/filter.txt ${PREFIX}/share/doc/exim ${INSTALL_MAN} ${WRKSRC}/doc/exim.8 ${PREFIX}/man/man8 - -.if !${FLAVOR:L:Mno_exiscan} - ${INSTALL_DATA} ${WRKSRC}/doc/exiscan-acl-examples.txt ${PREFIX}/share/doc/exim - ${INSTALL_DATA} ${WRKSRC}/doc/exiscan-acl-spec.txt ${PREFIX}/share/doc/exim -.endif .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/mail/exim/distinfo,v retrieving revision 1.5 diff -u -r1.5 distinfo --- distinfo 26 Jan 2005 19:33:20 -0000 1.5 +++ distinfo 17 Dec 2005 16:11:35 -0000 @@ -1,8 +1,4 @@ -MD5 (exim-4.44.tar.gz) = de72dce38668e3b703358cea0a0de479 -MD5 (exiscan-acl-4.44-28.patch) = 5dfc7c99d2ea13d5f2d4c62cb7c43146 -RMD160 (exim-4.44.tar.gz) = 5bea9030550fe523290b83d8428388e0076bd133 -RMD160 (exiscan-acl-4.44-28.patch) = eab0f5a2eddcca9cb14ec851e4e2d7df8c00523a -SHA1 (exim-4.44.tar.gz) = 816648ef479dea085d138ce48f07bf1706183c6e -SHA1 (exiscan-acl-4.44-28.patch) = 916c6804dce9c195428a116208031bc1e89b1cb5 -SIZE (exim-4.44.tar.gz) = 1760488 -SIZE (exiscan-acl-4.44-28.patch) = 440341 +MD5 (exim-4.60.tar.gz) = 5f8e5834c648ac9a62bb8ab6ad2a6227 +RMD160 (exim-4.60.tar.gz) = 0985dd8bf65659af43ed24284035fb70f34a3b4b +SHA1 (exim-4.60.tar.gz) = eda701ddf15f843b6d61c12f4d1fad4782e4db1e +SIZE (exim-4.60.tar.gz) = 2022260 Index: files/Makefile =================================================================== RCS file: /cvs/ports/mail/exim/files/Makefile,v retrieving revision 1.10 diff -u -r1.10 Makefile --- files/Makefile 26 Jul 2004 10:56:01 -0000 1.10 +++ files/Makefile 17 Dec 2005 16:11:38 -0000 @@ -1,3 +1,5 @@ +# $Cambridge: exim/exim-src/src/EDITME,v 1.16 2005/10/12 15:45:38 ph10 Exp $ + ################################################## # The Exim mail transport agent # ################################################## @@ -48,7 +50,7 @@ # By default the code assumes ndbm; this often works with gdbm or DB, provided # they are correctly installed, via their compatibility interfaces. However, # Exim can also be configured to use the native calls for Berkeley DB (obsolete -# versions 1.85 and 2.x, or the current 3.x version) and also for gdbm. +# versions 1.85, 2.x, 3.x, or the current 4.x version) and also for gdbm. # For some operating systems, a default DBM library (other than ndbm) is # selected by a setting in the OS-specific Makefile. Most modern OS now have @@ -182,6 +184,12 @@ # THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY # ############################################################################### +# If you need extra header file search paths on all compiles, put the -I +# options in INCLUDE. If you want the extra searches only for certain +# parts of the build, see more specific xxx_INCLUDE variables below. + +# INCLUDE=-I/example/include + # You need to specify some routers and transports if you want the Exim that you # are building to be capable of delivering mail. You almost certainly need at # least one type of lookup. You should consider whether you want to build @@ -264,6 +272,7 @@ # LOOKUP_ORACLE=yes LOOKUP_PASSWD=yes # LOOKUP_PGSQL=yes +# LOOKUP_SQLITE=yes # LOOKUP_WHOSON=yes # These two settings are obsolete; all three lookups are compiled when @@ -297,10 +306,11 @@ # the command for linking Exim itself, not on any auxiliary programs. You # don't need to set LOOKUP_INCLUDE if the relevant directories are already # specified in INCLUDE. The settings below are just examples; -lpq is for -# PostgreSQL, -lgds is for Interbase. +# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite. # LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include -# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds +# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3 + #------------------------------------------------------------------------------ # Compiling the Exim monitor: If you want to compile the Exim monitor, a @@ -313,6 +323,54 @@ # EXIM_MONITOR=eximon.bin +#------------------------------------------------------------------------------ +# Compiling Exim with content scanning support: If you want to compile Exim +# with support for message body content scanning, set WITH_CONTENT_SCAN to +# the value "yes". This will give you malware and spam scanning in the DATA ACL, +# and the MIME ACL. Please read the documentation to learn more about these +# features. + +# WITH_CONTENT_SCAN=yes + +# If you want to use the deprecated "demime" condition in the DATA ACL, +# uncomment the line below. Doing so will also explicitly turn on the +# WITH_CONTENT_SCAN option. If possible, use the MIME ACL instead of +# the "demime" condition. + +# WITH_OLD_DEMIME=yes + +#------------------------------------------------------------------------------ +# Compiling Exim with experimental features. These are documented in +# experimental-spec.txt. "Experimental" means that the way these features are +# implemented may still change. Backward compatibility is not guaranteed. + +# Uncomment the following lines to add SPF support. You need to have libspf2 +# installed on your system (www.libspf2.org). Depending on where it is installed +# you may have to edit the CFLAGS and LDFLAGS lines. + +# EXPERIMENTAL_SPF=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lspf2 + +# Uncomment the following lines to add SRS (Sender rewriting scheme) support. +# You need to have libsrs_alt installed on your system (srs.mirtol.com). +# Depending on where it is installed you may have to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_SRS=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lsrs_alt + +# Uncomment the following lines to add Brightmail AntiSpam support. You need +# to have the Brightmail client SDK installed. Please check the experimental +# documentation for implementation details. You need to edit the CFLAGS and +# LDFLAGS lines. + +# EXPERIMENTAL_BRIGHTMAIL=yes +# CFLAGS += -I/opt/brightmail/bsdk-6.0/include +# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib + + ############################################################################### # THESE ARE THINGS YOU MIGHT WANT TO SPECIFY # @@ -320,7 +378,7 @@ # The items in this section are those that are commonly changed according to # the sysadmin's preferences, but whose defaults are often acceptable. The -# first for are concerned with security issues, where differing levels of +# first five are concerned with security issues, where differing levels of # paranoia are appropriate in different environments. Sysadmins also vary in # their views on appropriate levels of defence in these areas. If you do not # understand these issues, go with the defaults, which are used by many sites. @@ -334,12 +392,41 @@ # cannot be overridden at runtime. This guards against problems caused by # unauthorized changes to the runtime configuration. You are advised not to # remove "root" from this option, but you can add other users if you want. The -# list is colon-separated. +# list is colon-separated. It must NOT contain any spaces. +# FIXED_NEVER_USERS=root:bin:daemon FIXED_NEVER_USERS=root #------------------------------------------------------------------------------ +# By default, Exim insists that its configuration file be owned either by root +# or by the Exim user. You can specify one additional permitted owner here. + +# CONFIGURE_OWNER= + +# If the configuration file is group-writeable, Exim insists by default that it +# is owned by root or the Exim user. You can specify one additional permitted +# group owner here. + +# CONFIGURE_GROUP= + +# If you specify CONFIGURE_OWNER or CONFIGURE_GROUP as a name, this is looked +# up at build time, and the uid or gid number is built into the binary. +# However, you can specify that the lookup is deferred until runtime. In this +# case, it is the name that is built into the binary. You can do this by a +# setting of the form: + +# CONFIGURE_OWNER=ref:mail +# CONFIGURE_GROUP=ref:sysadmin + +# In other words, put "ref:" in front of the user or group name. Although this +# costs a bit of resource at runtime, it is convenient to use this feature when +# building binaries that are to be run on multiple systems where the names may +# refer to different uids or gids. It also allows you to build Exim on a system +# where the relevant user or group is not defined. + + +#------------------------------------------------------------------------------ # The -C option allows Exim to be run with an alternate runtime configuration # file. When this is used by root or the Exim user, root privilege is retained # by the binary (for any other caller, it is dropped). You can restrict the @@ -362,7 +449,7 @@ # configuration. Uncommenting this line restricts what can be done with these # options. A call to receive a message (either one-off or via a daemon) cannot # successfully continue to deliver it, because the re-exec of Exim to regain -# root privilege will fail, owing to the use of -C of -D by the Exim user. +# root privilege will fail, owing to the use of -C or -D by the Exim user. # However, you can still use -C for testing (as root) if you do separate Exim # calls for receiving a message and subsequently delivering it. @@ -387,11 +474,20 @@ # configuration to make use of the mechanism(s) selected. AUTH_CRAM_MD5=yes +# AUTH_CYRUS_SASL=yes AUTH_PLAINTEXT=yes AUTH_SPA=yes #------------------------------------------------------------------------------ +# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the +# Cyrus SASL library installed before trying to build Exim, and you probably +# want to uncomment the following line: + +# AUTH_LIBS=-lsasl2 + + +#------------------------------------------------------------------------------ # When Exim is decoding MIME "words" in header lines, most commonly for use # in the $header_xxx expansion, it converts any foreign character sets to the # one that is set in the headers_charset option. The default setting is @@ -512,9 +608,9 @@ # with the extension "texinfo" in the doc directory. You may find that the # version number of the texinfo files is different to your Exim version number, # because the main documentation isn't updated as often as the code. For -# example, if you have Exim version 4.03, the source tarball upacks into a -# directory called exim-4.03, but the texinfo tarball unpacks into exim-4.00. -# In this case, move the contents of exim-4.00/doc into exim-4.03/doc after you +# example, if you have Exim version 4.43, the source tarball upacks into a +# directory called exim-4.43, but the texinfo tarball unpacks into exim-4.40. +# In this case, move the contents of exim-4.40/doc into exim-4.43/doc after you # have unpacked them. Then set INFO_DIRECTORY to the location of your info # directory. This varies from system to system, but is often /usr/share/info. # Once you have done this, "make install" will build the info files and @@ -533,7 +629,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: -# LOG_FILE_PATH=/var/log/exim_%slog +LOG_FILE_PATH=/var/spool/exim/logs/%s.log # 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 @@ -545,7 +641,7 @@ # files, by settings such as these # LOG_FILE_PATH=syslog -LOG_FILE_PATH=/var/spool/exim/logs/%s.log +# LOG_FILE_PATH=syslog:/var/log/exim_%slog # The first of these uses only syslog; the second uses syslog and also writes # to log files. Do not include white space in such a setting as it messes up @@ -603,6 +699,16 @@ #------------------------------------------------------------------------------ +# Support for dynamically-loaded string expansion functions via ${dlfunc. If +# you are using gcc the dynamically-loaded object must be compiled with the +# -shared option, and you will need to add -export-dynamic to EXTRALIBS so +# 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. + +# EXPAND_DLFUNC=yes + + +#------------------------------------------------------------------------------ # Exim has support for PAM (Pluggable Authentication Modules), a facility # which is available in the latest releases of Solaris and in some GNU/Linux # distributions (see http://ftp.kernel.org/pub/linux/libs/pam/). The Exim @@ -622,6 +728,28 @@ # location of your Radius configuration file: # RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf +# RADIUS_CONFIG_FILE=/etc/radius.conf + +# If you have set RADIUS_CONFIG_FILE, you should also set one of these to +# indicate which RADIUS library is used: + +# RADIUS_LIB_TYPE=RADIUSCLIENT +# RADIUS_LIB_TYPE=RADIUSCLIENTNEW +# RADIUS_LIB_TYPE=RADLIB + +# RADIUSCLIENT is the radiusclient library; you probably need to add +# -lradiusclient to EXTRALIBS. +# +# The API for the radiusclient library was changed at release 0.4.0. +# Unfortunately, the header file does not define a version number that clients +# can use to support both the old and new APIs. If you are using version 0.4.0 +# or later of the radiusclient library, you should use RADIUSCLIENTNEW. +# +# RADLIB is the Radius library that comes with FreeBSD (the header file is +# called radlib.h); you probably need to add -lradius to EXTRALIBS. +# +# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library, +# using the original API. #------------------------------------------------------------------------------ @@ -655,7 +783,7 @@ # group. Once you have installed saslauthd, you should arrange for it to be # started by root at boot time. -# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux +CYRUS_SASLAUTHD_SOCKET=/var/sasl2/mux #------------------------------------------------------------------------------ @@ -679,7 +807,7 @@ #------------------------------------------------------------------------------ # The default action of the exim_install script (which is run by "make # install") is to install the Exim binary with a unique name such as -# exim-4.20-1, and then set up a symbolic link called "exim" to reference it, +# exim-4.43-1, and then set up a symbolic link called "exim" to reference it, # moving the symbolic link from any previous version. If you define NO_SYMLINK # (the value doesn't matter), the symbolic link is not created or moved. You # will then have to "turn Exim on" by setting up the link manually. @@ -697,6 +825,29 @@ # location for the system alias file. SYSTEM_ALIASES_FILE=/etc/mail/aliases + + +#------------------------------------------------------------------------------ +# There are some testing options (-be, -bt, -bv) that read data from the +# standard input when no arguments are supplied. By default, the input lines +# are read using the standard fgets() function. This does not support line +# editing during interactive input (though the terminal's "erase" character +# works as normal). If your operating system has the readline() function, and +# in addition supports dynamic loading of library functions, you can cause +# Exim to use readline() for the -be testing option (only) by uncommenting the +# following setting. Dynamic loading is used so that the library is loaded only +# when the -be testing option is given; by the time the loading occurs, +# Exim has given up its root privilege and is running as the calling user. This +# is the reason why readline() is NOT supported for -bt and -bv, because Exim +# runs as root or as exim, respectively, for those options. When USE_READLINE +# is "yes", as well as supporting line editing, a history of input lines in the +# current run is maintained. + +# USE_READLINE=yes + +# You may need to add -ldl to EXTRA_LIBS when you set USE_READLINE=yes. +# Note that this option adds to the size of the Exim binary, because the +# dynamic loading library is not otherwise included. Index: files/eximon.conf =================================================================== RCS file: /cvs/ports/mail/exim/files/eximon.conf,v retrieving revision 1.5 diff -u -r1.5 eximon.conf --- files/eximon.conf 26 Jul 2004 10:56:01 -0000 1.5 +++ files/eximon.conf 17 Dec 2005 16:11:38 -0000 @@ -1,3 +1,5 @@ +# $Cambridge: exim/exim-src/exim_monitor/EDITME,v 1.1 2004/10/07 10:39:01 ph10 Exp $ + ################################################## # The Exim Monitor # ################################################## Index: patches/patch-OS_Makefile-Default =================================================================== RCS file: /cvs/ports/mail/exim/patches/patch-OS_Makefile-Default,v retrieving revision 1.4 diff -u -r1.4 patch-OS_Makefile-Default --- patches/patch-OS_Makefile-Default 26 Jan 2005 19:38:52 -0000 1.4 +++ patches/patch-OS_Makefile-Default 17 Dec 2005 16:11:38 -0000 @@ -1,7 +1,6 @@ -$OpenBSD: patch-OS_Makefile-Default,v 1.4 2005/01/26 19:38:52 sturm Exp $ ---- OS/Makefile-Default.orig Tue Jan 25 22:31:22 2005 -+++ OS/Makefile-Default Tue Jan 25 22:31:31 2005 -@@ -69,7 +69,7 @@ PERL_COMMAND=/usr/bin/perl +--- OS/Makefile-Default.orig Mon Nov 28 11:57:32 2005 ++++ OS/Makefile-Default Tue Nov 29 11:54:49 2005 +@@ -71,7 +71,7 @@ # CC contains the name of the C compiler to be used. Index: patches/patch-scripts_exim_install =================================================================== RCS file: /cvs/ports/mail/exim/patches/patch-scripts_exim_install,v retrieving revision 1.3 diff -u -r1.3 patch-scripts_exim_install --- patches/patch-scripts_exim_install 26 Jan 2005 19:37:22 -0000 1.3 +++ patches/patch-scripts_exim_install 17 Dec 2005 16:11:38 -0000 @@ -1,12 +1,12 @@ ---- scripts/exim_install.orig Mon May 10 12:31:20 2004 -+++ scripts/exim_install Thu Jul 15 17:39:22 2004 -@@ -192,8 +192,7 @@ while [ $# -gt 0 ]; do +--- scripts/exim_install.orig Mon Nov 28 11:57:32 2005 ++++ scripts/exim_install Tue Nov 29 11:55:35 2005 +@@ -218,8 +218,7 @@ # The exim binary is handled specially if [ $name = exim${EXE} ]; then - version=exim-`./exim -bV -C /dev/null | \ - awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE} -+ version=exim-4.44 ++ version=exim-4.60 if [ "${version}" = "exim-${EXE}" ]; then echo $com "" Index: patches/patch-src_pcre_pcre_c =================================================================== RCS file: /cvs/ports/mail/exim/patches/patch-src_pcre_pcre_c,v retrieving revision 1.1 diff -u -r1.1 patch-src_pcre_pcre_c --- patches/patch-src_pcre_pcre_c 27 Aug 2005 15:57:31 -0000 1.1 +++ patches/patch-src_pcre_pcre_c 17 Dec 2005 16:11:38 -0000 @@ -1,7 +1,6 @@ -$OpenBSD: patch-src_pcre_pcre_c,v 1.1 2005/08/27 15:57:31 naddy Exp $ ---- src/pcre/pcre.c.orig Tue Jan 11 13:54:54 2005 -+++ src/pcre/pcre.c Fri Aug 26 19:59:53 2005 -@@ -1245,14 +1245,30 @@ read_repeat_counts(const uschar *p, int +--- src/pcre/pcre.c.orig Mon Nov 28 11:57:32 2005 ++++ src/pcre/pcre.c Tue Nov 29 11:57:24 2005 +@@ -1247,14 +1247,30 @@ int min = 0; int max = -1; @@ -32,7 +31,7 @@ if (max < min) { *errorptr = ERR4; -@@ -1261,16 +1277,11 @@ if (*p == '}') max = min; else +@@ -1263,16 +1279,11 @@ } } Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/mail/exim/pkg/PLIST,v retrieving revision 1.14 diff -u -r1.14 PLIST --- pkg/PLIST 26 Jan 2005 19:37:22 -0000 1.14 +++ pkg/PLIST 17 Dec 2005 16:11:38 -0000 @@ -4,7 +4,7 @@ bin/exicyclog bin/exigrep bin/exim -bin/exim-4.44 +bin/exim-4.60 bin/exim_checkaccess bin/exim_dbmbuild bin/exim_dumpdb @@ -28,7 +28,6 @@ @sample ${SYSCONFDIR}/exim/configure share/examples/exim/convert4r4 !%%no_x11%% -!%%no_exiscan%% @owner _exim @group _exim @sample /var/spool/exim/