
domainlist local_domains = localhost:slowglass.com:mladris.mvhi.com : \
    localhost : \
    slowglass.com : \
    *.slowglass.com : \
    infradead.org : \
    phoenix.infradead.org : \
    www.infradead.org : \
    cvs.infradead.org : \
    ftp.infradead.org : \
    linux-mtd.infradead.org : \
    *.linux-mtd.infradead.org : \
    imladris.infradead.org : \
    memalpha.co.uk : \
    wil.cx : \
    *.wil.cx

domainlist relay_domains = nl.linux.org : \
    *.nl.linux.org : \
    kernelnewbies.org : \
    *.kernelnewbies.org : \
    linux-mm.org : \
    *.linux-mm.org : \
    surriel.com : \
    *.surriel.com : \
    kernelbench.org : \
    *.kernelbench.org : \
    fenrus.com : \
    *.fenrus.com : \
    *.infradead.org : \
    openlvm.org : \
    *.openlvm.org : \
    opengfs.org : \
    *.opengfs.org : \
    thefreeworld.net : \
    *.thefreeworld.net : \
    memalpha.co.uk

hostlist rbl_hosts = ! 194.177.174.245 : \
    ! 131.211.28.48 : \
    ! 195.224.55.251 : \
    ! 195.224.96.167 : \
    *
hostlist relay_hosts = localhost

#!!# All previous logging options are combined into a single
#!!# option in Exim 4. This setting is an approximation to
#!!# the previous state - some logging has changed.

log_selector =  \
              +address_rewrite \
              +smtp_confirmation \
              +tls_cipher \
              +tls_peerdn

######################################################################
#                  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) 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.



######################################################################
#                    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 = phoenix.infradead.org


# 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 = infradead.org

# 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 = infradead.org


# 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.



# 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.

# local_domains_include_host_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
received_headers_max = 100

gecos_name = "$1"
gecos_pattern = "^([^,]*),"


# 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.

# >> Option rewritten by convert4r3
host_lookup = 0.0.0.0/0


# 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 following line will make Exim reject mail from any
# host whose IP address is blacklisted in the RBL at maps.vix.com.


#rbl_domains = "	blackholes.mail-abuse.org : \
#		relays.mail-abuse.org"
# : \
#		inputs.orbs.org/reject : \
#		delayed-outputs.orbs.org/reject : \
#		manual.orbs.org/reject : \
#		spamsources.orbs.org/reject : \
#		spamsource-netblocks.orbs.org/reject : \
#		outputs.orbs.org/warn : \
#		untestable-netblocks.orbs.org/warn"

#prohibition_message = "Contact postmaster@infradead.org for more information"
# >> Option rewritten by convert4r3
#rbl_hosts = "! 10.0.0.0/8 : \
#    ! 194.177.174.245/32 : \
#    ! 199.203.219.2/32 : \
#    ! 193.13.178.2 : \
#    ! 202.108.126.193 : \
#    ! 202.108.126.195 : \
#    *"

# The setting below locks out the use of your host as a mail relay by any
# other host. If you want to permit relaying through your host from certain
# hosts or IP networks, you need to vary this option and/or make use of the
# other three options in the set sender_{host,net}_{accept,reject}_relay.
# See the section of the manual entitled "Control of relaying" for more info.
# Removing this setting altogether is not recommended, because there are many
# unscrupulous people out there who will make use of open relays to try to
# disguise the source of unsolicited bulk mail.

# >> Option rewritten by convert4r3



# 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 = *

# This emulates sendmails "newaliases". Keep in mind that the alias
# transport does use lsearch by default. remember to change this,
# if you want to use DBM-Lookups.

bi_command = /usr/bin/newaliases
trusted_users = mail:dwmw2
accept_8bitmime
#!!# remote_sort renamed remote_sort_domains
remote_sort_domains = cygnus.co.uk : \
    imladris.demon.co.uk : \
    redhat.com
tls_advertise_hosts = *
tls_certificate = /usr/share/ssl/certs/exim.pem
tls_privatekey = /usr/share/ssl/certs/exim.pem
deliver_queue_load_max = 10
queue_only_load = 10

#!!#######################################################!!#
#!!# This new section of the configuration contains ACLs #!!#
#!!# (Access Control Lists) derived from the Exim 3      #!!#
#!!# policy control options.                             #!!#
#!!#######################################################!!#

#!!# These ACLs are crudely constructed from Exim 3 options.
#!!# They are almost certainly not optimal. You should study
#!!# them and rewrite as necessary.

begin acl

#!!# ACL that is used after the RCPT command
check_recipient:
  # Exim 3 had no checking on -bs messages, so for compatibility
  # we accept if the source is local SMTP (i.e. not over TCP/IP).
  # We do this by testing for an empty sending host field.
  accept  hosts = <; 2002:d556:63ea::1 ; 213.86.99.235
  accept  recipients = postmaster@infradead.org : \
      postmaster@imladris.demon.co.uk : \
      postmaster@slowglass.com : \
      postmaster@memalpha.cx : \
      rhw@memalpha.cx : \
      dwmw2-rblexcept@* : \
      postmaster@* : \
      jlm@* : \
      jlm30@* : \
      Jonathan.Miller@* : \
      carimsa@* : \
      cjd@* : \
      postmaster@*

begin rewrite

*@localhost                             ${1}@infradead.org              fsrF

*@infradead.org          \
        ${lookup{$1}lsearch{/etc/exim/addresses}{$value}fail}           fsrF


# Rewrite dwmw2@wherever to dwmw2@cam.ac.uk ?
#dwmw2@*                                 dwmw2@infradead.org       fsrF

root@Gateway.HavenHigh.LAN		rhw@memalpha.cx			fsrFtT 
root@gateway.havenhigh.lan		rhw@memalpha.cx			fsrFtT 

# End of Exim configuration file
riel@duckman.distro.conectiva	riel@conectiva.com.br	Tt

mtd-cvs@infradead.org	linux-mtd-cvs@lists.infradead.org Ttc
mtd@infradead.org	linux-mtd@lists.infradead.org Ttc

#!!#######################################################!!#
#!!# Here follow routers created from the old routers,   #!!#
#!!# for handling non-local domains.                     #!!#
#!!#######################################################!!#

begin routers




######################################################################
#                      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 = dnslookup
  domains = ! +local_domains
  transport = remote_smtp


# This router routes to remote hosts over SMTP by explicit IP address,
# given as a "domain literal" in the form [nnn.nnn.nnn.nnn]. The RFCs
# require this facility, which is why it is enabled by default in Exim.
# If you want to lock it out, set forbid_domain_literals in the main
# configuration section above.

literal:
  driver = ipliteral
  domains = ! +local_domains
  transport = remote_smtp
  no_more



#!!#######################################################!!#
#!!# Here follow routers created from the old directors, #!!#
#!!# for handling local domains.                         #!!#
#!!#######################################################!!#



######################################################################
#                      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.

# Modification by Florian Wallner <wallner@speed-link.de> use dbm
# lookups for aliases to speed up and simulate Sendmail behaviour

#aliasfile:
#  driver = aliasfile
#  file = /var/spool/exim/db/aliases
#  search_type = dbm
# user = mail  

system_aliases:
  driver = redirect
  allow_defer
  allow_fail
  data = ${lookup{$local_part}lsearch{/etc/aliases}}
  file_transport = address_file
  pipe_transport = address_pipe
  retry_use_local_part
  user = mail
# >> Option added by convert4r3
# >> Option added by convert4r3

#majordomo_aliases:
#  driver = aliasfile
## >> Option added by convert4r3
#  file_transport = address_file
## >> Option added by convert4r3
#  pipe_transport = address_pipe
#  file = /var/lib/majordomo/aliases
#  search_type = lsearch
# user = mail

cjd_aliases:
  driver = redirect
  allow_defer
  allow_fail
  data = ${lookup{$local_part}lsearch{/home/cjd/aliases}}
  file_transport = address_file
  pipe_transport = address_pipe
  retry_use_local_part
  user = mail
# >> Option added by convert4r3
# >> Option added by convert4r3


# 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 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.

userforward:
#!!# check_group option removed
#!!# filter renamed allow_filter
  driver = redirect
  allow_filter
  check_ancestor
  check_local_user
  no_expn
  file = $home/.forward
  file_transport = address_file
  initgroups
  modemask = 002
  pipe_transport = address_pipe
  reply_transport = address_reply
  skip_syntax_errors
  syntax_errors_text = "\
    This is an automatically generated message. An error has been \
    found\nin your .forward file. Details of the error are reported \
    below. While\nthis error persists, messages addressed to you will \
    get delivered into\nyour normal mailbox and you will receive a \
    copy of this message for\neach one."
  syntax_errors_to = real-$local_part@$domain
  no_verify

# >> Option added by convert4r3
# >> Option added by convert4r3
# >> Option added by convert4r3

# Modification by Florian Wallner <wallner@speed-link.de> make use of
# procmail as director if a user has a .procmailrc to avoid breaking
# something that worked before.  
                                    
procmail:
  no_verify
  driver = accept
  check_local_user
  require_files = ${local_part}:${home}/.procmailrc
  transport = procmail

# This director matches local user mailboxes.

real_localuser:
#!!# prefix renamed local_part_prefix
  driver = accept
  check_local_user
  local_part_prefix = real-
  transport = local_delivery

localuser:
  driver = accept
  check_local_user
  transport = local_delivery

#virtual:
#  driver = smartuser
#  new_address = imladris.postmaster@mvhi.com


## Added for RM Mailling list
list_managers:
#!!# suffix renamed local_part_suffix
#!!# forbid_filter_run added because forbid_pipe is set
  driver = redirect
  no_check_local_user
  errors_to = Postmaster@$domain
  file = /etc/exim/lists/$domain/${local_part}-managers
  forbid_file
  forbid_filter_run
  forbid_pipe
  local_part_suffix = -request
  retry_use_local_part

#list_multipart:
#      require_files = /etc/exim/lists/$domain/${local_part}-users
#      condition = ${if match {${lc:$header_content-type:}} {multipart/alternative} {yes}}
#      driver = smartuser
#      transport = lists_multipart_complain



list:
#!!# forbid_filter_run added because forbid_pipe is set
  driver = redirect
  no_check_local_user
  errors_to = ${local_part}-request@$domain
  file = /etc/exim/lists/$domain/${local_part}-users
  forbid_file
  forbid_filter_run
  forbid_pipe
  #headers_add = "Reply-To: <${local_part}@slowglass.com>\n"
  #headers_remove = "reply-to:resent-to:resent-reply-to"
  require_files = /etc/exim/lists/$domain/${local_part}-managers
  retry_use_local_part
                                                                    



######################################################################
#                      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.

begin transports

remote_smtp:
  driver = smtp
#  interface = 194.205.184.45
#  hosts_avoid_tls = 195.224.55.225:195.224.55.226
#  fallback_hosts = "mail.insnet.net"

# This transport is used for local delivery to user mailboxes. 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.

# Modification by Florian Wallner <wallner@speed-link.de> make use of
# procmail as director if a user has a .procmailrc to avoid breaking 
# something that worked before.

procmail:
  driver = pipe
  command = "/usr/bin/procmail -d ${local_part}"
# from_hack
                                               
local_delivery:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  file = /var/spool/mail/${local_part}
  group = mail
  mode = 0660
  return_path_add


# This transport is used for handling pipe addresses generated by alias
# or .forward files. It has a conventional name, since it is not actually
# mentioned elsewhere in this configuration file. (A different name *can*
# be specified via the "address_pipe_transport" option if you really want
# to.) 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 if you
# want this to happen only when the pipe fails to complete normally.

address_pipe:
  driver = pipe
  return_output


# This transport is used for handling file addresses generated by alias
# or .forward files. It has a conventional name, since it is not actually
# mentioned elsewhere in this configuration file.

address_file:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add


# This transport is used for handling file addresses generated by alias
# or .forward files if the path ends in "/", which causes it to be treated
# as a directory name rather than a file name. Each message is then delivered
# to a unique file in the directory. If instead you want all such deliveries to
# be in the "maildir" format that is used by some other mail software,
# uncomment the final option below. If this is done, the directory specified
# in the .forward or alias file is the base maildir directory.
#
# Should you want to be able to specify either maildir or non-maildir
# directory-style deliveries, then you must set up yet another transport,
# called address_directory2. This is used if the path ends in "//" so should
# be the one used for maildir, as the double slash suggests another level
# of directory. In the absence of address_directory2, paths ending in //
# are passed to address_directory.

address_directory:
#!!# prefix renamed message_prefix
#!!# suffix renamed message_suffix
#!!# no_from_hack replaced by check_string
  driver = appendfile
  check_string = 
  delivery_date_add
  envelope_to_add
  message_prefix = ""
  message_suffix = ""
  return_path_add
# maildir_format


# This transport is used for handling autoreplies generated by the filtering
# option of the forwardfile director. It has a conventional name, since it
# is not actually mentioned elsewhere in this configuration file.

address_reply:
  driver = autoreply


# Added for rm mailing list
lists_multipart_complain:
  driver = autoreply
  cc = cjd@slowglass.com
  subject = "Content-type: multipart/alternative prohibited on list $local_part"
  text = "You attempted to send a multipart message to $local_part@slowglass.com.\n\
This is probably a result of misconfiguring your mailer to send HTML mail.\n\
Please ask your computer support staff to correct the problem.\n"
  user = exim





######################################################################
#                      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
# ------               -----       -------


begin retry

*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,8h


# End of Exim 4 configuration
