Package: sympa
Version: 5.3.3-5
Followup-For: Bug #169102

The bug is still present although the paths to resolution seem to be a bit 
clearer.

If nothing changes to the way the sympa aliases are created in /etc/aliases and 
/etc/mail/sympa.aliases in the packaging, I think the following piece could be 
detailed enough to help an administrator setup some basic exim4 config.

Other options could also be documented of course, like the specific transports 
definitions proposed by Eric Deplagne, which no longer require aliases.

Until some agreement is reached on the best way to do the configuration 
(automatic or not), I suggest to improve the docs in the following way.

Hope this helps,

Best regards,

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.22-3-vserver-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages sympa depends on:
ii  adduser                       3.105      add and remove users and groups
ii  debconf [debconf-2.0]         1.5.17     Debian configuration management sy
ii  exim4-daemon-light [mail-tran 4.68-2     lightweight Exim MTA (v4) daemon
pn  libarchive-zip-perl           <none>     (no description available)
ii  libc6                         2.6.1-1+b1 GNU C Library: Shared libraries
pn  libcgi-fast-perl              <none>     (no description available)
pn  libcrypt-ciphersaber-perl     <none>     (no description available)
ii  libdbd-mysql-perl             4.005-1    A Perl5 database interface to the 
ii  libdbi-perl                   1.601-1    Perl5 database interface by Tim Bu
ii  libfcgi-perl                  0.67-2     FastCGI Perl module
ii  libintl-perl                  1.16-3     Uniforum message translations syst
ii  libio-stringy-perl            2.110-2    Perl5 modules for IO from scalars 
ii  libmailtools-perl             1.77-1     Manipulate email in perl programs
pn  libmd5-perl                   <none>     (no description available)
ii  libmime-perl                  5.420-2    Perl5 modules for MIME-compliant m
pn  libmsgcat-perl                <none>     (no description available)
pn  libnet-ldap-perl              <none>     (no description available)
pn  libtemplate-perl              <none>     (no description available)
ii  libxml-libxml-perl            1.63-1.1   Perl module for using the GNOME li
pn  mhonarc                       <none>     (no description available)
ii  perl [libmime-base64-perl]    5.8.8-12   Larry Wall's Practical Extraction 
pn  perl-suid                     <none>     (no description available)
ii  sysklogd [system-log-daemon]  1.5-1      System Logging Daemon

Versions of packages sympa recommends:
ii  doc-base                      0.8.6      utilities to manage online documen
ii  logrotate                     3.7.1-3    Log rotation utility
-- Sympa and Exim4 : manual configuration required

Most Debian users will probably have installed exim4 as the default
MTA.  

Unfortunately the default configuration of Exim4 will not allow
Sympa to work completely as it is configured at the moment (see bug
#169102) :

And no automatic configuration of exim4 is done by Sympa either, so
you will have to do it manually.

Two problems exist at the present time :

1) The 'sympa' and 'sympa-*' aliases defined in /etc/aliases
are using pipes but that's disabled in exim4 configuration in Debian
(see "2.9. Using more complex deliveries from alias files" in
/usr/share/doc/exim4-base/README.Debian.gz)

It is then advised to check /var/log/exim4/mainlog for potential errors
after Sympa has been installed.
The symptoms for pipe transport not working looks like :
 == |/usr/lib/sympa/bin/queue sympa <[EMAIL PROTECTED]> R=system_aliases defer 
(-30): pipe_transport unset in system_aliases router

One easy way to fix this problem is to enable pipes in /etc/aliases,
even though it may lead to security risks (note that the author of the
present guidelines is no exim4 specialist, so there may be better ways
to do so).
We will provide guidelines on how to enable those pipes in
/etc/aliases, but YOU MAY ONLY APPLY THEM AT YOUR OWN RISKS.


2) The mailing lists aliases are created by alias_manager (see
'Automatic mailing-lists alias management' bellow) in
/etc/mail/sympa.aliases, but Exim has no clue it has to use
/etc/mail/sympa.aliases to find lists alias there.

A solution can be to add a 'router' in the configuration similar to
the one for /etc/aliases. Other solutions exist, no longer relying on
/etc/mail/sympa.aliases pipe aliases, but which won't be detailed here.


There are many options for configuration of Exim4. See
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=169102 for discussion
on such options and also http://www.sympa.org/wiki/faq/exim)


Depending on the way Exim4 is configured, different steps are
necessary. Exim4 can be installed either with "non-split"
configuration, which means that the file
/etc/exim4/exim4.conf.template is used as a template for the Exim4
configuration, or in "split configuration", which means that the
contents of the files in /etc/exim4/conf.d/ are used as model for its
configuration.

---- Configuring pipe aliases for Exim4 in "non-split" mode

1) pipe transport for system aliases (aliases in /etc/aliases)

The administrator will have to modify /etc/exim4/exim4.conf.template,
by adding the following macro definition (somewhere near the start of
the file, for instance between "end main/01_exim4-config_listmacrosdefs" and
"main/02_exim4-config_options" comments blocks) :

# Activating pipe transport in system_aliases router (pipes in /etc/aliases)
.ifndef SYSTEM_ALIASES_PIPE_TRANSPORT
SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe
.endif
.ifndef SYSTEM_ALIASES_USER
SYSTEM_ALIASES_USER = sympa
.endif
.ifndef SYSTEM_ALIASES_GROUP
SYSTEM_ALIASES_GROUP = sympa
.endif


This will define 'address_pipe' as the transport for the
'system_aliases' router (which handles /etc/aliases in which the
'sympa' alias is defined).

2) new router for lists aliases (pipe aliases in /etc/mail/sympa.aliases)

The following snippet should be added right bellow the
'system_aliases' definition :

# Using alias pipe definitions for the Sympa lists in /etc/mail/sympa.aliases
sympa_aliases:
  debug_print = "R: system_aliases for [EMAIL PROTECTED]"
  driver = redirect
  domains = +local_domains
  allow_fail
  allow_defer
  data = ${lookup{$local_part}lsearch{/etc/mail/sympa.aliases}}
  user = sympa
  group = sympa
  pipe_transport = address_pipe


Once /etc/exim4/exim4.conf.template is modified you will need to run
the '/usr/sbin/update-exim4.conf' command (man 8 update-exim4.conf) to
apply the template changes to the current exim config.


---- Configuring pipe aliases for Exim4 in "split" mode

1) pipe transport for system aliases (aliases in /etc/aliases)

The administrator will have to create a file such as
'/etc/exim4/conf.d/main/20_local-config_macros' containing :

# Activating pipe transport in system_aliases router (pipes in /etc/aliases)
.ifndef SYSTEM_ALIASES_PIPE_TRANSPORT
SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe
.endif
.ifndef SYSTEM_ALIASES_USER
SYSTEM_ALIASES_USER = sympa
.endif
.ifndef SYSTEM_ALIASES_GROUP
SYSTEM_ALIASES_GROUP = sympa
.endif

2) new router for lists aliases (pipe aliases in /etc/mail/sympa.aliases)

A file such as '/etc/exim4/conf.d/router/450_local-config_sympa_aliases' should 
be created, containing :

# Using alias pipe definitions for the Sympa lists in /etc/mail/sympa.aliases
sympa_aliases:
  debug_print = "R: system_aliases for [EMAIL PROTECTED]"
  driver = redirect
  domains = +local_domains
  allow_fail
  allow_defer
  data = ${lookup{$local_part}lsearch{/etc/mail/sympa.aliases}}
  user = sympa
  group = sympa
  pipe_transport = address_pipe


Then running the '/usr/sbin/update-exim4.conf' command (man 8
update-exim4.conf) will apply the changes to the current exim config.


Reply via email to