On 11-12-2009 22:25, Björn Ketelaars wrote:
On 11-12-2009 19:27, Bernd Ahlers wrote:
Hey,

here's an update to exim-4.71. Please test and comment.
Thanks.

Regards,
Bernd


What do you think of this small patch (diff against 'fresh' ports),
which includes:

* all changes from Bernd;
* added support for the dovecot-authenticator _as a flavor_;
* added a bit more information to MESSAGE concerning the use of
mailwrapper;
* Changed no_x11 to x11 (why would one use X11 as a standard requirement
for a mailserver?);
* Removed "WITH_OLD_DEMIM" from no_exiscan flavor. This exim condition
is deprecated;
* Removed iconv flavor, whereby libiconv is changed from optional to
mandatory.



Unfortunately the first diff contained a typo whereby both DSEARCH- and CDB-lookup were disabled. The included diff corrects this.

Als changed is the use of syslog instead of seperate logfiles under /var/spool/exim/logs/




diff -ruN exim/Makefile exim-4.71/Makefile
--- exim/Makefile       Fri Dec 11 21:17:22 2009
+++ exim-4.71/Makefile  Fri Dec 11 22:06:11 2009
@@ -1,8 +1,7 @@
 # $OpenBSD: Makefile,v 1.67 2009/08/10 06:32:42 kili Exp $
 
 COMMENT=       Flexible mail transfer agent
-DISTNAME=      exim-4.69
-PKGNAME=       ${DISTNAME}p2
+DISTNAME=      exim-4.71
 CATEGORIES=    mail
 MASTER_SITES=  ftp://ftp.exim.org/pub/exim/exim4/ \
                http://mirror.switch.ch/ftp/mirror/exim/exim/exim4/ \
@@ -19,20 +18,23 @@
 PERMIT_DISTFILES_FTP=   Yes
 WANTLIB=               c crypto perl ssl util wrap m
 
-FLAVORS=no_exiscan no_x11 mysql postgresql sqlite3 ldap iconv sasl
+LIB_DEPENDS=           pcre::devel/pcre
+
+MODULES=                converters/libiconv
+
+FLAVORS=no_exiscan x11 mysql postgresql sqlite3 ldap dovecot sasl
 FLAVOR?=
 
 NO_REGRESS=Yes
 
 .if !${FLAVOR:L:Mno_exiscan}
 EXIM_MAKECAT+=         "WITH_CONTENT_SCAN=yes\n"
-EXIM_MAKECAT+=         "WITH_OLD_DEMIME=yes\n"
 .endif
 
-.if !${FLAVOR:L:Mno_x11}
+.if ${FLAVOR:L:Mx11}
 USE_X11=               Yes
 EXIM_MAKECAT+=         "EXIM_MONITOR=eximon.bin\n"
-WANTLIB+=              X11 Xaw Xext Xmu Xt pthread-stubs xcb
+WANTLIB+=              X11 Xaw Xext Xmu Xt
 .endif
 
 .if ${FLAVOR:L:Mmysql}
@@ -51,7 +53,6 @@
 
 .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
@@ -59,40 +60,40 @@
 .if ${FLAVOR:L:Mldap}
 EXIM_MAKECAT+=         "LOOKUP_LDAP=yes\n"
 EXIM_MAKECAT+=         "LDAP_LIB_TYPE=OPENLDAP2\n"
-EXIM_LOOKUP_INCLUDE+=  -I${LOCALBASE}/include
 EXIM_LOOKUP_LIBS+=     -L${LOCALBASE}/lib -lldap -llber
-LIB_DEPENDS+=          ldap.>=2,lber:openldap-client->=2,<3:databases/openldap
+LIB_DEPENDS+=          ldap.>=2,lber:openldap-client-2.*:databases/openldap
 .endif
 
-.if ${FLAVOR:L:Miconv}
-MODULES=               converters/libiconv
-EXIM_MAKECAT+=         "HAVE_ICONV=yes\n"
-EXIM_EXTRA_LIBS+=      -L${LOCALBASE}/lib -liconv
-EXIM_CFLAGS+=          -I${LOCALBASE}/include
+.if ${FLAVOR:L:Mdovecot}
+EXIM_MAKECAT+=          "AUTH_DOVECOT=yes\n"
 .endif
 
 .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_MAKECAT+=          "HAVE_ICONV=yes\n"
+EXIM_EXTRA_LIBS+=       -L${LOCALBASE}/lib -liconv
+
 EXIM_EXTRA_LIBS+=      -lwrap
 
-EXIM_MAKECAT+=         "AUTH_DOVECOT=yes\n"
 EXIM_MAKECAT+=         "BIN_DIRECTORY=${PREFIX}/bin\n"
 EXIM_MAKECAT+=         "CONFIGURE_FILE=${SYSCONFDIR}/exim/configure\n"
 EXIM_MAKECAT+=         "LOOKUP_INCLUDE=${EXIM_LOOKUP_INCLUDE}\n"
 EXIM_MAKECAT+=         "LOOKUP_LIBS=${EXIM_LOOKUP_LIBS}\n"
 EXIM_MAKECAT+=         "EXTRALIBS_EXIM=${EXIM_EXTRA_LIBS}\n"
 EXIM_MAKECAT+=         "CFLAGS=${CFLAGS} ${EXIM_CFLAGS}\n"
+EXIM_MAKECAT+=         "INCLUDE=-I${LOCALBASE}/include\n"
 
+MAKE_FLAGS+=   FULLECHO=
+
 do-configure:
        @mkdir -p ${WRKSRC}/Local
        @cp ${FILESDIR}/Makefile ${WRKSRC}/Local
        @echo -n ${EXIM_MAKECAT} >> ${WRKSRC}/Local/Makefile
-.if !${FLAVOR:L:Mno_x11}
+.if !${FLAVOR:L:Mx11}
        @cp ${FILESDIR}/eximon.conf ${WRKSRC}/Local
 .endif
 
diff -ruN exim/distinfo exim-4.71/distinfo
--- exim/distinfo       Fri Dec 11 21:17:22 2009
+++ exim-4.71/distinfo  Fri Dec 11 21:52:18 2009
@@ -1,5 +1,5 @@
-MD5 (exim-4.69.tar.gz) = VujbHf4x4O5M74XolAzu3A==
-RMD160 (exim-4.69.tar.gz) = 0lnHZup58qJTknUwIRHJlk5xDf8=
-SHA1 (exim-4.69.tar.gz) = fq4faFvog2/G+1lwqtomVB4UqQ0=
-SHA256 (exim-4.69.tar.gz) = VvkLkngC4LVjaelTXYJs+1VHmq+6ZbaJ7NgP2LFCpgg=
-SIZE (exim-4.69.tar.gz) = 2131237
+MD5 (exim-4.71.tar.gz) = JVU4GNyjPfBvBoyvseDo6A==
+RMD160 (exim-4.71.tar.gz) = jBXMJ1syAD07Vi/L63B5BU8oKK0=
+SHA1 (exim-4.71.tar.gz) = gZjHCJK6jOGhxVCw0ZvHWQgUxTU=
+SHA256 (exim-4.71.tar.gz) = NvdpRKn4mPrSxk4mjVS9dl5hm+BgzbAyBVP8Kh9L8v4=
+SIZE (exim-4.71.tar.gz) = 2002790
diff -ruN exim/files/Makefile exim-4.71/files/Makefile
--- exim/files/Makefile Fri Dec 11 21:17:22 2009
+++ exim-4.71/files/Makefile    Fri Dec 11 23:04:24 2009
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/src/EDITME,v 1.16 2005/10/12 15:45:38 ph10 Exp $
+# $Cambridge: exim/exim-src/src/EDITME,v 1.23 2009/11/20 12:18:19 nm4 Exp $
 
 ##################################################
 #          The Exim mail transport agent         #
@@ -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.
 
-# BIN_DIRECTORY=/usr/exim/bin
+#BIN_DIRECTORY=/usr/exim/bin
 
 
 #------------------------------------------------------------------------------
@@ -116,7 +116,7 @@
 # don't exist. It will also install a default runtime configuration if this
 # file does not exist.
 
-# CONFIGURE_FILE=/usr/exim/configure
+#CONFIGURE_FILE=/usr/exim/configure
 
 # It is possible to specify a colon-separated list of files for CONFIGURE_FILE.
 # In this case, Exim will use the first of them that exists when it is run.
@@ -260,9 +260,9 @@
 
 LOOKUP_DBM=yes
 LOOKUP_LSEARCH=yes
+LOOKUP_DNSDB=yes
 
 LOOKUP_CDB=yes
-LOOKUP_DNSDB=yes
 LOOKUP_DSEARCH=yes
 # LOOKUP_IBASE=yes
 # LOOKUP_LDAP=yes
@@ -301,6 +301,19 @@
 
 
 #------------------------------------------------------------------------------
+# The PCRE library is required for exim.  There is no longer an embedded
+# version of the PCRE library included with the source code, instead you
+# must use a system library or build your own copy of PCRE.
+# In either case you must specify the library link info here.  If the
+# PCRE header files are not in the standard search path you must also
+# modify the INCLUDE path (above)
+# The default setting of PCRE_LIBS should work on the vast majority of
+# systems
+
+PCRE_LIBS=-lpcre
+
+
+#------------------------------------------------------------------------------
 # Additional libraries and include directories may be required for some
 # lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on
 # the command for linking Exim itself, not on any auxiliary programs. You
@@ -475,6 +488,7 @@
 
 AUTH_CRAM_MD5=yes
 # AUTH_CYRUS_SASL=yes
+# AUTH_DOVECOT=yes
 AUTH_PLAINTEXT=yes
 AUTH_SPA=yes
 
@@ -535,7 +549,7 @@
 # configuration of an authenticator for use with SMTP AUTH.) At least one
 # operating system has an extended function called crypt16(), which uses up to
 # 16 characters of a password (the normal crypt() uses only the first 8). Exim
-# supports the use of crypt16() as well as crypt().
+# supports the use of crypt16() as well as crypt() but note the warning below.
 
 # You can always indicate a crypt16-encrypted password by preceding it with
 # "{crypt16}". If you want the default handling (without any preceding
@@ -547,12 +561,25 @@
 # an encrypted password with "{crypt}". For more details, see the description
 # of the "crypteq" condition in the manual chapter on string expansions.
 
-# Since most operating systems do not include a crypt16() function (yet?), Exim
-# has one of its own, which it uses unless HAVE_CRYPT16 is defined. Normally,
-# that will be set in an OS-specific Makefile for the OS that have such a
-# function, so you should not need to bother with it.
+# Some operating systems do not include a crypt16() function, so Exim has one
+# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will
+# be set in an OS-specific Makefile for the OS that have such a function, so
+# you should not need to bother with it.
 
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
+# It turns out that the above is not entirely accurate. As well as crypt16()
+# there is a function called bigcrypt() that some operating systems have. This
+# may or may not use the same algorithm, and both of them may be different to
+# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined.
+#
+# However, since there is now a move away from the traditional crypt()
+# functions towards using SHA1 and other algorithms, tidying up this area of
+# Exim is seen as very low priority. In practice, if you need to, you can
+# define DEFAULT_CRYPT to the name of any function that has the same interface
+# as the traditional crypt() function.
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
 
+
 #------------------------------------------------------------------------------
 # Exim can be built to support the SMTP STARTTLS command, which implements
 # Transport Layer Security using SSL (Secure Sockets Layer). To do this, you
@@ -629,7 +656,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/spool/exim/logs/%s.log
+# LOG_FILE_PATH=/var/log/exim_%slog
 
 # 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
@@ -640,7 +667,7 @@
 # You can also configure Exim to use syslog, instead of or as well as log
 # files, by settings such as these
 
-# LOG_FILE_PATH=syslog
+LOG_FILE_PATH=syslog
 # LOG_FILE_PATH=syslog:/var/log/exim_%slog
 
 # The first of these uses only syslog; the second uses syslog and also writes
@@ -845,7 +872,7 @@
 
 # USE_READLINE=yes
 
-# You may need to add -ldl to EXTRA_LIBS when you set USE_READLINE=yes.
+# You may need to add -ldl to EXTRALIBS 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.
 
@@ -872,8 +899,10 @@
 
 # CHOWN_COMMAND=/usr/bin/chown
 # CHGRP_COMMAND=/usr/bin/chgrp
+# CHMOD_COMMAND=/usr/bin/chmod
 # MV_COMMAND=/bin/mv
 # RM_COMMAND=/bin/rm
+# TOUCH_COMMAND=/usr/bin/touch
 # PERL_COMMAND=/usr/bin/perl
 
 
@@ -1102,5 +1131,21 @@
 # messages become "invisible" to the normal management tools.
 
 # SUPPORT_MOVE_FROZEN_MESSAGES=yes
+
+
+#------------------------------------------------------------------------------
+# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you
+# really, really, really know what you are doing. And even then, think again.
+# You should never uncomment this when compiling a binary for distribution.
+# Use it only when compiling Exim for your own use.
+#
+# Uncommenting this line enables the use of a runtime option called
+# disable_fsync, which can be used to stop Exim using fsync() to ensure that
+# files are written to disc before proceeding. When this is disabled, crashes
+# and hardware problems such as power outages can cause data to be lost. This
+# feature should only be used in very exceptional circumstances. YOU HAVE BEEN
+# WARNED.
+
+# ENABLE_DISABLE_FSYNC=yes
 
 # End of EDITME for Exim 4.
diff -ruN exim/patches/patch-OS_Makefile-Default 
exim-4.71/patches/patch-OS_Makefile-Default
--- exim/patches/patch-OS_Makefile-Default      Fri Dec 11 21:17:22 2009
+++ exim-4.71/patches/patch-OS_Makefile-Default Fri Dec 11 21:33:11 2009
@@ -1,7 +1,7 @@
 --- OS/Makefile-Default.orig   Fri Feb 10 15:33:26 2006
 +++ OS/Makefile-Default        Wed Jan 30 23:03:20 2008
-@@ -71,7 +71,7 @@ PERL_COMMAND=/usr/bin/perl
- 
+@@ -73,7 +73,7 @@ PERL_COMMAND=/usr/bin/perl 
+
  # CC contains the name of the C compiler to be used.
  
 -CC=gcc
@@ -9,3 +9,12 @@
  
  
  # CFLAGS contains flags to be passed to the compiler. Nothing is defaulted
+@@ -86,7 +86,7 @@ CC=gcc
+ # here; instead each OS-dependent Makefile contains a default setting if one
+ # is needed.
+
+-# LFLAGS=
++LFLAGS=-L$(LOCALBASE)/lib
+
+
+ # PCRE_LIBS contains the library to be linked for PCRE
diff -ruN exim/pkg/DESCR exim-4.71/pkg/DESCR
--- exim/pkg/DESCR      Fri Dec 11 21:17:22 2009
+++ exim-4.71/pkg/DESCR Thu Oct 16 20:46:54 2008
@@ -6,14 +6,13 @@
 
 This port can be built with the following flavors:
 
-* no_exiscan           - do not build content scanning into the exim4
-                          ACL system.
-* no_x11               - do not build eximon which requires X11
-* mysql                        - support mysql queries for lookups
-* postgresql           - support postgresql queries for lookups
-* sqlite3              - support for sqlite queries for lookups
-* ldap                 - support ldap (OpenLDAP) queries for lookups
-* iconv                        - support character code conversions
-* sasl                 - support for SASL
+* no_exiscan   - do not build content scanning into the exim4 ACL system
+* x11          - build eximon which requires X11
+* mysql                - support mysql queries for lookups
+* postgresql   - support postgresql queries for lookups
+* sqlite3      - support for sqlite queries for lookups
+* ldap         - support ldap (OpenLDAP) queries for lookups
+* dovecot      - support dovecot authentication
+* sasl         - support for SASL
 
 All these flavors are independent of each other.
diff -ruN exim/pkg/MESSAGE exim-4.71/pkg/MESSAGE
--- exim/pkg/MESSAGE    Fri Dec 11 21:17:22 2009
+++ exim-4.71/pkg/MESSAGE       Tue Oct 28 19:49:06 2008
@@ -1,6 +1,18 @@
-If you intend replacing sendmail with exim, then don't
-forget to modify /etc/mailer.conf accordingly; see
-mailwrapper(8).
+To replace sendmail with exim you have to change /etc/mailer.conf to:
+
+sendmail        /usr/local/bin/exim
+send-mail       /usr/local/bin/exim
+mailq           /usr/local/bin/exim -bp
+newaliases      /usr/bin/true
+
+See mailwrapper(8) for more information.
+
+NOTE: do not forget to add sendmail_flags="-bd -q30m" to
+      /etc/rc.conf.local to startup exim correctly.
+
+NOTE: do not forget to remove the "sendmail clientmqueue runner"
+      from root's crontab.
+
 
 A perl script may help converting from exim-3.xx config
 files and has been installed in
diff -ruN exim/pkg/PFRAG.no-no_x11 exim-4.71/pkg/PFRAG.no-no_x11
--- exim/pkg/PFRAG.no-no_x11    Fri Dec 11 21:17:22 2009
+++ exim-4.71/pkg/PFRAG.no-no_x11       Thu Jan  1 01:00:00 1970
@@ -1,3 +0,0 @@
-...@comment $OpenBSD: PFRAG.no-no_x11,v 1.4 2009/07/22 10:48:31 sthen Exp $
-bin/eximon
-...@bin bin/eximon.bin
diff -ruN exim/pkg/PFRAG.x11 exim-4.71/pkg/PFRAG.x11
--- exim/pkg/PFRAG.x11  Thu Jan  1 01:00:00 1970
+++ exim-4.71/pkg/PFRAG.x11     Thu Oct 16 20:37:52 2008
@@ -0,0 +1,3 @@
+...@comment $OpenBSD: PFRAG.x11,v 1.3 2004/09/15 09:09:42 espie Exp $
+bin/eximon
+bin/eximon.bin
diff -ruN exim/pkg/PLIST exim-4.71/pkg/PLIST
--- exim/pkg/PLIST      Fri Dec 11 21:17:22 2009
+++ exim-4.71/pkg/PLIST Fri Dec 11 22:03:57 2009
@@ -28,7 +28,7 @@
 share/examples/exim/configure
 @sample ${SYSCONFDIR}/exim/configure
 share/examples/exim/convert4r4
-!%%no_x11%%
+!%%x11%%
 @owner _exim
 @group _exim
 @sample /var/spool/exim/


Reply via email to