diff options
author | grant <grant@pkgsrc.org> | 2003-12-04 04:24:48 +0000 |
---|---|---|
committer | grant <grant@pkgsrc.org> | 2003-12-04 04:24:48 +0000 |
commit | 993345569e559e5a7f16f0982edfebb9335aa965 (patch) | |
tree | 15ec193d85c2a119945e5a3bd088ed473a36da5c /mail/exim3 | |
parent | bb094f170c712b964ef6d8d9c329b35c73b5890b (diff) | |
download | pkgsrc-993345569e559e5a7f16f0982edfebb9335aa965.tar.gz |
import of exim3-3.36 from pkgsrc-wip.
originally this package was taken from the netbsd-1-5-PATCH003 tag,
and a number of updates have been made to it:
- updated to 3.36.
- added security patch from
http://www.exim.org/pipermail/exim-announce/2003q3/000094.html
- use a variety of new pkgsrc features for installing configuration files,
creating directories, rc scripts, etc.
- added mysql and postgresql support.
- other general nits/fixes.
exim3 is still widely used by a large number of sites, and this package
has been added again to support existing installations.
Diffstat (limited to 'mail/exim3')
-rw-r--r-- | mail/exim3/DESCR | 7 | ||||
-rw-r--r-- | mail/exim3/MESSAGE | 21 | ||||
-rw-r--r-- | mail/exim3/Makefile | 91 | ||||
-rw-r--r-- | mail/exim3/PLIST | 20 | ||||
-rw-r--r-- | mail/exim3/distinfo | 8 | ||||
-rw-r--r-- | mail/exim3/files/exim.8 | 909 | ||||
-rw-r--r-- | mail/exim3/files/exim.sh | 18 | ||||
-rw-r--r-- | mail/exim3/files/exim_newaliases | 13 | ||||
-rw-r--r-- | mail/exim3/files/mailer.conf.exim | 8 | ||||
-rw-r--r-- | mail/exim3/patches/patch-ab | 104 | ||||
-rw-r--r-- | mail/exim3/patches/patch-ac | 44 | ||||
-rw-r--r-- | mail/exim3/patches/patch-ae | 15 | ||||
-rw-r--r-- | mail/exim3/patches/patch-af | 26 |
13 files changed, 1284 insertions, 0 deletions
diff --git a/mail/exim3/DESCR b/mail/exim3/DESCR new file mode 100644 index 00000000000..ffdd088272f --- /dev/null +++ b/mail/exim3/DESCR @@ -0,0 +1,7 @@ +Exim is a mail transport agent (MTA) developed at the University of +Cambridge for use on Unix systems connected to the Internet. It is +freely available under the terms of the GNU General Public Licence. +In style it is similar to Smail 3, but its facilities are more +extensive, and in particular it has options for verifying incoming +sender and recipient addresses, for refusing mail from specified +hosts, networks, or senders, and for controlling mail relaying. diff --git a/mail/exim3/MESSAGE b/mail/exim3/MESSAGE new file mode 100644 index 00000000000..4b687ad6a1c --- /dev/null +++ b/mail/exim3/MESSAGE @@ -0,0 +1,21 @@ +=========================================================================== +$NetBSD: MESSAGE,v 1.1.1.1 2003/12/04 04:24:48 grant Exp $ + +To use exim, you will need to do the following: + +1. Read the documentation. Edit ${PKG_SYSCONFDIR}/configure to taste. + Note that depending on your operating system, the `aliases' file may + be in /etc/mail or /etc. + +2. If you use mailwrapper (eg. NetBSD), back-up /etc/mailer.conf to + /etc/mailer.conf.sendmail and copy + ${EGDIR}/mailer.conf to /etc/mailer.conf. + +3. If you use rc.conf, set 'exim=YES' and be sure to disable any other + MTAs. + +4. Configuring log rotation is dependant on personal taste and your + operating system. See exicyclog and eximstats. Additionally, on NetBSD, + see weekly.conf(5) and newsyslog(8). + +=========================================================================== diff --git a/mail/exim3/Makefile b/mail/exim3/Makefile new file mode 100644 index 00000000000..4d3e075730e --- /dev/null +++ b/mail/exim3/Makefile @@ -0,0 +1,91 @@ +# $NetBSD: Makefile,v 1.1.1.1 2003/12/04 04:24:49 grant Exp $ + +DISTNAME= exim-3.36 +CATEGORIES= mail net +MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim3/ \ + http://public.planetmirror.com.au/pub/exim/exim3/ +EXTRACT_SUFX= .tar.bz2 + +MAINTAINER= ad@NetBSD.org +HOMEPAGE= http://www.exim.org/ +COMMENT= The Exim mail transfer agent, a replacement for sendmail + +USE_BUILDLINK2= YES +USE_PERL5= YES +USE_PKGINSTALL= YES + +BUILD_DEFS+= EXIM_USER EXIM_GROUP +BUILD_DEFS+= EXIM_DB.mysql EXIM_DB.pgsql + +PKG_SYSCONFSUBDIR?= exim +EGDIR= ${PREFIX}/share/examples/exim +MAKE_ENV+= INST_CONFIGURE_FILE="${EGDIR}/configure" +CONF_FILES= ${EGDIR}/configure ${PKG_SYSCONFDIR}/configure +MESSAGE_SUBST+= EGDIR="${EGDIR}" + +RCD_SCRIPTS= exim + +OWN_DIRS_PERMS= /var/log/exim ${EXIM_USER} ${EXIM_GROUP} 0750 +OWN_DIRS_PERMS+= /var/spool/exim ${EXIM_USER} ${EXIM_GROUP} 0750 + +PKG_USERS= ${EXIM_USER}:${EXIM_GROUP}:8:Exim\\ mail\\ server\\ user:/var/mail:/sbin/nologin +PKG_GROUPS= ${EXIM_GROUP} + +.include "../../mk/bsd.prefs.mk" + +_GZIP_CMD!= ${ECHO} ${GZIP_CMD} | ${SED} -e 's/ .*//' +FILES_SUBST+= GZIP_CMD="${_GZIP_CMD}" +FILES_SUBST+= GZCAT="${GZCAT}" + +_LOOKUP_LIBS+= ${LDFLAGS} + +.if defined(EXIM_DB.mysql) && ${EXIM_DB.mysql} == "YES" +_EXIM_DB+= mysql +_LOOKUP_INCLUDE+= -I${BUILDLINK_PREFIX.mysql-client}/include/mysql +_LOOKUP_LIBS+= ${BUILDLINK_LDFLAGS.mysql-client} -lmysqlclient +. include "../../databases/mysql-client/buildlink2.mk" +.endif +.if defined(EXIM_DB.pgsql) && ${EXIM_DB.pgsql} == "YES" +_EXIM_DB+= pgsql +_LOOKUP_INCLUDE+= -I${BUILDLINK_PREFIX.postgresql-lib}/include/postgresql +_LOOKUP_LIBS+= -lpq +. include "../../databases/postgresql-lib/buildlink2.mk" +.endif + +pre-patch: + ${MKDIR} ${WRKSRC}/Local + ${CP} ${WRKSRC}/src/EDITME ${WRKSRC}/Local/Makefile.netbsd + +pre-configure: + @${SED} ${FILES_SUBST_SED} ${WRKSRC}/Local/Makefile.netbsd \ + > ${WRKSRC}/Local/Makefile + for f in ${WRKSRC}/OS/Makefile-*; do \ + ${SED} -e 's/^CFLAGS.*/& $$(CPPFLAGS)/' $$f > $$f.cppsubst; \ + ${MV} -f $$f.cppsubst $$f; \ + done +.if defined(_EXIM_DB) + @${ECHO} LOOKUP_INCLUDE=${_LOOKUP_INCLUDE} >> ${WRKSRC}/Local/Makefile + @${ECHO} LOOKUP_LIBS=${_LOOKUP_LIBS} >> ${WRKSRC}/Local/Makefile +. if !empty(_EXIM_DB:Mmysql) + @${ECHO} LOOKUP_MYSQL=yes >> ${WRKSRC}/Local/Makefile +. endif +. if !empty(_EXIM_DB:Mpgsql) + @${ECHO} LOOKUP_PGSQL=yes >> ${WRKSRC}/Local/Makefile +. endif +.endif + +pre-install: + ${INSTALL_DATA_DIR} ${EGDIR} + +post-build: + @${SED} ${FILES_SUBST_SED} ${FILESDIR}/mailer.conf.exim \ + > ${WRKDIR}/mailer.conf + +post-install: + @${SED} ${FILES_SUBST_SED} ${FILESDIR}/exim_newaliases \ + > ${PREFIX}/sbin/exim_newaliases + ${CHMOD} ugo+x ${PREFIX}/sbin/exim_newaliases + ${INSTALL_DATA} ${WRKDIR}/mailer.conf ${EGDIR} + ${CP} ${FILESDIR}/exim.8 ${PREFIX}/man/man8/exim.8 + +.include "../../mk/bsd.pkg.mk" diff --git a/mail/exim3/PLIST b/mail/exim3/PLIST new file mode 100644 index 00000000000..16fed320869 --- /dev/null +++ b/mail/exim3/PLIST @@ -0,0 +1,20 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2003/12/04 04:24:49 grant Exp $ +etc/rc.d/exim +man/man8/exim.8 +sbin/exicyclog +sbin/exigrep +sbin/exim +sbin/exim_dbmbuild +sbin/exim_dumpdb +sbin/exim_fixdb +sbin/exim_lock +sbin/exim_newaliases +sbin/exim_tidydb +sbin/eximstats +sbin/exinext +sbin/exiqsumm +sbin/exiwhat +share/examples/exim/configure +share/examples/exim/mailer.conf +@unexec ${RMDIR} /var/log/exim 2>/dev/null || true +@dirrm share/examples/exim diff --git a/mail/exim3/distinfo b/mail/exim3/distinfo new file mode 100644 index 00000000000..823b3eff1a3 --- /dev/null +++ b/mail/exim3/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1.1.1 2003/12/04 04:24:49 grant Exp $ + +SHA1 (exim-3.36.tar.bz2) = 2a06a2858ebf8cdedf2e41fa3f258b5e468e270d +Size (exim-3.36.tar.bz2) = 982104 bytes +SHA1 (patch-ab) = 3650487acdc2b0e67ab0dee08a6715e90b2a4205 +SHA1 (patch-ac) = 39122ca045ca7bb61500acae2abf5683c8ec4530 +SHA1 (patch-ae) = 24009dd4807f0215e79cc0a86582297bf310c913 +SHA1 (patch-af) = ac3bea9fe84bc760fec21858bc818c1b01dd34a4 diff --git a/mail/exim3/files/exim.8 b/mail/exim3/files/exim.8 new file mode 100644 index 00000000000..a115cd7f754 --- /dev/null +++ b/mail/exim3/files/exim.8 @@ -0,0 +1,909 @@ +.TH EXIM 8 +.SH exim +exim \- Mail Transfer Agent +.SH SYNOPSIS +.B exim +.I "[options] arguments ..." +.br +.B mailq +.I "[options] arguments ..." +.br +.B rmail +.I "[options] arguments ..." +.br +.B rsmtp +.I "[options] arguments ..." +.br +.B runq +.I "[options] arguments ..." +.br +.B sendmail +.I "[options] arguments ..." +.SH "DESCRIPTION" +.B Exim +is a mail transport agent (MTA) developed at the University of +Cambridge for use on Unix systems connected to the Internet. It is +freely available under the terms of the GNU General Public Licence. In +style it is similar to Smail 3, but its facilities are more extensive, +and in particular it has some defences against mail bombs and +unsolicited junk mail, in the form of options for refusing messages +from particular hosts, networks, or senders. +.PP +Exim's command line takes the standard Unix form of a sequence of +options, each starting with a hyphen character, followed by a number +of arguments. The options are compatible with the main options of +Sendmail, and there are also some additional options, some of which +are compatible with Smail 3. Certain combinations of options do not +make sense, and provoke an error if used. The form of the arguments +depends on which options are set. +.PP +If Exim is called under the name mailq, it behaves as if the option +-bp were present before any other options. This is for compatibility +with some systems that contain a command of that name in one of the +standard libraries, symbolically linked to /usr/lib/sendmail. +.PP +If Exim is called under the name rsmtp it behaves as if the option -bS +were present before any other options, for compatibility with +smail. The -bS option is used for reading in a number of messages in +batched SMTP format. +.PP +If Exim is called under the name rmail it behaves as if the option -i +were present before any other options, for compatibility with +smail. The -i option is used for reading a message that should not be +terminated by a dot on a line by itself. The name rmail is used as an +interface by some UUCP systems. +.PP +If Exim is called under the name runq it behaves as if the option -q +were present before any other options, for compatibility with +smail. The -q option causes a single queue-runner process to be +started. +.SH LIMITATIONS +For the benefit of those reading this overview to see whether Exim is +of interest to them, its limitations are listed first. +.TP +.B ANSI-C +Exim is written in ANSI C. This should not be much of a limitation +these days. However, to help with systems that lack a true ANSI C +library, Exim avoids making any use of the value returned by the +sprintf() function, which is one of the main incompatibilities. It has +its own version of strerror() for use with SunOS4 and any other system +that lacks this function, and a macro can be defined to turn memmove() +into bcopy() if necessary. +.TP +.B Filenames +Exim uses file names that are longer than 14 characters. +.TP +.B Bangpaths +Exim is intended for use as an Internet mailer, and therefore handles +addresses in RFC 822 domain format only. It cannot handle 'bang +paths', though simple two-component bang paths can be converted by a +straightforward rewriting configuration. +.TP +.B Domains required +Exim insists that every address it handles has a domain attached. For +incoming local messages, domainless addresses are automatically +qualified with a configured domain value. Configuration options +specify from which remote systems unqualified addresses are +acceptable. +.TP +.B Transports +The only external transport currently implemented is an SMTP transport +over a TCP/IP network (using sockets), suitable for machines on the +Internet. However, a pipe transport is available, and there are +facilities for writing messages to files in 'batched SMTP' format; +this can be used to send messages to some other transport +mechanism. Batched SMTP input is also catered for. +.SH FEATURES +Exim follows the same general approach of decentralized control that +Smail 3 does. There is no central process doing overall management of +mail delivery. However, unlike Smail, the independent delivery +processes share data in the form of 'hints', which makes delivery more +efficient in some cases. The hints are kept in a number of DBM +files. If any of these files are lost, the only effect is to change +the pattern of delivery attempts and retries. +.PP +Many configuration options can be given as expansion strings, and as +these can include file lookups, much of Exim's operation can be made +table-driven if desired. For example, it is possible to do local +delivery on a machine on which the users do not have accounts. +.PP +Regular expressions are available in a number of configuration +parameters. +.PP +Domain lists can include file lookups, making it possible to support a +large number of local domains. +.PP +Exim has flexible retry algorithms, applicable to mail routing as well as +to delivery. +.PP +Exim contains header and envelope rewriting facilities. +.PP +Unqualified addresses are accepted only from specified hosts or networks. +.PP +Exim can perform multiple deliveries down the same SMTP channel after +deliveries to a host have been delayed. +.PP +Exim can be configured to do local deliveries immediately but to leave +remote deliveries until the message is picked up by a queue-runner +process. This increases the likelihood of multiple messages being sent +down a single SMTP connection. +.PP +When copies of a message have to be delivered to more than one remote +host, up to a configured maximum number of remote deliveries can be +done in parallel. +.PP +Exim supports optional checking of incoming return path (sender) and +receiver addresses as they are received by SMTP. +.PP +SMTP calls from specific machines, optionally from specific idents, +can be locked out, and incoming SMTP messages from specific senders +can also be locked out. +.PP +It is possible to control which hosts may use the Exim host as a relay +for onward transmission of mail; the control can be made to depend on +the address domain. +.PP +Messages on the queue can be 'frozen' and 'thawed' by the +administrator. +.PP +The maximum size of message can be specified. Exim can handle a +number of independent local domains on the same machine; each domain +can have its own alias files, etc. These are commonly called "virtual +domains". +.PP +Exim stats a user's home directory before looking for a .forward file, +in order to detect the case of a missing NFS mount. +.PP +Exim contains an optional built-in mail filtering facility. This +enables users to set up their own mail filtering in a straightfoward +manner without the need to run an external program. There can also be +a system filter file that applies to all messages. +.PP +There is support for multiple user mailboxes controlled by prefixes or +suffixes on the user name, either via the filter mechanism or through +multiple .forward files. +.PP +Periodic warnings are automatically sent to messages' senders when +delivery is delayed - the time between warnings is configurable. +.PP +A queue run can be manually started to deliver just a particular +portion of the queue, or those messages with a recipient whose address +contains a given string. +.PP +Exim can be configured to run as root all the time, except when +performing local deliveries, which it always does in a separate +process under an appropriate uid and gid. Alternatively, it can be +configured to run as root only when needed; in particular, it need not +run as root when receiving incoming messages or when sending out +messages over SMTP. +.PP +I have tried to make the wording of delivery failure messages clearer +and simpler, for the benefit of those less-experienced people who are +now using email. +.PP +The Exim Monitor is an optional extra; it displays information about +Exim's processing in an X window, and an administrator can perform a +number of control actions from the window interface. +.SH METHOD OF OPERATION +When Exim receives a message, it writes two files in its spool +directory. The first contains the envelope information, the current +status of the message, and the headers, while the second contains the +body of the message. The status of the message includes a complete +list of recipients and a list of those that have already received the +message. The header file gets updated during the course of delivery if +necessary. +.PP +A message remains in the spool directory until it is completely +delivered to its recipients or to an error address, or until it is +deleted by an administrator or by the user who originally created +it. In cases when delivery cannot proceed - for example, when a +message can neither be delivered to its recipients nor returned to its +sender, the message is marked 'frozen' on the spool, and no more +deliveries are attempted. The administrator can thaw such messages +when the problem has been corrected, and can also freeze individual +messages by hand if necessary. +.PP +As delivery proceeds, Exim writes timestamped information about each +address to a per-message log file; this includes any delivery error +messages. This log is solely for the benefit of the administrator. All +the information Exim itself needs for delivery is kept in the header +spool file. The message log file is deleted with the spool files. If a +message is delayed for more than a configured time, a warning message +is sent to the sender. This is repeated whenever the same time elapses +again without delivery being complete. +.PP +The main delivery processing elements of Exim are called directors, +routers, and transports. Code for a number of these is provided, and +compile-time options specify which ones are actually included in the +binary. Directors handle addresses that include one of the local +domains, routers handle remote addresses, and transports do actual +deliveries. +.SH TRUSTED AND ADMIN USERS +Some Exim options are available only to "trusted users" and others are +available only to "admin users". +.PP +A trusted user is root or the Exim user (if defined) or any user +listed in the trusted_users configuration option, or any user, if the +currently set group is one of those listed in the trusted_groups +configuration option. Trusted users are permitted to use the -f option +to specify the senders of messages that are passed to Exim through the +local interface, and also to specify host names, host addresses, +protocol names, and ident values. Thus they are able to insert +messages into Exim's queue locally that have the characteristics of +messages received from a remote host. +.PP +An admin user is root or the Exim user (if defined) or any user that +is a member of the Exim group (if defined). The current group does not +have to be the Exim group. Admin users are permitted to operate on +messages in the queue, for example, to force delivery failures. It is +also necessary to be an admin user in order to see the full +information provided by the Exim monitor. +.SH OPTIONS +Exim's command options are as follows: +.TP +.B -bd +Run Exim as a daemon, awaiting incoming SMTP connections. This option +can be used only by an admin user. If either of the -d or -dm options +are set, the daemon does not disconnect from the controlling +terminal. By default, Exim listens for incoming connections on all the +host's interfaces, but it can be restricted to specific interfaces by +setting the local_interfaces option in the configuration file. The +standard SMTP port is used, but this can be varied by means of the -oX +option. Most commonly, the -bd option is combined with the -q<time> +option, to cause periodic queue runs to happen as well. + +The process id of a daemon that is both listening and starting queue +runners is written to a file called exim-daemon.pid in Exim's spool +directory, unless the -oX option is used, in which case the file +name is exim-daemon.<port-number>.pid. If a daemon is run with only +one of -bd and -q<time>, then that option is added on to the end of +the file name, allowing sites that run two separate daemons to +distinguish them. + +It is possible to change the directory in which these pid files are +written by changing the setting of PID_FILE_PATH in Local/Makefile. +Further details are given in the comments in src/EDITME. + +The SIGHUP signal can be used to cause the daemon to re-exec itself. +This should be done whenever Exim's configuration file is changed, +or a new version of Exim is installed. It is not necessary to do +this when other files (e.g. alias files) are changed. +.TP +.B -bf <filename> +Run Exim in filter testing mode; the file is the filter file to be +tested, and a test message must be supplied on the standard input. +If there are no message-dependent tests in the filter, an empty file +can be supplied. If the test file does not begin with the special +line + + # Exim filter + +then it is taken to be a normal .forward file, and is tested for +validity under that interpretation. The result of this command, +provided no errors are detected, is a list of the actions that Exim +would try to take if presented with the message for real. More +details of filter testing are given in the separate document +entitled "Exim's User interface to mail filtering". + +When testing a filter file, various parameters that would normally +be taken from the envelope recipient address of a message can be set +by means of additional command line options. These are: + + -bfd <domain> default is the qualify domain + -bfl <local_part>default is the logged in user + -bfp <local_part_prefix> default is null + -bfs <local_part_suffix> default is null + +The local part should always be set to the incoming address with any +prefix or suffix stripped, because that is how it appears when a +message is actually being delivered. +.TP +.B -bi +Sendmail interprets the -bi option as a request to rebuild its alias +file. Exim does not have the concept of a single alias file, and so +it cannot mimic this behaviour. However, calls to /usr/lib/sendmail +-bi tend to appear in various scripts such as NIS make files, so the +option must be recognized. + +If -bi is encountered, the command specified by the bi_command +configuration option is run, under the uid and gid of the caller of +Exim. If the -oA option is used, its value is passed to the command +as an argument. The command set by bi_command may not contain +arguments. The command can use the exim_dbmbuild utility, or some +other means, to rebuild alias files if this is required. If the +bi_command option is not set, then calling Exim with -bi is a no-op. +.TP +.B -bm +Accept an incoming, locally-generated message on the current input, +and deliver it to the addresses given as the command arguments +(except when -t is also given - see below). Each argument can be a +comma-separated list of RFC 822 addresses. This is the default +option, and is assumed if no other conflicting option is present. +The message may or may not be delivered immediately, depending on +the setting of the -od option and the queue_only and queue_smtp +configuration options. + +The format of the message must be as defined in RFC 822, except +that, for compatibility with sendmail and smail, a line of the form + + From sender Fri Jan 5 12:55 GMT 1996 + +is permitted to appear at the start of the message. The Solaris 2 +version of the "mail" command inserts such a line, though there is +no mention of it in the sendmail man page. The sender specified in +this line is treated as if it were given as the argument to the -f +option. +.TP +.B -bp +List the contents of the mail queue on the current output. Each +message on the queue is displayed as in the following example: + + 25m 2.9K 0t5C6f-0000c8-00 <alice@wonderland.fict.book> + red.king@looking-glass.fict.book + <other addresses> + +The first line contains the amount of time the message has been on +the queue (in this case 25 minutes), the size of the message (2.9K), +the unique identifier for the message, and the message sender, as +contained in the envelope. If the message is a delivery error +message, the sender address is empty, and appears as <>. If the +message is frozen (attempts to deliver it are suspended) then the +text '*** frozen ***' is displayed at the end of this line. + +The recipients of the message (taken from the envelope, not the +headers) are displayed on subsequent lines. Those addresses to which +the message has already been delivered are marked with the letter D. +If an original address gets expanded into several addresses via an +alias or forward file, the original is displayed with a 'D' when +deliveries for all of its child addresses are completed. +.TP +.B -bP +If this option is given with no arguments, it causes the values of +all Exim's main configuration options to be written to the standard +output. The values of one or more specific options can be requested +by giving their names as arguments, for example: + + exim -bP qualify_domain local_domains + +If configure_file is given, the name of the runtime configuration +file is output. If log_file_path or pid_file_path are given, the +names of the directories where log files and daemon pid files are +written are output, respectively. If these values are unset, log +files are written in a subdirectory of the spool directory called +log, and pid files are written directly into the spool directory. + +If one of the words director, router, or transport is given, +followed by the name of an appropriate driver instance, the option +settings for that driver are output. For example: + + exim -bP transport local_delivery + +The generic driver options are output first, followed by the +driver's private options. A list of the names of drivers of a +particular type can be obtained by using one of the words +director_list, router_list, or transport_list, and a complete list +of all drivers with their option settings can be obtained by using +directors, routers, or drivers. +.TP +.B -brt +This option is for testing retry rules, and it must be followed by +up to three arguments. It causes Exim to look for a retry rule that +matches the values and to output it on the standard output. For +example: + + exim -brt bach.comp.mus + Retry rule: *.comp.mus F,2h,15m; FG,4d,30m; + +See chapter 30 for a description of Exim's retry rules. The first +argument, which is required, can be a complete address in the form +local_part@domain, or it can be just a domain name. The second +argument is an optional second domain name; if no retry rule is +found for the first argument, the second is tried. This ties in with +Exim's behaviour when looking for retry rules for remote hosts - if +no rule is found that matches the host, one that matches the mail +domain is sought. The final argument is the name of a specific +delivery error, as used in setting up retry rules, for example +'quota_3d'. +.TP +.B -brw +This option is for testing address rewriting rules, and it must be +followed by a single argument, consisting of either a local part +without a domain, or a complete address with a fully-qualified +domain. Exim outputs how this address would be rewritten for each +possible place it might appear. +.TP +.B -bS +This option is used for batched SMTP input, where messages have been +received from some external source by an alternative transport +mechanism. It causes Exim to accept one or more messages by reading +SMTP on the standard input, but to generate no responses. All errors +are reported by sending mail. If the caller is trusted, then the +senders in the MAIL FROM commands are believed; otherwise the sender +is always the caller of Exim. Unqualified senders and receivers are +not rejected (there seems little point) but instead just get +qualified. Receiver verification and administrative rejection is not +done, even if configured. HELO and EHLO act as RSET; VRFY, EXPN, ETRN, +HELP, and DEBUG act as NOOP; QUIT quits. +.TP +.B -bs +This option causes Exim to accept one or more messages by reading SMTP +commands on the standard input, and producing SMTP replies on the +standard output. Some user agents use this interface as a way of +passing locally-generated messages to the MTA. The option can also be +used to run Exim from inetd, as an alternative to using a listening +daemon, in which case the standard input is the connected socket. Exim +distinguishes between the two cases by attempting to read the IP +address of the peer connected to the standard input. If it is not a +socket, the call to getpeername() fails, and Exim assumes it is +dealing with a local message. + +If the caller of Exim is trusted, then the senders of messages are +taken from the SMTP MAIL FROM commands. Otherwise the content of these +commands is ignored and the sender is set up as the calling user. +.TP +.B -bt +Run in address testing mode, in which each argument is taken as an +address to be tested. The results are written to the standard +output. If no arguments are given, Exim runs in an interactive manner, +prompting with > for addresses to be tested. Each address is handled +as if it were the recipient address on a message and passed to the +appropriate directors or routers. +.TP +.B -bV +Write the current version number, compilation number, and compi- +lation date of the exim binary to the standard output. +.TP +.B -bv +Verify the addresses that are given as the arguments to the command, +and write the results to the standard output. Verification differs +from address testing (the -bt option) in that directors and routers +that have no_verify set are skipped, and if the address is accepted by +a director or router that has fail_verify set, verification +fails. This is the same logic that is used when verifying addresses on +incoming messages (see the sender_verify and receiver_verify options). + +If the -v (or -d) option is not set, the output consists of a single +line for each address, stating whether it was verified or not, and +giving a reason in the latter case. Otherwise, more details are given +of how the address has been handled, and in the case of aliases or +forwarding, the generated addresses are also considered. +.TP +.B -C <filename> +Read the runtime configuration from the given file instead of from +the default file specified by the CONFIGURE_FILE compile-time set- +ting. When this option is used by an unprivileged caller, Exim gives +up its root privilege immediately, and runs with the real and +effective uid and gid set to those of the caller, to avoid any +security exposure. It does not do this if the caller is root or the +exim user. The facility is useful for ensuring that configuration +files are syntactically correct, but cannot be used for test +deliveries, unless the caller is privileged, or unless it's an +exotic configuration that does not require privilege. No check is +made on the owner or group of the file specified by this option. +.TP +.B -d<number> +Sets a debug level, causing debugging information to be written to the +standard error file. Whitespace between -d and the number is +optional. If no number is given, 1 is assumed, and the higher the +number, the more output is produced. A value of zero turns debugging +output off. A value of 9 gives the maximum amount of general +information, 10 gives in addition details of the interpretation of +filter files, and 11 or higher also turns on the debugging option for +DNS lookups. +.TP +.B -df +If this option is set and STDERR_FILE was defined when Exim was built, +debugging information is written to the file defined by that variable +instead of to the standard error file. This option provides a way of +obtaining debugging information when Exim is run from inetd. +.TP +.B -dm +This option causes information about memory allocation and freeing +operations to be written to the standard error file. +.TP +.B -E +This option specifies that an incoming message is a locally-generated +delivery failure message. It is used internally by Exim when handling +delivery failures and is not intended for external use. Its only +effect is to stop Exim generating certain messages to the mailmaster, +as otherwise message cascades could occur in some situations. As part +of the same option, a message id may follow the characters -E. If it +does, the log entry for the receipt of the new message contains the +id, following 'R=', as a cross reference. +.TP +.B -ex +There are a number of sendmail options starting with -oe which seem to +be called by various programs without the leading o in the option. For +example, the vacation program uses -eq. Exim treats all options of the +form -ex as synonymous with the corresponding -oex options. +.TP +.B -F <string> +Set the sender's full name for use when a locally-generated message +is being accepted. In the absence of this option, the user's "gecos" +entry from the password file is used. As users are generally +permitted to alter their "gecos" entries, no security considerations +are involved. White space between -F and the <string> is optional. +.TP +.B -f <address> +Set the address of the sender of a locally-generated message. This +option can normally be used only by root or the Exim user or by one +of the configured trusted users. In other cases, the sender of a +local message is always set up as the user who ran the exim command, +and -f is ignored, with one exception. If the special setting -f <> +is used by an untrusted user, it does not affect the sender for the +purposes of managing the Sender: and From: headers, but it does have +the effect of causing any SMTP transmissions to be sent out with + + MAIL FROM: <> + +and local deliveries to contain + + Return-path: <> + +when configured to contain Return-path: headers. The filtering code +treats such a message as an error message, and won't generate +messages as a result of reading it. + +White space between -f and the <string> is optional. The sender of a +locally-generated message can also be set by an initial 'From' line +in the message - see the description of -bm above. +.TP +.B -h <number> +This option is accepted for compatibility with sendmail, but at +present has no effect. (In sendmail it overrides the 'hop count' +obtained by counting Received headers.) +.TP +.B -i +This option, which has the same effect as -oi, specifies that a dot +on a line by itself should not terminate an incoming, non-SMTP +message. I can find no documentation for this option in Solaris 2.4 +sendmail, but the mailx command in Solaris 2.4 uses it. +.TP +.B -M +The arguments are interpreted as a list of message ids, and Exim runs +a delivery attempt on each message in turn. Retry hints for any of the +addresses are overridden - this option forces Exim to try to deliver +even if the normal retry time has not yet been reached. If any of the +messages is frozen, it is automatically thawed before the delivery +attempt, provided that the caller is an admin user. +.TP +.B -Mar <message-id> <address> <address> ... +The first argument must be a message id, and the remaining ones must +be email addresses. Exim adds the addresses to the list of recipi- +ents of the message. However, if the message is active (in the middle +of a delivery attempt), its status is not altered. This option can be +used only by an admin user. +.TP +.B -Meb <message-id> +This runs, under /bin/sh, the command defined in the shell variable +VISUAL or, if that is not defined, EDITOR or, if that is not defined, +the command vi, on a copy of the spool file containing the body of +message (eb = Edit Body). If the editor exits normally, then the +result of editing replaces the spool file. The message is locked +during this process, so no delivery attempts can occur. Note that the +first line of the spool file is its own name; care should be taken not +to disturb this. The thinking behind providing this feature is that an +administrator who has had to mess around with the addresses to get a +message delivered might want to add some (grumbly) comment at the +start of the message text. This option can be used only by an admin +user. +.TP +.B -Mes <message-id> <address> +There must be exactly two arguments. The first argument must be a +message id, and the second one an email address. Exim changes the +sender address in the message to the given address, which must be a +fully qualified address, or '<>'. However, if the message is active +(in the middle of a delivery attempt), its status is not altered. +This option can be used only by an admin user. +.TP +.B -Mmad <message-id> +Exim marks the all recipient addresses in the message as already +delivered. However, if the message is active (in the middle of a +delivery attempt), its status is not altered. This option can be used +only by an admin user. +.TP +.B -Mmd <message-id> <address> <address> ... +The first argument must be a message id, and the remaining ones must +be email addresses. Exim marks the given addresses as already +delivered. However, if the message is active (in the middle of a +delivery attempt), its status is not altered. This option can be used +only by an admin user. +.TP +.B -MC <transport> <hostname> <sequence number> <message id> +This option is not intended for use by outside callers. It is used +internally by Exim to invoke another instance of itself to deliver a +waiting message using an existing SMTP channel, which is passed as the +standard input and output. Details are given in chapter 43. This must +be the final option, and the caller must be root or the Exim user in +order to use it. +.TP +.B -Mc +The arguments are interpreted as a list of message ids, and Exim runs +a delivery attempt on each message in turn, but unlike the -M option, +it does check for retry hints, and respects any that are found. This +option is not very useful to external callers (except for testing). It +is provided for internal use by Exim when it needs to re-invoke itself +in order to regain root privilege for a delivery (see chapter 44). +.TP +.B -Mf +The arguments are interpreted as a list of message ids, and each +message is marked 'frozen'. This prevents any delivery attempts taking +place until the message is 'thawed', either manually or as a result of +the auto_thaw configuration option. However, if any of the messages is +active (in the middle of a delivery attempt), its status is not +altered. This option can be used only by an admin user. +.TP +.B -Mg +The arguments are interpreted as a list of message ids, and Exim gives +up trying to deliver those messages. A delivery error message is sent, +containing the text 'cancelled by administrator'. However, if any of +the messages is active, its status is not altered. This option can be +used only by an admin user. +.TP +.B -Mt +The arguments are interpreted as a list of message ids, and each +message that was 'frozen' is now 'thawed', so that delivery attempts +can resume. However, if any of the messages is active, its status is +not altered. This option can be used only by an admin user. +.TP +.B -Mrm +The arguments are interpreted as a list of message ids, and each +message is completely removed from Exim's queue, and forgotten. +However, if any of the messages is active, its status is not +altered. This option can be used only by an admin user or by the user +who originally caused the message to be placed on the queue. +.TP +.B -m +This is apparently a synonym for -om that is accepted by sendmail, so +Exim treats it that way too. +.TP +.B -N +This is a debugging option that inhibits delivery of a message at the +transport level. It implies at least -d1. Exim goes through many of +the motions of delivery - it just doesn't actually transport the +message, but instead behaves as if it had successfully done so. The +log, for example, will contain entries as if the message had been +delivered. Only root or the exim user are allowed to use -N with -bd, +-q, or -M. In other words, an ordinary user can use it only when +supplying an incoming message. +.TP +.B -oA <file name> +This option is used by Sendmail in conjunction with -bi to specify an +alternative alias file name. Exim handles -bi differently; see the +description above. +.TP +.B -oB <n> +This is a debugging option which limits the maximum number of SMTP +deliveries down one channel to <n>, overriding the value set in the +smtp transport. If <n> is omitted, the limit is set to 1 (no +batching). +.TP +.B -odb +This option applies to all modes in which Exim accepts incoming +messages, including the listening daemon. It requests 'background' +delivery of such messages, which means that the accepting process +automatically starts another delivery process for each message +received. Exim does not wait for such processes to complete (it can +take some time to perform SMTP deliveries). This is the default action +if none of the -od options are present. +.TP +.B -odf +This option (compatible with smail) requests 'foreground' (syn- +chronous) delivery when Exim has accepted a locally-generated mess- +age. For the daemon it is exactly the same as -odb. For a single +message received on the standard input, if the protection regime +permits it (see chapter 44), Exim converts the reception process into +a delivery process. In other cases, it creates a new delivery process, +and then waits for it to complete before proceeding. +.TP +.B -odi +This option is synonymous with -odf. It is provided for compati- +bility with sendmail. +.TP +.B -odq +This option applies to all modes in which Exim accepts incoming +messages, including the listening daemon. It specifies that the +accepting process should not automatically start a delivery attempt +for each message received. Messages are placed on the queue, and +remain there until a subsequent queue-running process encounters +them. The queue_only configuration option has the same effect. +.TP +.B -odqr +This option applies to all modes in which Exim accepts incoming +messages, including the listening daemon. It causes Exim to process +local addresses when a message is received, but not even to try +routing remote addresses. Contrast with -odqs below, which does the +routing, but not the delivery. The remote addresses will be picked up +by the next queue runner. The queue_remote configuration option has +the same effect. +.TP +.B -odqs +This option is a hybrid between -odb and -odq. A delivery process is +started for each incoming message, the addresses are all processed, +and local deliveries are done in the normal way. However, if any SMTP +deliveries are required, they are not done at this time. Such messages +remain on the queue until a subsequent queue-running process +encounters them. Because routing was done, Exim knows which messages +are waiting for which hosts, and so a number of messages for the same +host will get sent in a single SMTP connection. The queue_smtp +configuration option has the same effect. +.TP +.B -oem +If an error is detected while a non-SMTP message is being received +(e.g. a malformed address), the error is reported to the sender in a +mail message. This is the default option. After a message has been +successfully received, any subsequent delivery errors are always +reported in this way. +.TP +.B -oep +If an error is detected while a non-SMTP message is being received, +the error is reported by writing a message to the standard error file +(stderr). +.TP +.B -oeq +This option is supported for compatibility with sendmail, but has the +same effect as -oep. +.TP +.B -oew +This option is supported for compatibility with sendmail, but has the +same effect as -oem. +.TP +.B -oi +This option, which has the same effect as -i, specifies that a dot on +a line by itself should not terminate an incoming, non-SMTP message. +.TP +.B -oMa <host address> +This option sets the sender host address value, and can be used only +by a trusted caller. The value is used in log entries and can appear +in Received headers. The option is intended for use when handing to +Exim messages received by other means. +.TP +.B -oMr <protocol name> +This option sets the received protocol value, and can be used only by +a trusted caller. The value is used in log entries and can appear in +Received headers. The option is intended for use when handing to Exim +messages received by other means. +.TP +.B -oMs <host name> +This option sets the sender host name value, and can be used only by a +trusted caller. The value is used in log entries and can appear in +Received headers. The option is intended for use when handing to Exim +messages received by other means. +.TP +.B -oMt <ident string> +This option sets the sender ident value, and can be used only by a +trusted caller. The value is used in log entries and can appear in +Received headers. The option is intended for use when handing to Exim +messages received by other means. +.TP +.B -om +In sendmail, this option means 'me too', indicating that the sender of +a message should receive a copy of the message if the sender appears +in an alias expansion. Exim always does this, so the option does +nothing. +.TP +.B -or <time> +This option sets a timeout value for incoming non-SMTP messages. If it +is not set, Exim will wait forever for the standard input. The value +can also be set using the accept_timeout configuration vari- able. The +format used for specifying times is described in section 7.6. +.TP -ov +This option has exactly the same effect as -v. +.TP +.B -oX <number> +This option is relevant only when the -bd option is also given. It +specifies an alternative TCP/IP port number for the listening daemon, +and is useful for testing. When used, the process number of the daemon +is written to a file whose name is exim- daemon.<number>.pid in Exim's +spool directory. +.TP +.B -q +If the -q option is not followed by a time value, it requests a single +queue run operation. This option can be used only by an admin +user. Exim starts up a delivery process for each (inactive) message on +the queue in turn, and waits for it to finish before starting the next +one. When all the queued messages have been considered, the original +process terminates. In other words, a single pass is made over the +waiting mail. Use -q with a time (see below) if you want this to be +repeated periodically. + +Exim processes the waiting messages in an unpredictable order. It +isn't very random, but it is likely to be different each time, which +is all that matters. If one particular message screws up a remote MTA, +other messages to the same MTA have a chance of getting through if +they get tried first. + +However, it is possible to cause the messages to be processed in +lexical id order, which is essentially the order in which they +arrived, and to start this operation at a particular point by +following the -q option with a starting message id. For example: + + exim -q 0t5C6f-0000c8-00 + +This causes Exim to skip any messages whose ids are lexically less +than the given id. A second id can also be given to stop the queue run +before the end. See also the -R option. +.TP +.B -q <time> +This version of the -q option (which again can be run only by an admin +user) causes Exim to run as a daemon, starting a queue-running process +at intervals specified by the given time value (whose format is +described in section 7.6). This form of the -q option is commonly +combined with the -bd option, in which case a single daemon process +handles both functions. A common way of starting up a combined daemon +at system boot time is to use a command such as + + /opt/exim/bin/exim -bd -q30m + +Such a daemon listens for incoming SMTP calls, and also fires up a +queue-runner process every 30 minutes. The process id of such a daemon +is written to a file called exim-daemon.pid in Exim's spool directory, +unless the -oX option has been used, in which case the file is called +exim-daemon.<port-number>.pid. The location of the pid file can be +changed by defining PID_FILE_PATH in Local/Makefile. If a daemon is +started without -bd then the -q option used to start it is added to +the pid file name. +.TP +.B -qf +This option operates like -q, and may appear with or without a +following time. The difference is that a delivery attempt is forced +for each message, whereas with -q only those addresses that have +passed their retry times are tried. +.TP +.B -qfl +This option operates like -ql, and may appear with or without a +following time. The difference is that a delivery attempt is forced +for each message, whereas with -ql only those local addresses that +have passed their retry times are tried. +.TP +.B -ql +This option operates like -q, and may appear with or without a +following time. The difference is that only local addresses are +considered for delivery. Note that -ql cannot detect apparently remote +addresses that actually turn out to be local when their domains get +fully qualified. +.TP -R <string> +This option is similar to -q with no time value, except that, when +scanning the messages on the queue, Exim processes only those that +have at least one undelivered address containing the given string, +which is checked in a case-independent way. However, once a message is +selected, all its addresses are processed. For the first message +containing a matching address, Exim overrides any retry information +and forces a delivery attempt. This makes it straightforward to +initiate delivery for all messages to a given domain after a host has +been down for some time. When the SMTP command ETRN is permitted (see +the smtp_etrn options), its effect is to run Exim with the -R option. +.TP +.B -r +This is a documented (for sendmail) obsolete alternative name for -f. +.TP +.B -t +When Exim is receiving a locally-generated, non-SMTP message on the +current input, the -t option causes the recipients of the message to +be obtained from the To, Cc, and Bcc headers in the message instead of +from the command arguments. If there are any arguments, they specify +addresses to which the message is not to be delivered. That is, the +argument addresses are removed from the recipients list obtained from +the headers. If a Bcc header is present, it is removed from the +message unless there is no To or Cc header, in which case a Bcc header +with no data is created, in accordance with RFC 822. +.TP +.B -v +This option has exactly the same effect as -d1; it causes Exim to be +'verbose' and produce some output describing what it is doing on the +standard error file. In particular, if an SMTP connection is made, the +SMTP dialogue is shown. +.TP +.B -x +AIX uses -x for a private purpose ('mail from a local mail program has +National Language Support extended characters in the body of the mail +item'). It sets -x when calling the MTA from its mail command. Exim +ignores this option. +.SH "SEE ALSO" +sendmail(8), mailwrapper(8), mailer.conf(5). +.SH AUTHOR +This manual page was stitched together by Christoph Lameter, +<clameter@debian.org>, from the original documentation coming with the +sourcepackage for the Debian GNU/Linux system, and cleaned up a little +by Tim Cutts <tjrc1@scalopus.bio.cam.ac.uk>. Modifications for NetBSD +made by Andy Doran <ad@NetBSD.org>. diff --git a/mail/exim3/files/exim.sh b/mail/exim3/files/exim.sh new file mode 100644 index 00000000000..4bf6d191011 --- /dev/null +++ b/mail/exim3/files/exim.sh @@ -0,0 +1,18 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: exim.sh,v 1.1.1.1 2003/12/04 04:24:49 grant Exp $ +# +# PROVIDE: mail +# REQUIRE: LOGIN + +. /etc/rc.subr + +name="exim" +exim_flags=${exim_flags-"-bd -q30m"} +rcvar=$name +command="@PREFIX@/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="@PREFIX@/etc/exim/configure" + +load_rc_config $name +run_rc_command "$1" diff --git a/mail/exim3/files/exim_newaliases b/mail/exim3/files/exim_newaliases new file mode 100644 index 00000000000..ecbfeadda5e --- /dev/null +++ b/mail/exim3/files/exim_newaliases @@ -0,0 +1,13 @@ +#!/bin/sh +# +# $NetBSD: exim_newaliases,v 1.1.1.1 2003/12/04 04:24:51 grant Exp $ +# +if [ -f /etc/mail/aliases ]; then + ALIASDIR=/etc/mail +else + ALIASDIR=/etc +fi + +cd $ALIASDIR +echo -n "$ALIASDIR/aliases: " +@PREFIX@/sbin/exim_dbmbuild aliases aliases.db diff --git a/mail/exim3/files/mailer.conf.exim b/mail/exim3/files/mailer.conf.exim new file mode 100644 index 00000000000..41735421eed --- /dev/null +++ b/mail/exim3/files/mailer.conf.exim @@ -0,0 +1,8 @@ +# $NetBSD: mailer.conf.exim,v 1.1.1.1 2003/12/04 04:24:51 grant Exp $ +# +# Use "exim" as replacement for "sendmail". +# +sendmail @PREFIX@/sbin/exim +send-mail @PREFIX@/sbin/exim +mailq @PREFIX@/sbin/exim +newaliases @PREFIX@/sbin/exim_newaliases diff --git a/mail/exim3/patches/patch-ab b/mail/exim3/patches/patch-ab new file mode 100644 index 00000000000..ae991869cc9 --- /dev/null +++ b/mail/exim3/patches/patch-ab @@ -0,0 +1,104 @@ +$NetBSD: patch-ab,v 1.1.1.1 2003/12/04 04:24:51 grant Exp $ + +--- Local/Makefile.netbsd.orig 2003-11-30 16:06:49.000000000 +1100 ++++ Local/Makefile.netbsd +@@ -78,7 +78,7 @@ + # CHGRP_COMMAND=/usr/bin/chgrp + # MV_COMMAND=/bin/mv + # RM_COMMAND=/bin/rm +-# PERL_COMMAND=/usr/bin/perl ++PERL_COMMAND=@PREFIX@/bin/perl + + + # The following macro can be used to change the command for building a library +@@ -92,8 +92,8 @@ + # appropriate code is included in the binary. You then need to set up the + # runtime configuration to make use of the mechanism(s) selected. + +-# AUTH_CRAM_MD5=yes +-# AUTH_PLAINTEXT=yes ++AUTH_CRAM_MD5=yes ++AUTH_PLAINTEXT=yes + + + # The binary directory: This variable defines where the exim binary will be +@@ -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. + +-BIN_DIRECTORY=/usr/exim/bin ++BIN_DIRECTORY=@PREFIX@/sbin + + + # The default distribution of Exim contains only the plain text form of the +@@ -121,14 +121,14 @@ BIN_DIRECTORY=/usr/exim/bin + # 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=@GZIP_CMD@ + 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=@GZCAT@ + + + # The runtime configuration file: This variable defines where Exim's runtime +@@ -137,7 +137,7 @@ ZCAT_COMMAND=/opt/gnu/bin/zcat + # location of all other runtime files and directories can be changed in the + # runtime configuration file. + +-CONFIGURE_FILE=/usr/exim/configure ++CONFIGURE_FILE=@PKG_SYSCONFDIR@/configure + + + # In some installations there may be multiple machines sharing file systems, +@@ -243,7 +243,7 @@ EXICYCLOG_MAX=10 + # are defaulted in the OS/Makefile-Default file, and 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 @@ EXIM_MONITOR=eximon.bin + # "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 +@@ -411,7 +411,7 @@ LOOKUP_LSEARCH=yes + # 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 +460,7 @@ ROUTER_QUERYPROGRAM=yes + # 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 +@@ -567,7 +567,7 @@ TRANSPORT_SMTP=yes + # This one is special-purpose, and commonly not required, so do not include + # it by default. + +-# TRANSPORT_LMTP=yes ++TRANSPORT_LMTP=yes + + + # TCP wrappers: If you want to use tcpwrappers from within Exim, uncomment diff --git a/mail/exim3/patches/patch-ac b/mail/exim3/patches/patch-ac new file mode 100644 index 00000000000..5945e2524d0 --- /dev/null +++ b/mail/exim3/patches/patch-ac @@ -0,0 +1,44 @@ +$NetBSD: patch-ac,v 1.1.1.1 2003/12/04 04:24:51 grant Exp $ + +--- OS/Makefile-NetBSD.orig Sat Jul 14 19:09:00 2001 ++++ OS/Makefile-NetBSD Sat Jul 14 19:14:34 2001 +@@ -3,15 +3,31 @@ + + # Include Makfile.NetBSD-a.out + +-.if exists(OS/Makefile-NetBSD-a.out) +-.include "OS/Makefile-NetBSD-a.out" +-.elif exists(../OS/Makefile-NetBSD-a.out) +-.include "../OS/Makefile-NetBSD-a.out" +-.else +-.include "Makefile.NetBSD-a.out, submit a bug report." +-.endif ++# Exim: OS-specific make file for NetBSD (a.out binary format) ++ ++CHOWN_COMMAND=/usr/sbin/chown ++CFLAGS=-O ++ ++HAVE_SA_LEN=YES ++LIBS=-lcrypt ++ ++X11=/usr/X11R6 ++XINCLUDE=-I$(X11)/include ++XLFLAGS=-L$(X11)/lib ++X11_LD_LIB=$(X11)/lib ++ ++EXIWHAT_PS_ARG=-ax ++EXIWHAT_EGREP_ARG='/exim( |$$)' ++EXIWHAT_KILL_ARG=-USR1 ++ ++# NetBSD always ships with Berkeley DB ++ ++USE_DB=yes ++ ++# End ++ + + # NetBSD ELF linker needs a -R flag. +-XLFLAGS+=-Wl,-R$(X11)/lib/ ++#XLFLAGS+=-Wl,-R$(X11)/lib/ + + # End diff --git a/mail/exim3/patches/patch-ae b/mail/exim3/patches/patch-ae new file mode 100644 index 00000000000..fa7ce978c81 --- /dev/null +++ b/mail/exim3/patches/patch-ae @@ -0,0 +1,15 @@ +$NetBSD: patch-ae,v 1.1.1.1 2003/12/04 04:24:51 grant Exp $ + +--- src/configure.default.orig Fri Sep 17 21:19:39 1999 ++++ src/configure.default Fri Sep 17 21:19:55 1999 +@@ -252,8 +252,8 @@ + + system_aliases: + driver = aliasfile +- file = /etc/aliases +- search_type = lsearch ++ file = /etc/aliases.db ++ search_type = dbm + # user = exim + file_transport = address_file + pipe_transport = address_pipe diff --git a/mail/exim3/patches/patch-af b/mail/exim3/patches/patch-af new file mode 100644 index 00000000000..532ba92caf7 --- /dev/null +++ b/mail/exim3/patches/patch-af @@ -0,0 +1,26 @@ +$NetBSD: patch-af,v 1.1.1.1 2003/12/04 04:24:51 grant Exp $ + +This patch is from: + + http://www.exim.org/pipermail/exim-announce/2003q3/000094.html + +--- src/smtp_in.c.orig 2002-04-04 22:56:20.000000000 +1000 ++++ src/smtp_in.c +@@ -2021,13 +2021,12 @@ while (done <= 0) + + if (!check_helo(smtp_data)) + { +- char *s; +- smtp_printf("501 syntactically invalid %s argument(s)\r\n", hello); +- if (*smtp_data == 0) strcpy(smtp_data, "(no argument given)"); +- s = string_printing(smtp_data); ++ smtp_printf("501 Syntactically invalid %s argument(s)\r\n", hello); + log_write(0, LOG_MAIN|LOG_REJECT, "rejected %s from %s: syntactically " + "invalid argument(s): %s", hello, +- (sender_fullhost == NULL)? "local process" : sender_fullhost, s); ++ (sender_fullhost == NULL)? "local process" : sender_fullhost, ++ (*smtp_data == 0)? "(no argument given)" : ++ string_printing(smtp_data)); + break; + } + |