mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-16 07:58:04 +00:00
Update for exim-3.951 (AKA exim-4.0 alpha release) after repo copy.
This port can be used by early adopters of the upcoming exim-4.0 release. NO_LATEST_LINK is set to prevent package building, since version-chasers will likely be bitten hard by an unwitting upgrade.
This commit is contained in:
parent
fb48c356b3
commit
145f1f9d09
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=51756
@ -6,18 +6,21 @@
|
||||
#
|
||||
|
||||
PORTNAME= exim
|
||||
PORTVERSION= 3.33
|
||||
PORTREVISION= 6
|
||||
PORTVERSION= 3.951
|
||||
CATEGORIES= mail
|
||||
MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim3/ \
|
||||
http://www.exim.org/ftp/exim3/ \
|
||||
ftp://ftp.is.co.za/networking/mail/transport/exim/exim3/
|
||||
DISTFILES= exim-3.33.tar.bz2 exim-texinfo-3.30.tar.bz2
|
||||
MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/Testing/ \
|
||||
http://www.exim.org/ftp/Testing/ \
|
||||
ftp://ftp.is.co.za/networking/mail/transport/exim/Testing/
|
||||
DISTFILES= exim-3.951.tar.bz2 exim-texinfo-3.951.tar.bz2
|
||||
|
||||
MAINTAINER= sheldonh@FreeBSD.org
|
||||
|
||||
NO_LATEST_LINK= yes
|
||||
|
||||
USE_BZIP2= yes
|
||||
|
||||
MAN8= exim.8
|
||||
|
||||
.if defined(NOPORTDOCS)
|
||||
PKGMESSAGE= ${FILESDIR}/POST-INSTALL-NOTES
|
||||
.endif
|
||||
@ -81,6 +84,10 @@ RUN_DEPENDS= ${LOCALBASE}/sbin/eximon:${PORTSDIR}/mail/exim-monitor
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
PORTDOC_FILES= Exim3.upgrade Exim4.upgrade OptionLists.txt README \
|
||||
dbm.discuss.txt exim.8 filter.txt pcre.txt pcretest.txt \
|
||||
spec.txt
|
||||
|
||||
.if ${OSVERSION} < 400014
|
||||
WITHOUT_IPV6= yes
|
||||
.endif
|
||||
@ -183,7 +190,7 @@ do-configure:
|
||||
${MKDIR} ${WRKSRC}/Local
|
||||
${SED} ${SEDLIST} < ${WRKSRC}/src/EDITME > ${WRKSRC}/Local/Makefile
|
||||
cd ${WRKSRC}/doc && \
|
||||
for i in ../../exim-texinfo-3.30/doc/* ; do \
|
||||
for i in ../../exim-texinfo-3.951/doc/* ; do \
|
||||
${LN} -sf $$i ; \
|
||||
done
|
||||
|
||||
@ -194,9 +201,12 @@ post-install:
|
||||
.if !defined(NOPORTDOCS)
|
||||
${MKDIR} ${PREFIX}/share/doc/exim
|
||||
${INSTALL_DATA} ${FILESDIR}/POST-INSTALL-NOTES ${PREFIX}/share/doc/exim
|
||||
${INSTALL_DATA} ${WRKSRC}/doc/filter.txt ${PREFIX}/share/doc/exim
|
||||
${INSTALL_DATA} ${WRKSRC}/doc/oview.txt ${PREFIX}/share/doc/exim
|
||||
${INSTALL_DATA} ${WRKSRC}/doc/spec.txt ${PREFIX}/share/doc/exim
|
||||
.for file in ${PORTDOC_FILES}
|
||||
${INSTALL_DATA} ${WRKSRC}/doc/${file} ${PREFIX}/share/doc/exim
|
||||
.endfor
|
||||
.for file in ${MAN8}
|
||||
${INSTALL_MAN} ${WRKSRC}/doc/${file} ${PREFIX}/man/man8
|
||||
.endfor
|
||||
.endif
|
||||
@${CAT} ${PKGMESSAGE}
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
MD5 (exim-3.33.tar.bz2) = d93a6f6387e18cf94c709f93c725b823
|
||||
MD5 (exim-texinfo-3.30.tar.bz2) = 6400cc7988036991b6bbe7ed9b4d9eeb
|
||||
MD5 (exim-3.951.tar.bz2) = 426b88630cd54659f770f88d48e90acb
|
||||
MD5 (exim-texinfo-3.951.tar.bz2) = 9b8b8e781a4ca338aee97d9feb4ac5b3
|
||||
|
@ -1,40 +0,0 @@
|
||||
--- ../exim-texinfo-3.30/doc/spec.texinfo.orig Tue Jun 12 12:20:49 2001
|
||||
+++ ../exim-texinfo-3.30/doc/spec.texinfo Mon Jun 18 17:50:02 2001
|
||||
@@ -6571,20 +6571,24 @@
|
||||
|
||||
|
||||
@cindex gid: caller
|
||||
-@center aller_gid: The group id under which the process that called Exim was
|
||||
+$caller_gid:
|
||||
+The group id under which the process that called Exim was
|
||||
running. This is not the same as the group id of the originator of a message
|
||||
(see $originator_gid). If Exim re-execs itself, this variable in the new
|
||||
incarnation normally contains the Exim gid.
|
||||
|
||||
@cindex uid: caller
|
||||
-@center aller_uid: The user id under which the process that called Exim was
|
||||
+$caller_uid:
|
||||
+The user id under which the process that called Exim was
|
||||
running. This is not the same as the user id of the originator of a message
|
||||
(see $originator_uid). If Exim re-execs itself, this variable in the new
|
||||
incarnation normally contains the Exim uid.
|
||||
|
||||
-@center ompile_date: The date on which the Exim binary was compiled.
|
||||
+$compile_date:
|
||||
+The date on which the Exim binary was compiled.
|
||||
|
||||
-@center ompile_number: The building process for Exim keeps a count of the number
|
||||
+$compile_number:
|
||||
+The building process for Exim keeps a count of the number
|
||||
of times it has been compiled. This serves to distinguish different
|
||||
compilations of the same version of the program.
|
||||
|
||||
@@ -6630,7 +6634,7 @@
|
||||
transport, the value is available in that transport. In all other situations,
|
||||
this variable expands to nothing.
|
||||
|
||||
- rrmsg_recipient:
|
||||
+$errmsg_recipient:
|
||||
This is set to the recipient address of an error message while Exim is creating
|
||||
it. It is useful if a customized error message text file is in use (see
|
||||
chapter "Customizing error and warning messages").
|
@ -1,23 +1,14 @@
|
||||
*) Causes the configure file to be installed as a sample only. The
|
||||
administrator needs to rename this file to "activate" exim.
|
||||
|
||||
--- scripts/exim_install.orig Mon Aug 2 17:43:03 1999
|
||||
+++ scripts/exim_install Tue Aug 3 14:31:20 1999
|
||||
@@ -199,25 +199,20 @@
|
||||
fi
|
||||
done
|
||||
|
||||
-
|
||||
-
|
||||
-# If there is no configuration file, install the default.
|
||||
+# Install only a sample configuration, which encourages the admin to look
|
||||
+# at it, since Exim won't run without a configure file.
|
||||
--- scripts/exim_install.orig Fri Nov 23 17:31:15 2001
|
||||
+++ scripts/exim_install Tue Dec 18 22:23:28 2001
|
||||
@@ -293,30 +293,15 @@
|
||||
|
||||
echo $com ""
|
||||
|
||||
-if [ ! -f ${CONFIGURE_FILE} ]; then
|
||||
- echo $com Installing default configuration in ${CONFIGURE_FILE}
|
||||
- echo $com because there is no existing configuration file.
|
||||
- echo ${MKDIR} -p `${DIRNAME} ${CONFIGURE_FILE}`
|
||||
- ${real} ${MKDIR} -p `${DIRNAME} ${CONFIGURE_FILE}`
|
||||
- echo ${CP} ../src/configure.default ${CONFIGURE_FILE}
|
||||
- ${real} ${CP} ../src/configure.default ${CONFIGURE_FILE}
|
||||
+ echo $com Installing default configuration file in ${CONFIGURE_FILE%/*}/configure.default
|
||||
@ -29,6 +20,15 @@
|
||||
echo $com "*** Exim installation ${ver}failed ***"
|
||||
exit 1
|
||||
fi
|
||||
- if [ ! -f /etc/aliases ]; then
|
||||
- echo $com '****'
|
||||
- echo $com Installing a dummy /etc/aliases file because you do not have
|
||||
- echo $com one, and the default configuration requires it. You should
|
||||
- echo $com edit /etc/aliases and at least create an alias for postmaster.
|
||||
- echo $com '***'
|
||||
- echo ${CP} ../src/aliases.default /etc/aliases
|
||||
- ${real} ${CP} ../src/aliases.default /etc/aliases
|
||||
- fi
|
||||
-else
|
||||
- echo $com Configuration file ${CONFIGURE_FILE} already exists
|
||||
-fi
|
||||
|
@ -1,133 +1,96 @@
|
||||
--- src/EDITME.orig Fri Jan 19 11:32:06 2001
|
||||
+++ src/EDITME Mon Jun 11 09:45:26 2001
|
||||
@@ -103,7 +103,7 @@
|
||||
# installed in this directory. There is no default for this variable built into
|
||||
# the source files; it must be set in one of the local configuration files.
|
||||
--- src/EDITME.orig Tue Dec 18 22:01:44 2001
|
||||
+++ src/EDITME Tue Dec 18 22:11:42 2001
|
||||
@@ -95,7 +95,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=XX_PREFIX_XX/sbin
|
||||
|
||||
|
||||
# The default distribution of Exim contains only the plain text form of the
|
||||
@@ -114,21 +114,21 @@
|
||||
# your info directory; "make install" will then build the info files and
|
||||
# install them there.
|
||||
|
||||
-# INFO_DIRECTORY=/usr/local/info
|
||||
+INFO_DIRECTORY=XX_PREFIX_XX/info
|
||||
|
||||
|
||||
# The compress command is used by the exicyclog script to compress old log
|
||||
# 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.
|
||||
|
||||
-COMPRESS_COMMAND=/opt/gnu/bin/gzip
|
||||
+COMPRESS_COMMAND=/usr/bin/gzip
|
||||
COMPRESS_SUFFIX=gz
|
||||
|
||||
|
||||
# If the exigrep utility is fed compressed log files, it tries to uncompress
|
||||
# them using this command.
|
||||
|
||||
-ZCAT_COMMAND=/opt/gnu/bin/zcat
|
||||
+ZCAT_COMMAND=/usr/bin/zcat
|
||||
|
||||
|
||||
# The runtime configuration file: This variable defines where Exim's runtime
|
||||
@@ -137,7 +137,7 @@
|
||||
# location of all other runtime files and directories can be changed in the
|
||||
# runtime configuration file.
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -110,7 +110,7 @@
|
||||
# directories if they don't exist. It will also install a default run time
|
||||
# configuration if this file does not exist.
|
||||
|
||||
-CONFIGURE_FILE=/usr/exim/configure
|
||||
+CONFIGURE_FILE=XX_PREFIX_XX/etc/exim/configure
|
||||
|
||||
|
||||
# In some installations there may be multiple machines sharing file systems,
|
||||
@@ -231,8 +231,8 @@
|
||||
# "security" setting, which controls how privilege is released (setuid vs
|
||||
# seteuid).
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -123,8 +123,8 @@
|
||||
# owner of a local mailbox.) Specifying these values as root is very strongly
|
||||
# discouraged. These values are compiled into the binary.
|
||||
|
||||
-# EXIM_UID=
|
||||
-# EXIM_GID=
|
||||
+EXIM_UID=26
|
||||
+EXIM_GID=6
|
||||
-EXIM_USER=
|
||||
-EXIM_GROUP=
|
||||
+EXIM_USER=mailnull
|
||||
+EXIM_GROUP=mail
|
||||
|
||||
# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must
|
||||
# also be a setting of EXIM_GROUP. If, on the other hand, you use a name
|
||||
@@ -266,8 +266,8 @@
|
||||
# don't need to set LOOKUP_INCLUDE if the relevant directories are already
|
||||
# specified in INCLUDE.
|
||||
|
||||
-# 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
|
||||
+LOOKUP_INCLUDE=XX_MYSQL_INCLUDE_XX XX_PGSQL_INCLUDE_XX XX_LDAP_INCLUDE_XX
|
||||
+LOOKUP_LIBS=XX_MYSQL_LIBS_XX XX_PGSQL_LIBS_XX XX_LDAP_LIBS_XX
|
||||
|
||||
|
||||
# Compiling the Exim monitor: If you want to compile the Exim monitor,
|
||||
@@ -243,7 +243,7 @@
|
||||
# are defaulted in the OS/Makefile-Default file, and can be overridden
|
||||
# in local OS-specific make files.
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -278,7 +278,7 @@
|
||||
# files are defaulted in the OS/Makefile-Default file, but can be overridden in
|
||||
# local OS-specific make files.
|
||||
|
||||
-EXIM_MONITOR=eximon.bin
|
||||
+#EXIM_MONITOR=eximon.bin
|
||||
|
||||
|
||||
# Compiling in support for embedded Perl: If you want to be able to
|
||||
@@ -286,7 +286,7 @@
|
||||
# "panic", or "reject" to form the final file name. For example, some
|
||||
# installations may want something like this:
|
||||
|
||||
-# LOG_FILE_PATH=/var/log/exim_%slog
|
||||
+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
|
||||
@@ -352,6 +352,8 @@
|
||||
|
||||
# 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
|
||||
+LOOKUP_INCLUDE=XX_MYSQL_INCLUDE_XX XX_PGSQL_INCLUDE_XX XX_LDAP_INCLUDE_XX
|
||||
+LOOKUP_LIBS=XX_MYSQL_LIBS_XX XX_PGSQL_LIBS_XX XX_LDAP_LIBS_XX
|
||||
|
||||
# If you have set LDAP=yes, you should set LDAP_LIB_TYPE to indicate which LDAP
|
||||
# library you have. Unfortunately, though most of their functions are the
|
||||
@@ -365,6 +367,7 @@
|
||||
# LDAP_LIB_TYPE=OPENLDAP2
|
||||
# LDAP_LIB_TYPE=NETSCAPE
|
||||
# LDAP_LIB_TYPE=SOLARIS
|
||||
+LDAP_LIB_TYPE=XX_LDAP_TYPE_XX
|
||||
|
||||
# If you don't set any of these, Exim assumes the original University of
|
||||
# Michigan (OpenLDAP 1) library.
|
||||
@@ -411,7 +414,7 @@
|
||||
# the file name, allowing sites that run two separate daemons to distinguish
|
||||
# them. Some installations may want something like this
|
||||
|
||||
-# PID_FILE_PATH=/var/lock/exim%s.pid
|
||||
+PID_FILE_PATH=/var/run/exim%s.pid
|
||||
|
||||
# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
|
||||
# (see SPOOL_DIRECTORY below) with the name "exim-daemon.pid" for the standard
|
||||
@@ -460,7 +463,7 @@
|
||||
# uid and gid.
|
||||
|
||||
# Many installations will want something like this:
|
||||
-# SPOOL_DIRECTORY=/var/spool/exim
|
||||
+SPOOL_DIRECTORY=/var/spool/exim
|
||||
|
||||
# Others may prefer to keep all Exim things under one directory:
|
||||
# SPOOL_DIRECTORY=/usr/exim/spool
|
||||
@@ -525,7 +528,7 @@
|
||||
# with TLS support.
|
||||
@@ -312,7 +312,7 @@
|
||||
# settings commented out.
|
||||
|
||||
# SUPPORT_TLS=yes
|
||||
-# TLS_LIBS=-lssl -lcrypto
|
||||
+TLS_LIBS=-lssl -lcrypto
|
||||
|
||||
# If you are running Exim as a server, note that just building it with TLS
|
||||
# support is not usually all you need to do. You normally need to set up a
|
||||
@@ -575,5 +578,14 @@
|
||||
# chapter on building and installing Exim.
|
||||
# support is not all you need to do. You also need to set up a suitable
|
||||
@@ -354,7 +354,7 @@
|
||||
# Once you have done this, "make install" will build the info files and
|
||||
# install them in the directory you have defined.
|
||||
|
||||
# USE_TCP_WRAPPERS=yes
|
||||
-# INFO_DIRECTORY=/usr/share/info
|
||||
+INFO_DIRECTORY=XX_PREFIX_XX/info
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -367,7 +367,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/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
|
||||
@@ -455,7 +455,7 @@
|
||||
|
||||
# USE_TCP_WRAPPERS=yes
|
||||
# CFLAGS=-O -I/usr/local/include
|
||||
-# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap
|
||||
+EXTRALIBS=XX_TCP_WRAPPERS_LIBS_XX XX_PAM_LIBS_XX
|
||||
+
|
||||
+
|
||||
+# IPv6 is coming. Exim has experimental support that has been tried out on
|
||||
+# one or two OS. See the file README.IPV6 for the current status of this
|
||||
+# support. Do not set this option unless you are working on IPv6 and know
|
||||
+# what you are doing.
|
||||
+
|
||||
+# HAVE_IPV6=yes
|
||||
|
||||
# End of EDITME
|
||||
# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
|
||||
# as well.
|
||||
@@ -652,7 +652,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:
|
||||
|
||||
-# PID_FILE_PATH=/var/lock/exim.pid
|
||||
+PID_FILE_PATH=/var/lock/exim%s.pid
|
||||
|
||||
# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
|
||||
# using the name "exim-daemon.pid".
|
||||
|
@ -1,8 +1,8 @@
|
||||
--- src/configure.default.orig Thu Jun 14 19:39:54 2001
|
||||
+++ src/configure.default Thu Jun 14 20:10:52 2001
|
||||
@@ -99,7 +99,9 @@
|
||||
# normal user. This isn't usually a problem, as most sites have an alias for
|
||||
# root that redirects such mail to a human administrator.
|
||||
--- src/configure.default.orig Fri Nov 23 17:31:16 2001
|
||||
+++ src/configure.default Tue Dec 18 23:34:07 2001
|
||||
@@ -138,7 +138,9 @@
|
||||
# were a normal user. This isn't usually a problem, as most sites have an alias
|
||||
# for root that redirects such mail to a human administrator.
|
||||
|
||||
-never_users = root
|
||||
+exim_user = mailnull
|
||||
@ -10,17 +10,26 @@
|
||||
+never_users = root : mailnull
|
||||
|
||||
|
||||
# The use of your host as a mail relay by any host, including the local host
|
||||
@@ -122,6 +124,8 @@
|
||||
# See the section of the manual entitled "Control of relaying" for more
|
||||
# information.
|
||||
|
||||
+host_accept_relay = 127.0.0.1
|
||||
+
|
||||
|
||||
# The setting below causes Exim to do a reverse DNS lookup on all incoming
|
||||
# IP calls, in order to get the true host name. If you feel this is too
|
||||
@@ -230,8 +234,8 @@
|
||||
@@ -343,7 +345,8 @@
|
||||
allow_fail
|
||||
allow_defer
|
||||
data = ${lookup{$local_part}lsearch{/etc/aliases}}
|
||||
-# user = exim
|
||||
+ user = mailnull
|
||||
+ group = mail
|
||||
file_transport = address_file
|
||||
pipe_transport = address_pipe
|
||||
|
||||
@@ -377,6 +380,7 @@
|
||||
file_transport = address_file
|
||||
pipe_transport = address_pipe
|
||||
reply_transport = address_reply
|
||||
+ condition = !match{${rxquote:${home}}}{^/nonexistent}
|
||||
|
||||
|
||||
# This router matches local user mailboxes.
|
||||
@@ -420,8 +424,8 @@
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
@ -30,22 +39,4 @@
|
||||
+ mode = 0660
|
||||
|
||||
|
||||
# This transport is used for handling pipe deliveries generated by alias
|
||||
@@ -300,7 +304,8 @@
|
||||
driver = aliasfile
|
||||
file = /etc/aliases
|
||||
search_type = lsearch
|
||||
-# user = exim
|
||||
+ user = mailnull
|
||||
+ group = mail
|
||||
file_transport = address_file
|
||||
pipe_transport = address_pipe
|
||||
|
||||
@@ -334,6 +339,7 @@
|
||||
file_transport = address_file
|
||||
pipe_transport = address_pipe
|
||||
reply_transport = address_reply
|
||||
+ match_directory = !^/nonexistent
|
||||
|
||||
|
||||
# This director matches local user mailboxes.
|
||||
# This transport is used for handling pipe deliveries generated by alias or
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- src/exim.c.orig Wed Aug 15 13:09:09 2001
|
||||
+++ src/exim.c Fri Nov 2 12:22:38 2001
|
||||
@@ -2197,7 +2197,8 @@
|
||||
|
||||
if (!admin_user)
|
||||
{
|
||||
- if (deliver_give_up || daemon_listen || count_queue ||
|
||||
+ if (deliver_give_up || daemon_listen ||
|
||||
+ (count_queue && queue_list_requires_admin) ||
|
||||
(list_queue && queue_list_requires_admin) ||
|
||||
(queue_interval >= 0 && prod_requires_admin))
|
||||
{
|
||||
@@ -3462,6 +3463,7 @@
|
||||
}
|
||||
|
||||
/* The loop will repeat if more is TRUE. */
|
||||
+ while (waitpid(-1, NULL, WNOHANG) > 0);
|
||||
}
|
||||
|
||||
exim_exit(EXIT_SUCCESS); /* Never returns */
|
@ -1,31 +0,0 @@
|
||||
Fix the message_body_size filter variable bug reported by Phil Chambers
|
||||
to the exim-users mailing list on 2001-09-19 using the patch posted to
|
||||
the list by the author on 2001-09-24.
|
||||
|
||||
--- src/filter.c.orig Wed Aug 15 13:09:09 2001
|
||||
+++ src/filter.c Wed Sep 26 18:16:20 2001
|
||||
@@ -2566,7 +2566,7 @@
|
||||
BOOL
|
||||
filter_runtest(int fd, BOOL is_system, BOOL dot_ended)
|
||||
{
|
||||
-int rc, body_len, action;
|
||||
+int rc, body_len, action, header_size;
|
||||
register int ch;
|
||||
BOOL yield, delivered;
|
||||
struct stat statbuf;
|
||||
@@ -2658,6 +2658,7 @@
|
||||
s = message_body_end;
|
||||
body_len = 0;
|
||||
body_linecount = 0;
|
||||
+header_size = message_size;
|
||||
|
||||
if (!dot_ended && !feof(stdin))
|
||||
{
|
||||
@@ -2713,6 +2714,7 @@
|
||||
}
|
||||
|
||||
message_body[body_len] = 0;
|
||||
+message_body_size = message_size - header_size;
|
||||
|
||||
/* body_len stops at message_body_visible; it if got there, we may have
|
||||
wrapped round in message_body_end. */
|
@ -1,10 +0,0 @@
|
||||
--- src/smtp_in.c.orig Wed Aug 15 13:09:12 2001
|
||||
+++ src/smtp_in.c Wed Nov 14 13:24:12 2001
|
||||
@@ -2482,6 +2482,7 @@
|
||||
mail_from_size + 5000 : 0))
|
||||
{
|
||||
smtp_printf("452 space shortage, please try later\r\n");
|
||||
+ sender_address = NULL;
|
||||
break;
|
||||
}
|
||||
|
@ -1,103 +0,0 @@
|
||||
diff -udrN src.orig/accept.c src/accept.c
|
||||
--- src.orig/accept.c Thu Sep 6 15:25:28 2001
|
||||
+++ src/accept.c Thu Sep 6 15:28:03 2001
|
||||
@@ -2140,7 +2140,7 @@
|
||||
anything until the terminating dot line is sent. */
|
||||
|
||||
if (fflush(data_file) == EOF || ferror(data_file) ||
|
||||
- fsync(fileno(data_file)) < 0 || (accept_ferror)(fin))
|
||||
+ (perform_fsync && fsync(fileno(data_file))) < 0 || (accept_ferror)(fin))
|
||||
{
|
||||
char *msg_errno = strerror(errno);
|
||||
BOOL input_error = (accept_ferror)(fin) != 0;
|
||||
diff -udrN src.orig/deliver.c src/deliver.c
|
||||
--- src.orig/deliver.c Thu Sep 6 15:25:28 2001
|
||||
+++ src/deliver.c Thu Sep 6 15:29:22 2001
|
||||
@@ -578,7 +578,8 @@
|
||||
{
|
||||
BOOL return_output = FALSE;
|
||||
struct stat statbuf;
|
||||
- fsync(addr->return_file);
|
||||
+ if (perform_fsync)
|
||||
+ fsync(addr->return_file);
|
||||
|
||||
/* If there is no output, do nothing. */
|
||||
|
||||
@@ -1580,7 +1581,7 @@
|
||||
|
||||
/* Ensure the journal file is pushed out to disc. */
|
||||
|
||||
- if (fsync(journal_fd) < 0)
|
||||
+ if (perform_fsync && fsync(journal_fd) < 0)
|
||||
log_write(0, LOG_MAIN|LOG_PANIC, "failed to fsync journal: %s",
|
||||
strerror(errno));
|
||||
}
|
||||
diff -udrN src.orig/globals.c src/globals.c
|
||||
--- src.orig/globals.c Thu Sep 6 15:25:28 2001
|
||||
+++ src/globals.c Thu Sep 6 15:24:49 2001
|
||||
@@ -494,6 +494,7 @@
|
||||
BOOL parse_allow_group = FALSE;
|
||||
BOOL parse_found_group = FALSE;
|
||||
char *percent_hack_domains = NULL;
|
||||
+BOOL perform_fsync = TRUE;
|
||||
char *pid_file_path = PID_FILE_PATH
|
||||
"\0<--------------Space to patch pid_file_path->";
|
||||
BOOL preserve_message_logs = FALSE;
|
||||
diff -udrN src.orig/globals.h src/globals.h
|
||||
--- src.orig/globals.h Thu Sep 6 15:25:28 2001
|
||||
+++ src/globals.h Thu Sep 6 15:41:35 2001
|
||||
@@ -364,6 +364,7 @@
|
||||
extern BOOL parse_allow_group; /* Allow group syntax */
|
||||
extern BOOL parse_found_group; /* In the middle of a group */
|
||||
extern char *percent_hack_domains; /* Local domains for which '% operates */
|
||||
+extern BOOL perform_fsync; /* Use fsync() to flush to disk */
|
||||
extern char *pid_file_path; /* For writing daemon pids */
|
||||
extern BOOL preserve_message_logs; /* Save msglog files */
|
||||
extern char *primary_hostname; /* Primary name of this computer */
|
||||
diff -udrN src.orig/readconf.c src/readconf.c
|
||||
--- src.orig/readconf.c Thu Sep 6 15:25:28 2001
|
||||
+++ src/readconf.c Thu Sep 6 15:24:19 2001
|
||||
@@ -81,6 +81,7 @@
|
||||
{ "finduser_retries", opt_int, &finduser_retries },
|
||||
{ "forbid_domain_literals", opt_bool, &forbid_domain_literals },
|
||||
{ "freeze_tell_mailmaster", opt_bool, &freeze_tell_mailmaster },
|
||||
+ { "fsync", opt_bool, &perform_fsync },
|
||||
{ "gecos_name", opt_stringptr, &gecos_name },
|
||||
{ "gecos_pattern", opt_stringptr, &gecos_pattern },
|
||||
{ "headers_check_syntax", opt_bool, &headers_check_syntax },
|
||||
diff -udrN src.orig/spool_out.c src/spool_out.c
|
||||
--- src.orig/spool_out.c Thu Sep 6 15:25:28 2001
|
||||
+++ src/spool_out.c Thu Sep 6 15:29:51 2001
|
||||
@@ -277,7 +277,7 @@
|
||||
just pushes it out of C, and fclose() doesn't guarantee to do the write
|
||||
either. That's just the way Unix works... */
|
||||
|
||||
-if (fsync(fileno(f)) < 0)
|
||||
+if (perform_fsync && fsync(fileno(f)) < 0)
|
||||
return spool_write_error(where, errmsg, "sync", temp_name, f);
|
||||
|
||||
/* Get the size of the file, and close it. */
|
||||
diff -udrN src.orig/transports/appendfile.c src/transports/appendfile.c
|
||||
--- src.orig/transports/appendfile.c Thu Sep 6 15:25:28 2001
|
||||
+++ src/transports/appendfile.c Thu Sep 6 15:31:40 2001
|
||||
@@ -2556,7 +2556,7 @@
|
||||
/* Force out the remaining data to check for any errors; some OS don't allow
|
||||
fsync() to be called for a FIFO. */
|
||||
|
||||
-if (yield == OK && !isfifo && fsync(fd) < 0) yield = DEFER;
|
||||
+if (perform_fsync && yield == OK && !isfifo && fsync(fd) < 0) yield = DEFER;
|
||||
|
||||
/* Handle error while writing the file. Control should come here directly after
|
||||
the error, with the reason in errno. In the case of expansion failure in prefix
|
||||
diff -udrN src.orig/transports/smtp.c src/transports/smtp.c
|
||||
--- src.orig/transports/smtp.c Thu Sep 6 15:25:28 2001
|
||||
+++ src/transports/smtp.c Thu Sep 6 15:31:55 2001
|
||||
@@ -1462,7 +1462,7 @@
|
||||
|
||||
/* Ensure the journal file is pushed out to disc. */
|
||||
|
||||
- if (fsync(journal_fd) < 0)
|
||||
+ if (perform_fsync && fsync(journal_fd) < 0)
|
||||
log_write(0, LOG_MAIN|LOG_PANIC, "failed to fsync journal: %s",
|
||||
strerror(errno));
|
||||
}
|
@ -20,11 +20,11 @@ group=mail
|
||||
|
||||
if [ "$2" = "PRE-INSTALL" ]; then
|
||||
# uid=26(mailnull) gid=26(mailnull) groups=26(mailnull)
|
||||
if ! /usr/bin/id ${uid} | /usr/bin/grep "uid=${uid}(${user})"; then
|
||||
if ! /usr/bin/id ${uid} | /usr/bin/grep -q "uid=${uid}(${user})"; then
|
||||
echo "Exim requires user ${user} (UID ${uid}). Please update your system." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if ! /usr/bin/grep "^${group}:[^:]*:${gid}:" < /etc/group; then
|
||||
if ! /usr/bin/grep -q "^${group}:[^:]*:${gid}:" < /etc/group; then
|
||||
echo "Exim requires group ${group} (GID ${gid}). Please update your system." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
@ -1,8 +1,9 @@
|
||||
etc/exim/configure.default
|
||||
info/exim_overview.info
|
||||
info/exim.info
|
||||
info/exim_filter.info
|
||||
sbin/exim
|
||||
sbin/exim-3.951-1
|
||||
sbin/exim_checkaccess
|
||||
sbin/exim_dumpdb
|
||||
sbin/exim_fixdb
|
||||
sbin/exim_lock
|
||||
@ -15,8 +16,15 @@ sbin/exigrep
|
||||
sbin/eximstats
|
||||
sbin/exiqsumm
|
||||
%%PORTDOCS%%share/doc/exim/POST-INSTALL-NOTES
|
||||
%%PORTDOCS%%share/doc/exim/Exim3.upgrade
|
||||
%%PORTDOCS%%share/doc/exim/Exim4.upgrade
|
||||
%%PORTDOCS%%share/doc/exim/OptionLists.txt
|
||||
%%PORTDOCS%%share/doc/exim/README
|
||||
%%PORTDOCS%%share/doc/exim/dbm.discuss.txt
|
||||
%%PORTDOCS%%share/doc/exim/exim.8
|
||||
%%PORTDOCS%%share/doc/exim/filter.txt
|
||||
%%PORTDOCS%%share/doc/exim/oview.txt
|
||||
%%PORTDOCS%%share/doc/exim/pcre.txt
|
||||
%%PORTDOCS%%share/doc/exim/pcretest.txt
|
||||
%%PORTDOCS%%share/doc/exim/spec.txt
|
||||
@unexec install-info --delete %D/info/exim_overview.info %D/info/dir
|
||||
@unexec install-info --delete %D/info/exim.info %D/info/dir
|
||||
|
Loading…
Reference in New Issue
Block a user