Flashnux

GNU/Linux man pages

Livre :
Expressions régulières,
Syntaxe et mise en oeuvre :

ISBN : 978-2-7460-9712-4
EAN : 9782746097124
(Editions ENI)

GNU/Linux

Debian 4.0

(Etch)

update-exim4.conf(8)


UPDATE-EXIM4.CONF

UPDATE-EXIM4.CONF

NAME
SYNOPSIS
OPTIONS
DESCRIPTION
EXAMPLES
NOTES
REPLACEMENT PATTERNS
CONFIGURATION VARIABLES
RECOMMENDED USAGE
BUGS
FILES
SEE ALSO
AUTHOR

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 the new configuration will be written to /var/lib/exim4/config.autogenerated, update−exim4.conf will check the validity of the freshly generated configuration. If the new file is detected as invalid, update-exim4.conf leaves the old /var/lib/exim4/config.autogenerated untouched and exits with an error.

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.

If the new configuration will be written to some other file, no validity checking occurs and that file will always be overwritten.

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.

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 (and Port) 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 Exim’s main configuration option local_interfaces. If the string contains a semicolon, the string “<;” is prepended to select the semicolon as separator.

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 list, 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 relay_to_domains, a list of domains for which we accept mail from anywhere on the Internet but which are not delivered locally, e.g. because this machine serves as secondary MX for these domains.

dc_relay_nets

A list of machines for which we serve as smarthost. Used to populate the relay_from_hosts list. Please note that 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. If the string given here contains a semicolon, the string “<;” is prepended to select the semicolon as separator.

dc_smarthost

List of hosts to which all outgoing mail is passed to and that takes care of delivering it. Multiple hosts are semicolon 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 unless a different port is specified after the host name, separated from the host name by two colons. Colons in IPv6 addresses need to be doubled. If a port number follows, IP addresses may be enclosed in brackets, which might be the only possibility to specify delivery to an IPv6 address and a different port. Examples:
host.domain.example
deliver to host looked up on DNS, tcp/25
host.domain.example::587
deliver to host looked up on DNS, tcp/587
192.168.2.4
deliver to IPv4 host, tcp/25
192.168.2.4::587
deliver to IPv4 host, tcp/587
[192.168.2.4]::587
deliver to IPv4 host, tcp/587
2001::0db8::f::4::::2
deliver to IPv6 host, tcp/25
[2001::0db8::f::4::::2]::587
deliver to IPv6 host, tcp/587
This is 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.

BUGS

This manual page needs a major re-work. If somebody knows better groff than us and has more experience in writing manual pages, any patches would be greatly appreciated.

FILES

/var/lib/exim4/config.autogenerated

Exim’s main configuration file

/etc/exim4/update-exim4.conf.conf

Configuration file being written by exim4-config maintainer scripts, which may be hand-edited, and is read as input by update-exim4.conf.

SEE ALSO

exim(8), exim4-config_files(5), /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>



update-exim4.conf(8)