summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2004-05-30 02:35:58 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2004-05-30 02:35:58 +0000
commitc05c1f87561774307e84306fa46c860b4c0c46d0 (patch)
tree02b0e4c74fa3afb37763f6774b3d7ecf49f20420 /mail-mta/exim/files
parentMoving to mail-mta/exim (diff)
downloadgentoo-2-c05c1f87561774307e84306fa46c860b4c0c46d0.tar.gz
gentoo-2-c05c1f87561774307e84306fa46c860b4c0c46d0.tar.bz2
gentoo-2-c05c1f87561774307e84306fa46c860b4c0c46d0.zip
Moved from net-mail/exim to mail-mta/exim.
Diffstat (limited to 'mail-mta/exim/files')
-rw-r--r--mail-mta/exim/files/auth_conf.sub25
-rw-r--r--mail-mta/exim/files/configure419
-rw-r--r--mail-mta/exim/files/digest-exim-4.102
-rw-r--r--mail-mta/exim/files/digest-exim-4.122
-rw-r--r--mail-mta/exim/files/digest-exim-4.142
-rw-r--r--mail-mta/exim/files/digest-exim-4.203
-rw-r--r--mail-mta/exim/files/digest-exim-4.20-r13
-rw-r--r--mail-mta/exim/files/digest-exim-4.20-r21
-rw-r--r--mail-mta/exim/files/digest-exim-4.212
-rw-r--r--mail-mta/exim/files/digest-exim-4.222
-rw-r--r--mail-mta/exim/files/digest-exim-4.242
-rw-r--r--mail-mta/exim/files/digest-exim-4.24-r12
-rw-r--r--mail-mta/exim/files/digest-exim-4.24-r22
-rw-r--r--mail-mta/exim/files/digest-exim-4.24-r32
-rw-r--r--mail-mta/exim/files/digest-exim-4.302
-rw-r--r--mail-mta/exim/files/digest-exim-4.30-r11
-rw-r--r--mail-mta/exim/files/digest-exim-4.312
-rw-r--r--mail-mta/exim/files/digest-exim-4.322
-rw-r--r--mail-mta/exim/files/digest-exim-4.32-r12
-rw-r--r--mail-mta/exim/files/digest-exim-4.332
-rw-r--r--mail-mta/exim/files/digest-exim-4.33-r12
-rw-r--r--mail-mta/exim/files/digest-exim-4.342
-rw-r--r--mail-mta/exim/files/exim-4.10-gentoo.diff65
-rw-r--r--mail-mta/exim/files/exim-4.14-tail.patch11
-rw-r--r--mail-mta/exim/files/exim-4.20-maildir.patch14
-rw-r--r--mail-mta/exim/files/exim-4.30-conf.patch19
-rw-r--r--mail-mta/exim/files/exim-4.33-r1-header-syntax.patch37
-rw-r--r--mail-mta/exim/files/exim.confd2
-rw-r--r--mail-mta/exim/files/exim.rc621
-rw-r--r--mail-mta/exim/files/exiscan.conf555
-rw-r--r--mail-mta/exim/files/mailer.conf35
-rw-r--r--mail-mta/exim/files/pam.d-exim3
-rw-r--r--mail-mta/exim/files/system_filter.exim220
33 files changed, 1466 insertions, 0 deletions
diff --git a/mail-mta/exim/files/auth_conf.sub b/mail-mta/exim/files/auth_conf.sub
new file mode 100644
index 000000000000..fb744a5a67a1
--- /dev/null
+++ b/mail-mta/exim/files/auth_conf.sub
@@ -0,0 +1,25 @@
+######################################################################
+# AUTHENTICATION CONFIGURATION #
+######################################################################
+# If you're using PAM to authenticate, lifes real simple.
+# This plain directive works for nearly everything except windows MUA's the
+# login directive will allow you to authenticate your Outlook 2000 and
+# outlook express clients.
+
+
+
+plain:
+ driver = plaintext
+ public_name = PLAIN
+ server_condition = "${if pam{$2:$3}{1}{0}}"
+ server_set_id = $2
+
+login:
+ driver = plaintext
+ public_name = LOGIN
+ server_prompts = "Username:: : Password::"
+ server_condition = "${if pam{$1:$2}{1}{0}}"
+ server_set_id = $1
+
+# FIXME
+# Need to add authenticator for SPA!!
diff --git a/mail-mta/exim/files/configure b/mail-mta/exim/files/configure
new file mode 100644
index 000000000000..740da7fc501a
--- /dev/null
+++ b/mail-mta/exim/files/configure
@@ -0,0 +1,419 @@
+######################################################################
+# Runtime configuration file for Exim #
+######################################################################
+
+
+# This is a default configuration file which will operate correctly in
+# uncomplicated installations. Please see the manual for a complete list
+# of all the runtime configuration options that can be included in a
+# configuration file. There are many more than are mentioned here. The
+# manual is in the file doc/spec.txt in the Exim distribution as a plain
+# ASCII file. Other formats (PostScript, Texinfo, HTML, PDF) are available
+# from the Exim ftp sites. The manual is also online via the Exim web sites.
+
+
+# This file is divided into several parts, all but the last of which are
+# terminated by a line containing the word "end". The parts must appear
+# in the correct order, and all must be present (even if some of them are
+# in fact empty). Blank lines, and lines starting with # are ignored.
+
+
+############ IMPORTANT ########## IMPORTANT ########### IMPORTANT ############
+# #
+# Whenever you change Exim's configuration file, you *must* remember to HUP #
+# the Exim daemon, because it will not pick up the new configuration until #
+# until you do this. It is usually a good idea to test a new configuration #
+# for syntactic correctness (e.g. using "exim -C /config/file -bV") first. #
+# #
+############ IMPORTANT ########## IMPORTANT ########### IMPORTANT ############
+
+
+
+######################################################################
+# MAIN CONFIGURATION SETTINGS #
+######################################################################
+
+# Specify your host's canonical name here. This should normally be the fully
+# qualified "official" name of your host. If this option is not set, the
+# uname() function is called to obtain the name.
+
+# primary_hostname =
+
+
+# Specify the domain you want to be added to all unqualified addresses
+# here. An unqualified address is one that does not contain an "@" character
+# followed by a domain. For example, "caesar@rome.ex" is a fully qualified
+# address, but the string "caesar" (i.e. just a login name) is an unqualified
+# email address. Unqualified addresses are accepted only from local callers by
+# default. See the receiver_unqualified_{hosts,nets} options if you want
+# to permit unqualified addresses from remote sources. If this option is
+# not set, the primary_hostname value is used for qualification.
+
+# qualify_domain =
+
+
+# If you want unqualified recipient addresses to be qualified with a different
+# domain to unqualified sender addresses, specify the recipient domain here.
+# If this option is not set, the qualify_domain value is used.
+
+# qualify_recipient =
+
+
+# Specify your local domains as a colon-separated list here. If this option
+# is not set (i.e. not mentioned in the configuration file), the
+# qualify_recipient value is used as the only local domain. If you do not want
+# to do any local deliveries, uncomment the following line, but do not supply
+# any data for it. This sets local_domains to an empty string, which is not
+# the same as not mentioning it at all. An empty string specifies that there
+# are no local domains; not setting it at all causes the default value (the
+# setting of qualify_recipient) to be used.
+
+# local_domains =
+
+
+# If you want to accept mail addressed to your host's literal IP address, for
+# example, mail addressed to "user@[111.111.111.111]", then uncomment the
+# following line, or supply the literal domain(s) as part of "local_domains"
+# above. You also need to comment "forbid_domain_literals" below. This is not
+# recommended for today's Internet.
+
+# local_domains_include_host_literals
+
+
+# The following line prevents Exim from recognizing addresses of the form
+# "user@[111.111.111.111]" that is, with a "domain literal" (an IP address)
+# instead of a named domain. The RFCs still require this form, but it makes
+# little sense to permit mail to be sent to specific hosts by their IP address
+# in the modern Internet, and this ancient format has been used by those
+# seeking to abuse hosts by using them for unwanted relaying. If you really
+# do want to support domain literals, remove the following line, and see
+# also the "domain_literal" router below.
+
+forbid_domain_literals
+
+
+# No local deliveries will ever be run under the uids of these users (a colon-
+# separated list). An attempt to do so gets changed so that it runs under the
+# uid of "nobody" instead. This is a paranoic safety catch. Note the default
+# setting means you cannot deliver mail addressed to root as if it 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
+
+
+# The use of your host as a mail relay by any host, including the local host
+# calling its own SMTP port, is locked out by default. If you want to permit
+# relaying from the local host, you should set
+#
+# host_accept_relay = localhost
+#
+# If you want to permit relaying through your host from certain hosts or IP
+# networks, you need to set the option appropriately, for example
+#
+# host_accept_relay = my.friends.host : 192.168.0.0/16
+#
+# If you are an MX backup or gateway of some kind for some domains, you must
+# set relay_domains to match those domains. This will allow any host to
+# relay through your host to those domains.
+#
+# relay_domains =
+#
+# See the section of the manual entitled "Control of relaying" for more
+# information.
+
+
+# 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
+# expensive, you can specify the networks for which a lookup is done, or
+# remove the setting entirely.
+
+host_lookup = *
+
+
+# By default, Exim expects all envelope addresses to be fully qualified, that
+# is, they must contain both a local part and a domain. If you want to accept
+# unqualified addresses (just a local part) from certain hosts, you can specify
+# these hosts by setting one or both of
+#
+# receiver_unqualified_hosts =
+# sender_unqualified_hosts =
+#
+# to control sender and receiver addresses, respectively. When this is done,
+# unqualified addresses are qualified using the settings of qualify_domain
+# and/or qualify_recipient (see above).
+
+
+# By default, Exim does not make any checks, other than syntactic ones, on
+# incoming addresses during the SMTP dialogue. This reduces delays in SMTP
+# transactions, but it does mean that you might accept messages with unknown
+# recipients, and/or bad senders.
+
+# Uncomment this line if you want incoming recipient addresses to be verified
+# during the SMTP dialogue. Unknown recipients are then rejected at this stage,
+# and the generation of a failure message is the job of the sending host.
+
+# receiver_verify
+
+# Uncomment this line if you want incoming sender addresses (return-paths) to
+# be verified during the SMTP dialogue. Verification can normally only check
+# that the domain exists.
+
+# sender_verify
+
+
+# Exim contains support for the Realtime Blocking List (RBL) that is being
+# maintained as part of the DNS. See http://maps.vix.com/rbl/ for background.
+# Uncommenting the first line below will make Exim reject mail from any
+# host whose IP address is blacklisted in the RBL at maps.vix.com. Some
+# others have followed the RBL lead and have produced other lists: DUL is
+# a list of dial-up addresses, and ORBS is a list of open relay systems. The
+# second line below checks all three lists.
+
+# rbl_domains = rbl.maps.vix.com
+# rbl_domains = rbl.maps.vix.com:dul.maps.vix.com:relays.orbs.org
+
+
+# If you want Exim to support the "percent hack" for all your local domains,
+# uncomment the following line. This is the feature by which mail addressed
+# to x%y@z (where z is one of your local domains) is locally rerouted to
+# x@y and sent on. Otherwise x%y is treated as an ordinary local part.
+
+# percent_hack_domains = *
+
+
+# When Exim can neither deliver a message nor return it to sender, it "freezes"
+# the delivery error message (aka "bounce message"). There are also other
+# circumstances in which messages get frozen. They will stay on the queue for
+# ever unless one of the following options is set.
+
+# This option unfreezes unfreezes bounce messages after two days, tries
+# once more to deliver them, and ignores any delivery failures.
+
+ignore_errmsg_errors_after = 2d
+
+# This option cancels (removes) frozen messages that are older than a week.
+
+timeout_frozen_after = 7d
+
+end
+
+
+
+######################################################################
+# TRANSPORTS CONFIGURATION #
+######################################################################
+# ORDER DOES NOT MATTER #
+# Only one appropriate transport is called for each delivery. #
+######################################################################
+
+# A transport is used only when referenced from a director or a router that
+# successfully handles an address.
+
+
+# This transport is used for delivering messages over SMTP connections.
+
+remote_smtp:
+ driver = smtp
+
+
+# This transport is used for local delivery to user mailboxes in traditional
+# BSD mailbox format. By default it will be run under the uid and gid of the
+# local user, and requires the sticky bit to be set on the /var/mail directory.
+# Some systems use the alternative approach of running mail deliveries under a
+# particular group instead of using the sticky bit. The commented options below
+# show how this can be done.
+
+local_delivery:
+ driver = appendfile
+# file = /var/mail/$local_part
+ directory = $home/.maildir
+ maildir_format
+ delivery_date_add
+ envelope_to_add
+ return_path_add
+# group = mail
+# mode = 0660
+
+
+# This transport is used for handling pipe deliveries generated by alias
+# or .forward files. If the pipe generates any standard output, it is returned
+# to the sender of the message as a delivery error. Set return_fail_output
+# instead of return_output if you want this to happen only when the pipe fails
+# to complete normally. You can set different transports for aliases and
+# forwards if you want to - see the references to address_pipe in the directors
+# section below.
+
+address_pipe:
+ driver = pipe
+ return_output
+
+
+# This transport is used for handling deliveries directly to files that are
+# generated by aliasing or forwarding.
+
+address_file:
+ driver = appendfile
+ delivery_date_add
+ envelope_to_add
+ return_path_add
+
+
+# This transport is used for handling autoreplies generated by the filtering
+# option of the forwardfile director.
+
+address_reply:
+ driver = autoreply
+
+
+end
+
+
+
+######################################################################
+# DIRECTORS CONFIGURATION #
+# Specifies how local addresses are handled #
+######################################################################
+# ORDER DOES MATTER #
+# A local address is passed to each in turn until it is accepted. #
+######################################################################
+
+# Local addresses are those with a domain that matches some item in the
+# "local_domains" setting above, or those which are passed back from the
+# routers because of a "self=local" setting (not used in this configuration).
+
+
+# This director handles aliasing using a traditional /etc/aliases file.
+# If any of your aliases expand to pipes or files, you will need to set
+# up a user and a group for these deliveries to run under. You can do
+# this by uncommenting the "user" option below (changing the user name
+# as appropriate) and adding a "group" option if necessary. Alternatively, you
+# can specify "user" on the transports that are used. Note that those
+# listed below are the same as are used for .forward files; you might want
+# to set up different ones for pipe and file deliveries from aliases.
+
+system_aliases:
+ driver = aliasfile
+ file = /etc/mail/aliases
+ search_type = lsearch
+# user = exim
+ file_transport = address_file
+ pipe_transport = address_pipe
+
+
+# This director handles forwarding using traditional .forward files.
+# If you want it also to allow mail filtering when a forward file
+# starts with the string "# Exim filter", uncomment the "filter" option.
+
+# The no_verify setting means that this director will be skipped when
+# verifying addresses if sender_verify or receiver_verify is set (though
+# they are not set by default). Similarly, no_expn means that this director
+# will be skipped if smtp_expn_hosts is set to allow any hosts to use the
+# EXPN command.
+
+# The check_ancestor option means that if the forward file generates an
+# address that is an ancestor of the current one, the current one gets
+# passed on instead. This covers the case where A is aliased to B and B
+# has a .forward file pointing to A.
+
+# The three transports specified at the end are those that are used when
+# forwarding generates a direct delivery to a file, or to a pipe, or sets
+# up an auto-reply, respectively.
+
+userforward:
+ driver = forwardfile
+ file = .forward
+ no_verify
+ no_expn
+ check_ancestor
+# filter
+ file_transport = address_file
+ pipe_transport = address_pipe
+ reply_transport = address_reply
+
+
+# This director matches local user mailboxes.
+
+localuser:
+ driver = localuser
+ transport = local_delivery
+
+
+end
+
+
+
+######################################################################
+# ROUTERS CONFIGURATION #
+# Specifies how remote addresses are handled #
+######################################################################
+# ORDER DOES MATTER #
+# A remote address is passed to each in turn until it is accepted. #
+######################################################################
+
+# Remote addresses are those with a domain that does not match any item
+# in the "local_domains" setting above.
+
+
+# This router routes to remote hosts over SMTP using a DNS lookup with
+# default options.
+
+lookuphost:
+ driver = lookuphost
+ transport = remote_smtp
+
+
+# This router routes to remote hosts over SMTP by explicit IP address,
+# when an email address is given in "domain literal" form, for example,
+# <user@[192.168.35.64]>. The RFCs require this facility. However, it is
+# little-known these days, and has been exploited by evil people seeking
+# to abuse SMTP relays. Consequently it is commented out in the default
+# configuration. If you uncomment this router, you also need to comment out
+# "forbid_domain_literals" above, so that Exim can recognize the syntax of
+# domain literal addresses.
+
+# domain_literal:
+# driver = ipliteral
+# transport = remote_smtp
+
+
+end
+
+
+
+######################################################################
+# RETRY CONFIGURATION #
+######################################################################
+
+# This single retry rule applies to all domains and all errors. It specifies
+# retries every 15 minutes for 2 hours, then increasing retry intervals,
+# starting at 1 hour and increasing each time by a factor of 1.5, up to 16
+# hours, then retries every 8 hours until 4 days have passed since the first
+# failed delivery.
+
+# Domain Error Retries
+# ------ ----- -------
+
+* * F,2h,15m; G,16h,1h,1.5; F,4d,8h
+
+end
+
+
+
+######################################################################
+# REWRITE CONFIGURATION #
+######################################################################
+
+# There are no rewriting specifications in this default configuration file.
+
+end
+
+
+
+######################################################################
+# AUTHENTICATION CONFIGURATION #
+######################################################################
+
+# There are no authenticator specifications in this default configuration file.
+
+# End of Exim configuration file
diff --git a/mail-mta/exim/files/digest-exim-4.10 b/mail-mta/exim/files/digest-exim-4.10
new file mode 100644
index 000000000000..bde1295f7441
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.10
@@ -0,0 +1,2 @@
+MD5 3248805102546701a83ddceb032303af exim-4.10.tar.gz 1333428
+MD5 a11a02044421705b7b5fee6742eca5c2 exiscan-4.10-16.tar.gz 94556
diff --git a/mail-mta/exim/files/digest-exim-4.12 b/mail-mta/exim/files/digest-exim-4.12
new file mode 100644
index 000000000000..b684cd6591ae
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.12
@@ -0,0 +1,2 @@
+MD5 a69c8ebeec91559dea8fc4364ecb89a2 exim-4.12.tar.gz 1444383
+MD5 7ed67d3e10caf99174c693ff2016cf9c exiscan-4.12-21.tar.gz 100775
diff --git a/mail-mta/exim/files/digest-exim-4.14 b/mail-mta/exim/files/digest-exim-4.14
new file mode 100644
index 000000000000..bca81a3e6537
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.14
@@ -0,0 +1,2 @@
+MD5 bebd65023b117e2fa7dcea46f1129556 exim-4.14.tar.gz 1504354
+MD5 3bd9b18f55c079bcd9af2eb07fec469b exiscan-4.14-26.tar.gz 63656
diff --git a/mail-mta/exim/files/digest-exim-4.20 b/mail-mta/exim/files/digest-exim-4.20
new file mode 100644
index 000000000000..1bf1437b725c
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.20
@@ -0,0 +1,3 @@
+MD5 a1f06f1de1ab602a25d78ad2a20819f2 exim-4.20.tar.gz 1549612
+MD5 a18eb772895af7b190d17c5b151d4dd9 exiscan-4.20-26.tar.gz 63663
+MD5 5898fa2e00e85c771cffe741f3198c07 exiscan-acl-4.20-09.patch 263216
diff --git a/mail-mta/exim/files/digest-exim-4.20-r1 b/mail-mta/exim/files/digest-exim-4.20-r1
new file mode 100644
index 000000000000..1bf1437b725c
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.20-r1
@@ -0,0 +1,3 @@
+MD5 a1f06f1de1ab602a25d78ad2a20819f2 exim-4.20.tar.gz 1549612
+MD5 a18eb772895af7b190d17c5b151d4dd9 exiscan-4.20-26.tar.gz 63663
+MD5 5898fa2e00e85c771cffe741f3198c07 exiscan-acl-4.20-09.patch 263216
diff --git a/mail-mta/exim/files/digest-exim-4.20-r2 b/mail-mta/exim/files/digest-exim-4.20-r2
new file mode 100644
index 000000000000..368f6db1d642
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.20-r2
@@ -0,0 +1 @@
+MD5 a1f06f1de1ab602a25d78ad2a20819f2 exim-4.20.tar.gz 1549612
diff --git a/mail-mta/exim/files/digest-exim-4.21 b/mail-mta/exim/files/digest-exim-4.21
new file mode 100644
index 000000000000..58c8ead0f650
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.21
@@ -0,0 +1,2 @@
+MD5 eed92d34e02a5de1493d766fc92b0c94 exim-4.21.tar.gz 1625897
+MD5 c9571d38c50a41adad84bfb21669c2f9 exiscan-acl-4.21-10.patch 286429
diff --git a/mail-mta/exim/files/digest-exim-4.22 b/mail-mta/exim/files/digest-exim-4.22
new file mode 100644
index 000000000000..7e970affc9da
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.22
@@ -0,0 +1,2 @@
+MD5 20df3d13b1d3cd2cd95312f2293e0b40 exim-4.22.tar.gz 1607027
+MD5 68f1643ac7de3b4c818916e714de8159 exiscan-acl-4.22-10.patch 286429
diff --git a/mail-mta/exim/files/digest-exim-4.24 b/mail-mta/exim/files/digest-exim-4.24
new file mode 100644
index 000000000000..72ea7eafa2c7
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.24
@@ -0,0 +1,2 @@
+MD5 74f4116be9b71991b54b91abd7c99eec exim-4.24.tar.gz 1625449
+MD5 c8eb375adc7a7233d754eec20f07997f exiscan-acl-4.24-13.patch 290551
diff --git a/mail-mta/exim/files/digest-exim-4.24-r1 b/mail-mta/exim/files/digest-exim-4.24-r1
new file mode 100644
index 000000000000..72ea7eafa2c7
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.24-r1
@@ -0,0 +1,2 @@
+MD5 74f4116be9b71991b54b91abd7c99eec exim-4.24.tar.gz 1625449
+MD5 c8eb375adc7a7233d754eec20f07997f exiscan-acl-4.24-13.patch 290551
diff --git a/mail-mta/exim/files/digest-exim-4.24-r2 b/mail-mta/exim/files/digest-exim-4.24-r2
new file mode 100644
index 000000000000..72ea7eafa2c7
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.24-r2
@@ -0,0 +1,2 @@
+MD5 74f4116be9b71991b54b91abd7c99eec exim-4.24.tar.gz 1625449
+MD5 c8eb375adc7a7233d754eec20f07997f exiscan-acl-4.24-13.patch 290551
diff --git a/mail-mta/exim/files/digest-exim-4.24-r3 b/mail-mta/exim/files/digest-exim-4.24-r3
new file mode 100644
index 000000000000..72ea7eafa2c7
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.24-r3
@@ -0,0 +1,2 @@
+MD5 74f4116be9b71991b54b91abd7c99eec exim-4.24.tar.gz 1625449
+MD5 c8eb375adc7a7233d754eec20f07997f exiscan-acl-4.24-13.patch 290551
diff --git a/mail-mta/exim/files/digest-exim-4.30 b/mail-mta/exim/files/digest-exim-4.30
new file mode 100644
index 000000000000..2a8c077a8ce7
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.30
@@ -0,0 +1,2 @@
+MD5 ba8fe22a527172bc3cf6481ba26712cb exim-4.30.tar.gz 1670421
+MD5 9e20b18f2be3983d73777b4f85b5db15 exiscan-acl-4.30-16.patch 367351
diff --git a/mail-mta/exim/files/digest-exim-4.30-r1 b/mail-mta/exim/files/digest-exim-4.30-r1
new file mode 100644
index 000000000000..082fdb20e1d1
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.30-r1
@@ -0,0 +1 @@
+MD5 ba8fe22a527172bc3cf6481ba26712cb exim-4.30.tar.gz 1670421
diff --git a/mail-mta/exim/files/digest-exim-4.31 b/mail-mta/exim/files/digest-exim-4.31
new file mode 100644
index 000000000000..eaabfbaa925e
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.31
@@ -0,0 +1,2 @@
+MD5 1bbc5823cd32d5a00175f32de104503f exim-4.31.tar.gz 1700513
+MD5 69fe6fce9e0ca72aaf2319a87e672fbf exiscan-acl-4.31-16.patch 367277
diff --git a/mail-mta/exim/files/digest-exim-4.32 b/mail-mta/exim/files/digest-exim-4.32
new file mode 100644
index 000000000000..ff81698596a3
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.32
@@ -0,0 +1,2 @@
+MD5 27bbde30300200c2780cff7c7cbc6f8d exim-4.32.tar.gz 1706875
+MD5 8c49a4a25abe85ed69523a479567e24a exiscan-acl-4.32-18.patch 384568
diff --git a/mail-mta/exim/files/digest-exim-4.32-r1 b/mail-mta/exim/files/digest-exim-4.32-r1
new file mode 100644
index 000000000000..cf12c67744f8
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.32-r1
@@ -0,0 +1,2 @@
+MD5 27bbde30300200c2780cff7c7cbc6f8d exim-4.32.tar.gz 1706875
+MD5 c2f90a62f0535ccd3114f8d07a670af9 exiscan-acl-4.32-19.patch 391654
diff --git a/mail-mta/exim/files/digest-exim-4.33 b/mail-mta/exim/files/digest-exim-4.33
new file mode 100644
index 000000000000..9b87feb03933
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.33
@@ -0,0 +1,2 @@
+MD5 8514c800172e4ab4e9cb90553605e1f2 exim-4.33.tar.bz2 1327741
+MD5 5e9d3be31121ea5ece12d872a368717c exiscan-acl-4.33-20.patch 395525
diff --git a/mail-mta/exim/files/digest-exim-4.33-r1 b/mail-mta/exim/files/digest-exim-4.33-r1
new file mode 100644
index 000000000000..9b87feb03933
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.33-r1
@@ -0,0 +1,2 @@
+MD5 8514c800172e4ab4e9cb90553605e1f2 exim-4.33.tar.bz2 1327741
+MD5 5e9d3be31121ea5ece12d872a368717c exiscan-acl-4.33-20.patch 395525
diff --git a/mail-mta/exim/files/digest-exim-4.34 b/mail-mta/exim/files/digest-exim-4.34
new file mode 100644
index 000000000000..8f852ab954ed
--- /dev/null
+++ b/mail-mta/exim/files/digest-exim-4.34
@@ -0,0 +1,2 @@
+MD5 bab611edc153867334b1c7cffd8fe3c0 exim-4.34.tar.bz2 1328742
+MD5 6fa74ecf1c2a83dbce1e46f991fce27b exiscan-acl-4.34-21.patch 395967
diff --git a/mail-mta/exim/files/exim-4.10-gentoo.diff b/mail-mta/exim/files/exim-4.10-gentoo.diff
new file mode 100644
index 000000000000..6be612358fa0
--- /dev/null
+++ b/mail-mta/exim/files/exim-4.10-gentoo.diff
@@ -0,0 +1,65 @@
+*** exim-4.10/src/daemon.c Mon Jul 22 09:59:48 2002
+- --- daemon.c Wed Dec 4 10:52:04 2002
+***************
+*** 960,991 ****
+ (b) When -bd is used and -oX is not used, or
+ (c) When -oP is used to supply a path.
+
+! The variable daemon_write_pid is used to control this.
+
+- - Note re use of sprintf: spool_directory and pid_file_path are checked on
+- - input to be < 200 characters. */
+- -
+ if (running_in_test_harness || daemon_write_pid)
+ {
+ FILE *f;
+- - uschar buff[256];
+- -
+ if (pid_file_path[0] == 0)
+! sprintf(CS buff, "%s/exim-daemon.pid", spool_directory);
+! else
+! sprintf(CS buff, CS pid_file_path, ""); /* Backward compatibility */
+
+! f = Ufopen(buff, "wb");
+ if (f != NULL)
+ {
+ fprintf(f, "%d\n", (int)getpid());
+ fchmod(fileno(f), 0644);
+ fclose(f);
+! DEBUG(D_any) debug_printf("pid written to %s\n", buff);
+ }
+ else
+ DEBUG(D_any)
+! debug_printf("%s\n", string_open_failed(errno, "pid file %s", buff));
+ }
+
+ /* Set up the handler for SIGHUP, which causes a restart of the daemon. */
+- --- 960,987 ----
+ (b) When -bd is used and -oX is not used, or
+ (c) When -oP is used to supply a path.
+
+! The variable daemon_write_pid is used to control this. */
+
+ if (running_in_test_harness || daemon_write_pid)
+ {
+ FILE *f;
+ if (pid_file_path[0] == 0)
+! pid_file_path = string_sprintf("%s/exim-daemon.pid", spool_directory);
+
+! f = Ufopen(pid_file_path, "wb");
+ if (f != NULL)
+ {
+ fprintf(f, "%d\n", (int)getpid());
+ fchmod(fileno(f), 0644);
+ fclose(f);
+! DEBUG(D_any) debug_printf("pid written to %s\n", pid_file_path);
+ }
+ else
++ {
+ DEBUG(D_any)
+! debug_printf("%s\n", string_open_failed(errno, "pid file %s",
+! pid_file_path));
+! }
+ }
+
+ /* Set up the handler for SIGHUP, which causes a restart of the daemon. */
diff --git a/mail-mta/exim/files/exim-4.14-tail.patch b/mail-mta/exim/files/exim-4.14-tail.patch
new file mode 100644
index 000000000000..481dca9b80d4
--- /dev/null
+++ b/mail-mta/exim/files/exim-4.14-tail.patch
@@ -0,0 +1,11 @@
+--- scripts/Configure-config.h.orig 2003-07-17 18:01:19.000000000 -0400
++++ scripts/Configure-config.h 2003-07-17 18:01:25.000000000 -0400
+@@ -41,7 +41,7 @@
+
+ # Double-check that config.h is complete.
+
+-if [ "`tail -1 config.h`" != "/* End of config.h */" ] ; then
++if [ "`tail -n 1 config.h`" != "/* End of config.h */" ] ; then
+ echo "*** config.h appears to be incomplete"
+ echo "*** unexpected failure in buildconfig program"
+ exit 1
diff --git a/mail-mta/exim/files/exim-4.20-maildir.patch b/mail-mta/exim/files/exim-4.20-maildir.patch
new file mode 100644
index 000000000000..3cb198d545c1
--- /dev/null
+++ b/mail-mta/exim/files/exim-4.20-maildir.patch
@@ -0,0 +1,14 @@
+diff -urN ./exim-4.20.orig/src/configure.default exim-4.20/src/configure.default
+--- ./exim-4.20.orig/src/configure.default 2003-06-27 16:48:22.000000000 -0700
++++ exim-4.20/src/configure.default 2003-06-27 16:52:20.000000000 -0700
+@@ -451,7 +451,9 @@
+
+ local_delivery:
+ driver = appendfile
+- file = /var/mail/$local_part
++# file = /var/mail/$local_part
++ directory = /home/$local_part/.maildir
++ maildir_format
+ delivery_date_add
+ envelope_to_add
+ return_path_add
diff --git a/mail-mta/exim/files/exim-4.30-conf.patch b/mail-mta/exim/files/exim-4.30-conf.patch
new file mode 100644
index 000000000000..5d154b96f71e
--- /dev/null
+++ b/mail-mta/exim/files/exim-4.30-conf.patch
@@ -0,0 +1,19 @@
+--- src/configure.default.orig 2004-03-29 22:48:24.000000000 +0100
++++ src/configure.default.orig.patch-01 2004-03-29 22:57:10.000000000 +0100
+@@ -41,6 +41,16 @@
+ # MAIN CONFIGURATION SETTINGS #
+ ######################################################################
+
++# This Sets up the default log location to syslog, specifically to the "mail"
++# Facility. Please note that you may want to change this, as other mail,
++# relatively noisy mail programs also log to the mail facility (eg. courier)
++
++# Note:
++# If exim cannot log to syslog it will try to log to, /var/log/exim/exim_%s.log
++log_file_path=syslog
++
++
++
+ # Specify your host's canonical name here. This should normally be the fully
+ # qualified "official" name of your host. If this option is not set, the
+ # uname() function is called to obtain the name. In many cases this does
diff --git a/mail-mta/exim/files/exim-4.33-r1-header-syntax.patch b/mail-mta/exim/files/exim-4.33-r1-header-syntax.patch
new file mode 100644
index 000000000000..06cef16b17db
--- /dev/null
+++ b/mail-mta/exim/files/exim-4.33-r1-header-syntax.patch
@@ -0,0 +1,37 @@
+*** exim-4.33/src/verify.c Wed May 5 11:08:36 2004
+--- verify.c Thu May 6 14:36:40 2004
+***************
+*** 1264,1282 ****
+
+ if (recipient == NULL && Ustrcmp(errmess, "empty address") != 0)
+ {
+- uschar hname[64];
+- uschar *t = h->text;
+- uschar *tt = hname;
+ uschar *verb = US"is";
+ int len;
+
+- while (*t != ':') *tt++ = *t++;
+- *tt = 0;
+-
+ /* Arrange not to include any white space at the end in the
+ error message. */
+
+- t = ss;
+ while (t > s && isspace(t[-1])) t--;
+
+ /* Add the address which failed to the error message, since in a
+--- 1264,1276 ----
+
+ if (recipient == NULL && Ustrcmp(errmess, "empty address") != 0)
+ {
+ uschar *verb = US"is";
++ uschar *t = ss;
+ int len;
+
+ /* Arrange not to include any white space at the end in the
+ error message. */
+
+ while (t > s && isspace(t[-1])) t--;
+
+ /* Add the address which failed to the error message, since in a
diff --git a/mail-mta/exim/files/exim.confd b/mail-mta/exim/files/exim.confd
new file mode 100644
index 000000000000..a3974d33b406
--- /dev/null
+++ b/mail-mta/exim/files/exim.confd
@@ -0,0 +1,2 @@
+# Command-line options for running exim
+EXIM_OPTS="-bd -q15m"
diff --git a/mail-mta/exim/files/exim.rc6 b/mail-mta/exim/files/exim.rc6
new file mode 100644
index 000000000000..40f9a7fa6a37
--- /dev/null
+++ b/mail-mta/exim/files/exim.rc6
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/exim/files/exim.rc6,v 1.1 2004/05/30 02:35:58 robbat2 Exp $
+
+depend() {
+ need logger net
+ provide mta
+}
+
+start() {
+ ebegin "Starting exim"
+ start-stop-daemon --start --quiet --exec /usr/sbin/exim -- ${EXIM_OPTS:--bd -q15m}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping exim"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/exim
+ eend $?
+}
diff --git a/mail-mta/exim/files/exiscan.conf b/mail-mta/exim/files/exiscan.conf
new file mode 100644
index 000000000000..ae9ec8ec0be3
--- /dev/null
+++ b/mail-mta/exim/files/exiscan.conf
@@ -0,0 +1,555 @@
+# These are configuration exacmples for getting exiscan going on your
+# system Changes must be made to /etc/exim/exim.conf to enable the
+# exiscan facility.
+
+# Global options
+# -------------------------------------------------------------------------
+# These options apply to all facilities.
+
+# exiscan_condition (string, mantadory, default unset)
+# ------------------------------------------------------
+# This option is the "master condition" that is evaluated to see if
+# ANY exiscan facility should be used to scan the current message. If
+# the condition does not apply, exiscan just skips over the message (no
+# facilities are used). When this options is not set, exiscan will
+# be disabled. Note: facilities have individual conditions as well.
+#
+# Example: to make exiscan only work on messages coming in with SMTP or
+# ESMTP, use
+#
+# exiscan_condition = \
+# ${if or {{eq{$received_protocol}{esmtp}} \
+# {eq{$received_protocol}{smtp}}} \
+# {1}{0} }
+
+exiscan_condition = 1
+
+# exiscan_crypt_salt (string, mantadory, default unset)
+# -------------------------------------------------------
+# exiscan inserts a crypt()ed version of the message ID into the header
+# when it has successfully scanned a message. This 'tag' is used to
+# determine if the message is 'clean' if it should be re-sent or delayed.
+# The exiscan_crypt_salt setting defines a 2-character string to be used
+# as a "seed" for the crypt process. You MUST set this option to a
+# 2-character string, otherwise exiscan will be disabled.
+
+exiscan_crypt_salt = fo
+
+# exiscan_unpack_mime (bool, optional, default "true")
+# ------------------------------------------------------
+# Normally, exiscan unpacks MIME and TNEF containers (Thanks to
+# Paul L. Daniels ripMIME library).
+# If your scanner is able to scan on mailpacks (MBOX style files)
+# directly, we do not need to unpack the mails. ONLY disable this
+# option if this works with your scanner ! The default is "true",
+# so you do not need to explicitly set this option.
+
+exiscan_unpack_mime = true
+
+# exiscan_timeout (time,optional, default "15m")
+# ------------------------------------------------
+# To cope with mishaps in the scanner process, exim uses a timeout on
+# the exiscan function call. If exiscan does not return in the given
+# timeframe, exim will assume a local problem and temporarily reject
+# the message. This timeout tells exim how long it will wait for
+# exiscan to return. The default is 900 seconds (15 minutes).
+
+exiscan_timeout = 30s
+
+
+# Antivirus facility (av) options
+# ---------------------------------------------------------------------
+# These options are used by the antivirus facility. You need an
+# external virus scanner on your system.
+
+# exiscan_av_condition (string, default unset)
+# ----------------------------------------------
+# If this condition evaluates to "true", exiscan will call the virus
+# scanner facility on that message.
+#
+# Example: To scan ALL messages, just set this variable to "1"
+#
+# exiscan_av_condition = 1
+
+exiscan_av_condition = 1
+
+# exiscan_av_action (string, default 'reject')
+# ----------------------------------------------
+# This defines the action exiscan should take when it finds a virus
+# in the message.
+# Possible values are 'pass','reject','blackhole','freeze' or
+# 'redirect <address>'. When this option is unset, it defaults to
+# 'reject'.
+#
+# Example: redirect messages with viruses to postmaster
+#
+# exiscan_av_action = redirect postmaster@mydomain.com
+
+exiscan_av_action = reject
+
+# exiscan_av_scanner (string, default unset)
+# --------------------------------------------
+# This option tells exiscan what type of virus scanner to use. It
+# can be one of
+#
+# keyword | scanner
+# -------------------------------------------------------------
+# cmdline | generic command line scanner
+# sophie | sophie AV daemon (http://www.vanja.com/tools/sophie/)
+# kavdaemon | Kapersky AVP Daemon 3.x (http://www.kapersky.com)
+# openav | OpenAV scanner daemon (http://www.openantivirus.org)
+#
+# Depending on the scanner type you choose with this option, you
+# need to declare one or more further options below.
+
+exiscan_av_scanner = cmdline
+
+# exiscan_av_scanner_path (string, default unset)
+# -------------------------------------------------
+# This option is needed ONLY for the cmdline av scanner type.
+# It contains the path to the virus scanner executable
+# That means FULL ABSOLUTE PATH AND EXECUTABLE !
+# Sorry for the caps but people keep messing this up.
+#
+# Example: Sophos Sweep in /usr/local/bin
+#
+# exiscan_av_scanner_path = /usr/local/bin/sweep
+
+# exiscan_av_scanner_path = /usr/bin/sweep
+
+# exiscan_av_scanner_options (string, default unset)
+# ----------------------------------------------------
+# This option is needed ONLY for the cmdline av scanner type.
+# It containts the options to be passed to the scanner on the command
+# line.
+# ATTENTION: the given string MUST containe ONE pipe ('|') symbol,
+# which will be replaced by exiscan with the path to be scanned.
+# Normally, the pipe will be at the end of the string, but some
+# scanners may also expect it somewhere else.
+#
+# Example: this works for Sophos Sweep
+#
+# exiscan_av_scanner_options = -all -archive -ss |
+
+# exiscan_av_scanner_options = -all -archive -ss |
+
+# exiscan_av_scanner_regexp_trigger (string, default unset)
+# -----------------------------------------------------------
+# This option is needed ONLY for the cmdline av scanner type.
+# exiscan parses both STDOUT and STDERR output of the scanner, line
+# by line. To determine if a virus was found, we use a perl-compatible
+# regular expression. In the simplest case, this will simply be a
+# string just like the example below which will work with Sophos Sweep.
+#
+# Example: this works for Sophos Sweep
+#
+# exiscan_av_scanner_regexp_trigger = found in
+
+exiscan_av_scanner_regexp_trigger = found in
+
+# exiscan_av_scanner_regexp_description (string, default unset)
+# ---------------------------------------------------------------
+# This option is needed ONLY for the cmdline av scanner type.
+# It contains a regular expression to fish the viruses' name out
+# of the scanner output.
+# IMPORTANT: this expression MUST contain exactly ONE pair of braces,
+# matching the substring with the virus info.
+# Typically, the braces will contain '.*', to match any number
+# of any character inside. To the left and right of the braces, you
+# should place other matching criteria, of course !
+#
+# Example: Sophos Sweep reports a virus on a line like this:
+#
+# >>> Virus 'W32/Magistr-B' found in file ./those.bat
+#
+# We want to get the W32/Magistr-B string, so we can match
+# for the single quotes left and right of it, resulting in
+# the regex '(.*)' (WITH the quotes!)
+#
+# exiscan_av_scanner_regexp_description = '(.*)'
+
+exiscan_av_scanner_regexp_description = '(.*)'
+
+# exiscan_av_sophie_socket (string, default unset)
+# -------------------------------------------------
+# This option is needed ONLY for the sophie av scanner type.
+# Sophie opens a unix socket in your file system. The default is
+# /var/run/sophie.
+# Please make sure that exim can access that socket (permissions!).
+# Also make sure that the user that Sophie runs with (./configure
+# option !!) is allowed to read the exim queue directory.
+# Sophie drops privileges, so while it may show up as running as root
+# in 'ps', it may have set its effective UID to another user !
+# Ideally, exims and sophies effective user settings should be the
+# same.
+#
+# Example:
+#
+# exiscan_av_sophie_socket = /var/run/sophie
+
+# exiscan_av_sophie_socket = /var/run/sophie
+
+# exiscan_av_kavdaemon_socket (string, default unset)
+# -----------------------------------------------------
+# This option is needed ONLY for the kavdaemon av scanner type.
+# kavdaemon opens a unix socket in your file system. The default
+# is /opt/AVP/AvpCtl.
+# Please make sure that exim can access that socket (permissions!).
+# Also make sure that the user that kavdaemon runs with is allowed
+# to read the exim queue directory.
+#
+# Attention: you need to run kavdaemon with the disinfection option
+# disabled, and with proper path settings, like this:
+#
+# ./kavdaemon -E -f=/opt/AVP /
+#
+# Note the slash at the end, it is important. /opt/AVP is the
+# default AVP base directory.
+#
+# Example:
+#
+# exiscan_av_kavdaemon_socket = /opt/AVP/AvpCtl
+
+# exiscan_av_kavdaemon_socket = /opt/AVP/AvpCtl
+
+# exiscan_av_openav_host (string, default unset)
+# -----------------------------------------------------
+# This option is needed ONLY for the openav av scanner type.
+# It must be set to the IP address or hostname your openav
+# scanner daemon is operating on.
+# You must also set exiscan_av_openav_host along with this
+# option.
+#
+# Example: to use the openav daemon on the local host, use
+#
+# exiscan_av_openav_host = 127.0.0.1
+#
+# exiscan_av_openav_port (string, default unset)
+# -----------------------------------------------------
+# This option is needed ONLY for the openav av scanner type.
+# It must be set to the port number your openav scanner daemon
+# is operating on. It is usually '8127'.
+# You must also set exiscan_av_openav_host along with this
+# option.
+#
+# Example: to use the openav daemon on the port 8127, set
+#
+# exiscan_av_openav_port = 8127
+
+# exiscan_av_openav_host = 127.0.0.1
+# exiscan_av_openav_port = 8127
+
+
+# Antispam facility (spamd) options
+# ---------------------------------------------------------------------
+# These options are used by the antispam facility. You need to install
+# SpamAssassin on your system. You can get it at
+#
+# http://www.spamassassin.org
+#
+# exiscan uses the 'spamd' daemon directly, it needs to run in order for
+# this facility to work.
+#
+# Please read the section on header lines and actions further below to
+# learn what you can do with this facility.
+
+# exiscan_spamd_condition (string, default unset)
+# -------------------------------------------------
+# If this condition evaluates to "true", exiscan will call the
+# antispam facility on that message.
+# Please read the "Setting Conditions" section below for more
+# information on setting conditions.
+#
+# Example: To scan ALL messages, just set this variable to "1"
+#
+# exiscan_spamd_condition = 1
+
+exiscan_spamd_condition = 0
+
+# exiscan_spamd_action (string, default unset)
+# ----------------------------------------------
+# This defines the action exiscan should take when a message
+# exceeds the defined spam score treshold (see below).
+# Possible values are 'pass','reject','blackhole','freeze' or
+# 'redirect <address>'. When this option is unset, it defaults to
+# 'pass' (meaning that only a header with spam info is added to
+# the message - see section "Header Lines" below).
+# Important: Please read the "Setting Actions" section below for more
+# information on actions.
+#
+# Example: reject messages exceeding the spam score treshold
+#
+# exiscan_spamd_action = reject
+
+# exiscan_spamd_action = reject
+
+# exiscan_spamd_header_style (string, default "single")
+# -------------------------------------------------------
+# This setting defines how much information the spamd facility
+# will add to the headers of the message. The following settings
+# are available:
+#
+# none - This will not add any spam info header to the message.
+# When not using exiscan_spamd_treshold, this is quite
+# useless.
+# single - This will add the X-Spam-Score header (see the HEADERS
+# section below)
+# flag - This will add the X-Spam-Score header and, if the
+# messages' score is over the treshold, the X-Spam-Flag
+# header. (see the HEADERS section below)
+# full - This will add the X-Spam-Score header and, if the
+# messages' score is over the treshold, the X-Spam-Flag
+# header and the FULL spamassassin report in clear text
+# as a multiline header called "X-Spam-Report".
+#
+# Example: exiscan_spamd_header_style = full
+
+# exiscan_spamd_header_style = full
+
+# exiscan_spamd_subject_tag (string, default unset)
+# --------------------------------------------------
+# If you want to "tag" the subject of messages which have a spam
+# score greater than the exiscan_spamd_treshold, you can set this
+# option to a string that will be prepended to the subject.
+# This is only useful if exiscan_spamd_action is "pass".
+# End-user MUAs can then filter on that string in the subject.
+#
+# Example: if you set
+#
+# exiscan_spamd_subject_tag = *SPAM*
+#
+# the subject "URGENT BUSINESS PROPOSAL" will be
+# changed into "*SPAM* URGENT BUSINESS PROPOSAL".
+
+# exiscan_spamd_subject_tag = *****SPAM*****
+
+# exiscan_spamd_treshold (integer, default 999)
+# ----------------------------------------------
+# This defines the number of "spam score" points a message must
+# exceed to be classified as "spam" by exiscan. The default value
+# is very high, so if you only want to add headers to messages,
+# you do not need to set this option. Sensible value ranges
+# are 4-20. The lower you set this value, the more spam you may
+# catch, however the possibility of false positives is also higher.
+#
+# Example: set spam score treshold to 6 points
+#
+# exiscan_spamd_treshold = 6
+
+# exiscan_spamd_treshold = 15
+
+# exiscan_spamd_address (string, default unset)
+# -----------------------------------------------
+# This contains the IP address and port where the spamd is listening,
+# separated by a whitespace. By default, it resides on localhost port
+# 783. You can also run it on another machine to decrease the load on
+# the mail server. Uncommenting this option turns off the antispam
+# facility.
+#
+# Example: spamd running on localhost with default port
+#
+# exiscan_spamd_address = 127.0.0.1 783
+
+# exiscan_spamd_address = 127.0.0.1 783
+
+
+# Regular expression scanning facility (regex) options
+# ---------------------------------------------------------------------
+# This facility can be used to scan a message for a set of regular
+# expressions. The scanning will be done line-by-line on the complete
+# message, including all headers, except for exiscan's own X- header.
+#
+# This facility is handy for blocking content that cannot yet be caught
+# by your AV scanner, or to crack down on spam (try 'mortgage' :).
+#
+# To prevent double bounces, this facility will not scan bounce messages
+# (messages with an empty envelope sender)
+
+# exiscan_regex_condition (string, default unset)
+# -------------------------------------------------
+# If this condition evaluates to "true", exiscan will call the
+# regex facility on that message.
+# Please read the "Setting Conditions" section below for more
+# information on setting conditions.
+#
+# Example: To regex scan ALL messages, just set this variable to "1"
+#
+# exiscan_regex_condition = 1
+
+exiscan_regex_condition = 0
+
+# exiscan_regex_action (string, default 'reject')
+# -------------------------------------------------
+# This defines the action exiscan should take when a message
+# matches a defined regular expression.
+# Possible values are 'pass','reject','blackhole','freeze' or
+# 'redirect <address>'. When this option is unset, it defaults to
+# 'reject'.
+# Important: Please read the "Setting Actions" section below for more
+# information on actions.
+#
+# Example: blackhole messages matching a regular expression
+#
+# exiscan_regex_action = blackhole
+
+# exiscan_regex_action = reject
+
+# exiscan_regex_data (string, default unset)
+# --------------------------------------------
+# This option contains the regular expressions you wish to match
+# against messages, as a colon-separated list.
+# To put a colon inside a regular expression, you need to double
+# it (::).
+#
+# Example: Match 'mortgate' with case-insensitive 'm' and
+# 'make money'
+#
+# exiscan_regex_data = [Mm]ortage : make money
+
+# exiscan_regex_data =
+
+
+# File extension scanning facility (extension) options
+# --------------------------------------------------------------------
+# This facility can be used to block mails containing files with
+# specific extensions, mostly those that may cause harm on the Windows
+# platform (vbs,pif,bat,exe,com etc.).
+#
+# To prevent double bounces, this facility will not scan bounce messages
+# (messages with an empty envelope sender)
+
+# exiscan_extension_condition (string, default unset)
+# -----------------------------------------------------
+# If this condition evaluates to "true", exiscan will call the
+# extension facility on that message.
+# Please read the "Setting Conditions" section below for more
+# information on setting conditions.
+#
+# Example: To regex scan ALL messages, just set this variable to "1"
+#
+# exiscan_extension_condition = 1
+
+exiscan_extension_condition = 0
+
+# exiscan_extension_action (string, default 'reject')
+# -----------------------------------------------------
+# This defines the action exiscan should take when a message
+# contains one of the defined file types.
+# Possible values are 'pass','reject','blackhole','freeze' or
+# 'redirect <address>'. When this option is unset, it defaults to
+# 'reject'.
+# Important: Please read the "Setting Actions" section below for more
+# information on actions.
+#
+# Example: freeze messages containing an unwanted file type
+#
+# exiscan_extension_action = freeze
+
+# exiscan_extension_action = freeze
+
+# exiscan_extension_data (string, default unset)
+# ------------------------------------------------
+# This option contains the file extension for which you would like
+# to scan messages, as a colon-separated list.
+#
+# Example: Match 'exe', 'com', and 'vbs'
+#
+# exiscan_extension_data = exe:com:vbs
+
+# exiscan_extension_data = exe:com:vbs
+
+
+
+
+# SETTING CONDITIONS
+# ------------------------------------------------------------------------------
+#
+# exiscan has five 'condition' options (see above): one 'master' condition and
+# one per facility. Each of these conditions is a string that may contain
+# 'expandable' components. Read chapter 11 of the exim 4 spec to learn more
+# about string expansion in exim.
+#
+# A condition is 'false' when it
+#
+# - is unset
+# - expands to 0 (string or number)
+#
+# All other values result in a 'true' condition.
+#
+# The master condition (option exiscan_condition) decides if exiscan is run
+# on a message. You should use it to skip messages that do not need to be
+# scanned. Typically, you will only want to scan messages that come in via
+# smtp or esmtp:
+#
+# exiscan_condition = \
+# ${if or {{eq{$received_protocol}{esmtp}} \
+# {eq{$received_protocol}{smtp}}} \
+# {1}{0} }
+#
+# This will skip scanning messages coming from local sources or from authen-
+# ticated senders (asmtp).
+#
+# Each facility has its own condition to decide if it should be applied to
+# a message (exiscan-<facility>-condition). For example, you can use those
+# with file lookups to use a facility only on specific sender or recipient
+# domains. The excercise is left up to the reader :)
+#
+# To make a condition always true, just set it to '1'.
+#
+#
+# SETTING ACTIONS
+# ------------------------------------------------------------------------------
+#
+# Every facility in exiscan that 'matches' a message (found a virus, spam over
+# treshold, found regex/extension) can trigger a configurable action. Each
+# facility has an "action" option (exiscan_<facility>_action) where you can set
+# the action identifier for that facility.
+#
+# The following actions are available:
+#
+# - reject The message is rejected with a permanent error (5xx), stating
+# the cause including information for the sender of the message.
+#
+# - freeze The message is accepted and immediately frozen, with the cause
+# saved in the header file. The postmaster can then review the
+# frozen messages and eventually thaw or delete them.
+# (NB: does someone want to write a web frontend for that task ?
+# Submissions welcome ;)
+# IMPORTANT: If you use an automatic unfreeze timer in your exim
+# config, exim will automatically thaw these messages after the
+# specified time, resulting in delivery !
+# It might also be a good idea to use exim's 'move_frozen_messages'
+# option in conjunction with this action.
+#
+# - blackhole The message is accepted and then destroyed by removing all reci-
+# pients. I do not recommended to use this action unless you have
+# a good cause to do so.
+#
+# - redirect <newaddress> The messages' envelope recipients are replaced by
+# an address stated behind the 'redirect' parameter.
+# Example:
+#
+# exiscan_spamd_action = redirect the@new.address
+#
+# Since the original envelope addresses are destroyed
+# by that action, you must rely on the headers to
+# figure out the intended original recipients.
+#
+# - pass No action is taken on the message, except that the facility
+# will add it's X- header line to the message. This is especially
+# useful for the spamd facility, if you only want to "mark" spam.
+# See the "added headers" section below to learn what headers
+# exiscan adds to messages.
+#
+# The facilities are called in the following order:
+#
+# 1 - av
+# 2 - extension
+# 3 - regex
+# 4 - spamd
+#
+# When a facility "matches" a message, processing is stopped and the proper return
+# code is passed to exim, except if the action for this facility is set to "pass".
+# The "spamd" facility is called last, since it takes the most processing time. The
+# "av" facility is called first, since both "extension" and "regex" may block the
+# same message too, only without giving valuable information.
diff --git a/mail-mta/exim/files/mailer.conf b/mail-mta/exim/files/mailer.conf
new file mode 100644
index 000000000000..a0d702f22579
--- /dev/null
+++ b/mail-mta/exim/files/mailer.conf
@@ -0,0 +1,35 @@
+# $OpenBSD: mailer.conf,v 1.3 2000/04/06 18:24:19 millert Exp $
+#
+# Execute the "real" sendmail program from exim,
+# named /usr/sbin/exim
+#
+sendmail /usr/sbin/exim
+send-mail /usr/sbin/exim
+mailq /usr/sbin/exim
+newaliases /usr/sbin/exim
+rsmtp /usr/sbin/exim
+rmail /usr/sbin/exim
+mail /usr/sbin/exim
+
+# Execute the "real" sendmail program from postfix,
+# named /usr/sbin/sendmail.postfix
+#
+#sendmail /usr/sbin/sendmail.postfix
+#send-mail /usr/sbin/sendmail.postfix
+#mailq /usr/sbin/sendmail.postfix
+#newaliases /usr/sbin/sendmail.postfix
+
+# Execute the "real" sendmail program from ssmtp,
+# named /usr/sbin/ssmtp
+#
+#sendmail /usr/sbin/ssmtp
+#mailq /usr/sbin/ssmtp
+#newaliases /usr/sbin/ssmtp
+# Execute the "real" sendmail program, named /usr/sbin/sendmail
+#
+#sendmail /usr/sbin/sendmail.sendmail
+#send-mail /usr/sbin/sendmail.sendmail
+#mailq /usr/sbin/sendmail.sendmail
+#newaliases /usr/sbin/sendmail.sendmail
+#hoststat /usr/sbin/sendmail.sendmail
+#purgestat /usr/sbin/sendmail.sendmail
diff --git a/mail-mta/exim/files/pam.d-exim b/mail-mta/exim/files/pam.d-exim
new file mode 100644
index 000000000000..9b3a1d211063
--- /dev/null
+++ b/mail-mta/exim/files/pam.d-exim
@@ -0,0 +1,3 @@
+# You may need to remove the "md5"
+auth required pam_unix.so shadow md5
+account required pam_unix.so
diff --git a/mail-mta/exim/files/system_filter.exim b/mail-mta/exim/files/system_filter.exim
new file mode 100644
index 000000000000..8817cc00d2db
--- /dev/null
+++ b/mail-mta/exim/files/system_filter.exim
@@ -0,0 +1,220 @@
+# Exim filter
+## Version: 0.13
+# $Id: system_filter.exim,v 1.1 2004/05/30 02:35:58 robbat2 Exp $
+
+## If you haven't worked with exim filters before, read
+## the install notes at the end of this file.
+
+#
+# Only run any of this stuff on the first pass through the
+# filter - this is an optomisation for messages that get
+# queued and have several delivery attempts
+#
+# we express this in reverse so we can just bail out
+# on inappropriate messages
+#
+if not first_delivery
+then
+ finish
+endif
+
+# Check for MS buffer overruns as per latest BUGTRAQ.
+# http://www.securityfocus.com/frames/?content=/templates/article.html%3Fid%3D61
+# This could happen in error messages, hence its placing
+# here...
+# We substract the first n characters of the date header
+# and test if its the same as the date header... which
+# is a lousy way of checking if the date is longer than
+# n chars long
+if ${length_80:$header_date:} is not $header_date:
+then
+ fail text "This message has been rejected because it has\n\
+ \tan overlength date field which can be used\n\
+ \tto subvert Microsoft mail programs\n\
+ \tThe following URL has further information\n\
+ \thttp://www.securityfocus.com/frames/?content=/templates/article.html%3Fid%3D61"
+ seen finish
+endif
+
+# This is a nasty compromise.
+# This crud is now being sent with a <> envelope sender, but
+# blocking all error messages that pattern match prevents
+# bounces getting back.... so we fudge it somewhat
+if $header_from: contains "@sexyfun.net"
+then
+ fail text "This message has been rejected since it has\n\
+ \tthe signature of a known virus in the header."
+ seen finish
+endif
+if error_message and $header_from: contains "Mailer-Daemon@"
+then
+ # looks like a real error message - just ignore it
+ finish
+endif
+
+# Look for single part MIME messages with suspicious name extensions
+# Check Content-Type header using quoted filename [content_type_quoted_fn_match]
+if $header_content-type: matches "(?:file)?name=(\"[^\"]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|cmd|shs|hta|bat|scr|pif)\")"
+then
+ fail text "This message has been rejected because it has\n\
+ \tpotentially executable content $1\n\
+ \tThis form of attachment has been used by\n\
+ \trecent viruses or other malware.\n\
+ \tIf you meant to send this file then please\n\
+ \tpackage it up as a zip file and resend it."
+ seen finish
+endif
+# same again using unquoted filename [content_type_unquoted_fn_match]
+if $header_content-type: matches "(?:file)?name=([\\\\w.-]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|cmd|shs|hta|bat|scr|pif))"
+then
+ fail text "This message has been rejected because it has\n\
+ \tpotentially executable content $1\n\
+ \tThis form of attachment has been used by\n\
+ \trecent viruses or other malware.\n\
+ \tIf you meant to send this file then please\n\
+ \tpackage it up as a zip file and resend it."
+ seen finish
+endif
+
+
+# Attempt to catch embedded VBS attachments
+# in emails. These were used as the basis for
+# the ILOVEYOU virus and its variants
+# Quoted filename - [body_quoted_fn_match]
+if $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\"[^\"]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|cmd|shs|hta|bat|scr|pif)\")[\\\\s;]"
+then
+ fail text "This message has been rejected because it has\n\
+ \ta potentially executable attachment $1\n\
+ \tThis form of attachment has been used by\n\
+ \trecent viruses or other malware.\n\
+ \tIf you meant to send this file then please\n\
+ \tpackage it up as a zip file and resend it."
+ seen finish
+endif
+# same again using unquoted filename [body_unquoted_fn_match]
+if $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))([\\\\w.-]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|cmd|shs|hta|bat|scr|pif))[\\\\s;]"
+then
+ fail text "This message has been rejected because it has\n\
+ \ta potentially executable attachment $1\n\
+ \tThis form of attachment has been used by\n\
+ \trecent viruses or other malware.\n\
+ \tIf you meant to send this file then please\n\
+ \tpackage it up as a zip file and resend it."
+ seen finish
+endif
+
+#### Version history
+#
+# 0.01 5 May 2000
+# Initial release
+# 0.02 8 May 2000
+# Widened list of content-types accepted, added WSF extension
+# 0.03 8 May 2000
+# Embedded the install notes in for those that don't do manuals
+# 0.04 9 May 2000
+# Check global content-type header. Efficiency mods to REs
+# 0.05 9 May 2000
+# More minor efficiency mods, doc changes
+# 0.06 20 June 2000
+# Added extension handling - thx to Douglas Gray Stephens & Jeff Carnahan
+# 0.07 19 July 2000
+# Latest MS Outhouse bug catching
+# 0.08 19 July 2000
+# Changed trigger length to 80 chars, fixed some spelling
+# 0.09 29 September 2000
+# More extensions... its getting so we should just allow 2 or 3 through
+# 0.10 18 January 2001
+# Removed exclusion for error messages - this is a little nasty
+# since it has other side effects, hence we do still exclude
+# on unix like error messages
+# 0.11 20 March, 2001
+# Added CMD extension, tidied docs slightly, added RCS tag
+# ** Missed changing version number at top of file :-(
+# 0.12 10 May, 2001
+# Added HTA extension
+# 0.13 22 May, 2001
+# Reformatted regexps and code to build them so that they are
+# shorter than the limits on pre exim 3.20 filters. This will
+# make them significantly less efficient, but I am getting so
+# many queries about this that requiring 3.2x appears unsupportable.
+#
+#### Install Notes
+#
+# Exim filters run the exim filter language - a very primitive
+# scripting language - in place of a user .forward file, or on
+# a per system basis (on all messages passing through).
+# The filtering capability is documented in the main set of manuals
+# a copy of which can be found on the exim web site
+# http://www.exim.org/
+#
+# To install, copy the filter file (with appropriate permissions)
+# to /etc/exim/system_filter.exim and add to your exim config file
+# [location is installation depedant - typicaly /etc/exim/config ]
+# at the top the line:-
+# message_filter = /etc/exim/system_filter.exim
+# message_body_visible = 5000
+#
+# You may also want to set the message_filter_user & message_filter_group
+# options, but they default to the standard exim user and so can
+# be left untouched. The other message_filter_* options are only
+# needed if you modify this to do other functions such as deliveries.
+# The main exim documentation is quite thorough and so I see no need
+# to expand it here...
+#
+# Any message that matches the filter will then be bounced.
+# If you wish you can change the error message by editing it
+# in the section above - however be careful you don't break it.
+#
+# After install exim should be restarted - a kill -HUP to the
+# daemon will do this.
+#
+#### LIMITATIONS
+#
+# This filter tries to parse MIME with a regexp... that doesn't
+# work too well. It will also only see the amount of the body
+# specified in message_body_visible
+#
+#### BASIS
+#
+# The regexp that is used to pickup MIME/uuencoded parts is replicated
+# below (in perl format). You need to remember that exim converts
+# newlines to spaces in the message_body variable.
+#
+# (?:Content- # start of content header
+# (?:Type: (?>\s*) # rest of c/t header
+# [\w-]+/[\w-]+ # content-type (any)
+# |Disposition: (?>\s*) # content-disposition hdr
+# attachment) # content-disposition
+# ;(?>\s*) # ; space or newline
+# (?:file)?name= # filename=/name=
+# |begin (?>\s+) [0-7]{3,4} (?>\s+)) # begin octal-mode
+# (\"[^\"]+\. # quoted filename.
+# (?:vb[se] # list of extns
+# |ws[fh]
+# |jse?
+# |exe
+# |com
+# |cmd
+# |shs
+# |hta
+# |bat
+# |scr
+# |pif)
+# \" # end quote
+# |[\w.-]+\. # unquoted filename.ext
+# (?:vb[se] # list of extns
+# |ws[fh]
+# |jse?
+# |exe
+# |com
+# |cmd
+# |shs
+# |hta
+# |bat
+# |scr
+# |pif)
+# ) # end of filename capture
+# [\s;] # trailing ;/space/newline
+#
+#
+### [End]