diff options
author | 2004-05-30 02:35:58 +0000 | |
---|---|---|
committer | 2004-05-30 02:35:58 +0000 | |
commit | c05c1f87561774307e84306fa46c860b4c0c46d0 (patch) | |
tree | 02b0e4c74fa3afb37763f6774b3d7ecf49f20420 /mail-mta/exim/files | |
parent | Moving to mail-mta/exim (diff) | |
download | gentoo-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')
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] |