Provided by: exim4-config_4.60-3ubuntu3_all bug

NAME

       update-exim4.conf - Generate exim4 configuration files.

SYNOPSIS

       update-exim4.conf     [-v|--verbose]    [-h|--help]    [--keepcomments]
       [--removecomments] [-o|--output file]

OPTIONS

       -v|--verbose
              Enable verbose mode

       -h|--help
              Show short help message and exit

       --keepcomments
              Do not remove comment lines from the output file.

       --removecomments
              Remove comment lines from the output file. [Default]

       -o|--output file
              Write       output       to        file        instead        of
              /var/lib/exim4/config.autogenerated.

       -d|--confdir directory
              Read input from directory instead of /etc/exim4.

DESCRIPTION

       The  script  update-exim4.conf  generates  the main configuration files
       /var/lib/exim4/config.autogenerated for Exim v4 by merging the data  in
       the  template  file  /etc/exim4/exim4.conf.template  or the ones in the
       /etc/exim4/conf.d      directory      tree       respectively       and
       /etc/exim4/update-exim4.conf.conf      to      the      output     file
       /var/lib/exim4/config.autogenerated.

       If dc_use_split_config in /etc/exim4/update-exim4.conf.conf specifies a
       split  configuration, update-exim4.conf processes the /etc/exim4/conf.d
       subdirectories in  the  order  main,  acl,  router,  transport,  retry,
       rewrite  and auth. Within each directory it takes files in lexical sort
       order by file name. It concatenates  all  these  files  and  makes  the
       debconf replacement described below.

       If you are not using split configuration update-exim4.conf concatenates
       /etc/exim4/exim4.conf.localmacros   (if   this   file    exists)    and
       /etc/exim4/exim4.conf.template  (in  this  order) and makes the debconf
       replacement described below.

       In    either    case,    before    outputting     the     result     to
       /var/lib/exim4/config.autogenerated,   update-exim4.conf  replaces  the
       patterns DEBCONFsomethingDEBCONF with the contents of dc_something from
       /etc/exim4/update-exim4.conf.conf.  It  makes  no  other changes.  This
       makes it very simple to make small changes  to  the  configuration  and
       still have the benefits of debconf.

       On  the  other hand if you don’t want to manage exim4.conf with debconf
       install your own handcrafted version  as  /etc/exim4/exim4.conf.   Exim
       will  use  this  file  if  it  exists and ignore the autogenerated one.
       Additionally you might want  to  set  dc_eximconfig_configtype=none  in
       /etc/exim4/update-exim4.conf.conf  to  stop  debconf  from  asking  you
       questions about exim4.

       update-exim4.conf    exits    silently    and    does    nothing     if
       /etc/exim4/exim4.conf  exists  and -o was not used to direct the output
       to a different file than /var/lib/exim4/config.autogenerated.

       update-exim4.conf will only use files in the conf.d directory that have
       a  filename  which  consists  only of letters, numbers, underscores and
       hyphens  ([:alnum:]_-),   similar   to   run-parts(8).    Additionally,
       update-exim4.conf  will  use  /etc/exim4/conf.d/foo/bar.rul  instead of
       /etc/exim4/conf.d/foo/bar if the .rul file exists. This is meant to  be
       helpful for easy interaction with packages extending Exim.

       If  update-exim4.conf  is  called  without the option -o, it checks the
       validity of the freshly generated configuration file and exits with  an
       error.   In   that   case,   the   new   file   is   not  installed  to
       /var/lib/exim4/config.autogenerated.  However, there are still possible
       invalidities  that  can only be detected at run time. This most notably
       applies to errors in expressions that are expanded at run time.

EXAMPLES

       You want to be able to check exim’s queue as normal  user:  Generate  a
       new  file,  e.g. /etc/exim4/conf.d/main/40_local_mailq, containing only
       the line queue_list_requires_admin = false

NOTES

       update-exim4.conf changes the file permissions of the  output  file  to
       the  value  of  the  environment  variable  CFILEMODE.  If CFILEMODE is
       neither set in /etc/exim4/update-exim4.conf.conf nor in the environment
       it  defaults to 0644.  Change this to 0640 if you are keeping sensitive
       information (LDAP credentials et. al.) in there.

FILES

       update-exim4.conf manages these files:

       /var/lib/exim4/config.autogenerated
              Exim’s main configuration file

REPLACEMENT PATTERNS

       update-exim4.conf know about these identifiers:

       DEBCONFconfigtypeDEBCONF
              dc_eximconfig_configtype in /etc/exim4/update-exim4.conf.conf.

       DEBCONFheaders_rewriteDEBCONF
              If the system is configured to hide the system mail  name,  this
              is  replaced  with  a headers_rewrite directive rewriting sender
              addresses from local domains to the visible mail name for use on
              the transport that sends outgoing mail to the smarthost.

       DEBCONFlistenonpublicDEBCONF
              This   is   replaced   with   “local_interfaces   =   <value  of
              dc_local_interfaces>” if dc_local_interfaces is set  to  a  non-
              empty  value.  Otherwise,  it  is replaced with an empty string,
              causing the exim SMTP listener daemon to  listen  on  all  local
              interfaces.

              If  dc_local_interfaces  is  set to a non-empty value, this will
              cause the exim SMTP listener daemon to listen  only  on  the  IP
              addresses listed in the option.

       DEBCONFlocaldeliveryDEBCONF
              is   replaced   by   the   contents   of   dc_localdelivery   in
              /etc/exim4/update-exim4.conf.conf.  It  should  be  set  to  the
              default transport for local delivery, i.e. usually mail_spool or
              maildir_home. It defaults to mail_spool if  dc_localdelivery  is
              unset.

       DEBCONFlocal_domainsDEBCONF
              is  internally generated from the contents of dc_other_hostnames
              in /etc/exim4/update-exim4.conf.conf and localhost.

       DEBCONFminimaldnsDEBCONF
              is replaced  with “DC_minimaldns = 1” if dc_minimaldns is set to
              true and to an empty string otherwise.

       DEBCONFnever_usersDEBCONF
              is  deleted.  (In  versions  prior 4.30-7 it was used to set the
              never_users option.)

       DEBCONFpackageversionDEBCONF
              contains the complete Debian version-number of the  exim4-config
              package.    You    could    use    this    in   smtp_banner   or
              received_header_text.

       DEBCONFreadhostDEBCONF
              corresponds to dc_readhost in  /etc/exim4/update-exim4.conf.conf
              and holds the visible mailname for satellite-systems.

       DEBCONFrelay_domainsDEBCONF
              is   replaced   by   the   contents   of   dc_relay_domains   in
              /etc/exim4/update-exim4.conf.conf

       DEBCONFrelay_netsDEBCONF
              is   replaced   by   the   contents    of    dc_relay_nets    in
              /etc/exim4/update-exim4.conf.conf

       DEBCONFreturn_pathDEBCONF
              If  the  system is configured to hide the system mail name, this
              is replaced with a return_path directive setting the return path
              domain  name  to  the visible mail name for use on the transport
              that sends outgoing mail to the smarthost.

       DEBCONFrewriteemailaddresses_mailnameDEBCONF
              is replaced with this rewriting rule:
              *@mailname   ${lookup   {${local_part}}   lsearch   {/etc/email-
              addresses} {$value} fail } Ffrs
              with mailname being replaced by the contents of /etc/mailname.

       DEBCONFsmarthostDEBCONF
              corresponds to dc_smarthost in /etc/exim4/update-exim4.conf.conf
              and contains the name of the SMTP smarthost that takes  care  of
              outgoing mail.

       DEBCONFvisiblenameDEBCONF
              holds the contents of (the first line of) /etc/mailname

       DEBCONF_hardcode_primary_hostname_DEBCONF
              If dc_minimaldns is set to true update-exim4.conf tries to guess
              the primary hostname using hostname  --fqdn  and  replaces  this
              pattern with “primary_hostname = <guessed value>”.

CONFIGURATION VARIABLES

       update-exim4.conf        evaluates        these       patterns       in
       /etc/exim4/update-exim4.conf.conf:

       CFILEMODE
              The octal file mode of the generated file.

       dc_eximconfig_configtype
              The main configuration type.  One  of  “internet”,  “smarthost”,
              “satellite”, “local”, “exim3manual” or “none”.

       dc_hide_mailname
              Boolean  option  that controls whether the local mailname in the
              headers of outgoing mail should be hidden. (Only  effective  for
              “smarthost” and “satellite”.

       dc_mailname_in_oh
              Internal  use  only Boolean option that is set by the maintainer
              scripts after  adding  the  contents  of  /etc/mailname  to  the
              dc_other_hostnames  list.  This  is a transition helper since it
              wouldn’t otherwise be possible to see whether that  domain  name
              has been removed from dc_other_hostnames on purpose.

       ue4c_keepcomments
              Boolean  option  that  controls whether update-exim4.conf strips
              the comments from the target  configuration  file  (default)  or
              leaves  them  in.  This  can  be  overridden by the command line
              options --keepcomments and --removecomments.

       dc_localdelivery
              name of the default transport for local mail delivery.  Defaults
              to  mail_spool  if  unset,  use  maildir_home  for  delivery  to
              ~/Maildir/. This  setting  does  not  correspond  to  a  Debconf
              question and needs to be set manually.

       dc_local_interfaces
              Used   as   the  value  for  Exims  main  configuration  option
              local_interfaces.

       dc_minimaldns
              Boolean option to activate some option to minimize DNS  lookups,
              if set to “true” a macro DC_minimaldns is defined.

       dc_other_hostnames
              is  used  to  build  the  local_domains  hostlist, together with
              “localhost”.  This is the list of domains for which this machine
              should consider itself the final destination.

       dc_readhost
              For “smarthost” and “satellite” it is possible to hide the local
              mailname in the headers of outgoing mail  and  replace  it  with
              this value instead, using rewriting.

       dc_relay_domains
              is  used  to populate the relay_to_domains domainlist, a list of
              domains for which we accept mail from anywhere on  the  Internet
              but  which  are  not delvered locally, e.g. because this machine
              serves as secondary MX for these domains.

       dc_relay_nets
              A list of machines (hostlist) for which we serve  as  smarthost.
              Used to populate the relay_from_hosts hostlist. Please note that
              in the default configuration, 127.0.0.1  and  ::::1  are  always
              permitted  to  relay since /usr/lib/sendmail is available anyway
              and relay control doesn’t make sense here.

       dc_smarthost
              List of hosts to which all outgoing mail is passed to  and  that
              takes care of delivering it. Multiple hosts are colon separated.
              Each of the hosts is tried, in the  order  specified  (See  exim
              specification,  chapter 20.5). All deliveries go out to TCP port
              25. Specifying different ports is  not  (yet)  possible  due  to
              upstream restrictions. Used as value of the DCsmarthost macro.

       dc_use_split_config
              Boolean  option  that  controls  whether  update-exim4.conf uses
              /etc/exim4/exim4.conf.template (“false”) or the  multiple  files
              below /etc/exim4/conf.d (“true”) as input.

RECOMMENDED USAGE

       If you are running exim as daemon (as it is in the default setup of the
       Debian packages) you should not invoke update-exim4.conf directly  when
       exim  is  running. For SMTP receiving or queue running, exim forks, and
       the new processes would use  the  new  configuration  file,  while  the
       original  main  exim daemon would still use the old configuration file.
       You should use invoke-rc.d exim4 restart instead.

SEE ALSO

       exim(8), /usr/share/doc/exim4-base/ and for general notes  and  details
       about               interaction               with              debconf
       /usr/share/doc/exim4-base/README.Debian.gz

AUTHOR

       Andreas Metzler <ametzler at downhill.at.eu.org> Marc Haber <mh+debian-
       packages@zugschlus.de>