Bug#309792: exim4-config: Rewriting via /etc/email-addresses should be configurable to apply to only non-local mail.

Marc Haber mh+debian-packages at zugschlus.de
Sun Apr 22 20:47:20 UTC 2007


On Thu, May 19, 2005 at 08:11:22AM -0700, Steven E. Harris wrote:
> Supporting this rewrite-only-for-non-local scheme requires that the
> /etc/email-addresses rewrite rule be moved to the transport's
> "headers_rewrite" entry, as suggested in the Exim FAQ (Q0803). I use
> this technique in an older hand-crafted exim.conf on Cygwin and it
> works as desired. I'm just surprised to see that the Debian
> exim4-config package doesn't offer this choice.

The problem is that we already use headers_rewrite and return_path on
transport level to hide the system mailname if the user desires so.
Integrating both features seems to be an, uh, "interesting endeavour".

Thus, this is one more example for an exim FAQ not being easily
integrateable into the packaging.

> There is an optional facility offered now to mask the local host name
> with an alternate "visible" host name. When selected, this option adds
> a headers_rewrite entry to the remote_smtp* transports. This option
> does not support my scheme; my computer is not visible externally and
> is not meant to receive non-local messages directly.

The scheme mentioned here was not implemented by myself, and since my
mail servers are usually on official IP addresses reachable from the
Internet, I do not have a use case for either scheme. I am therefore
somehow at a loss to define what's exim supposed to do in which case.

How is, for example, exim supposed to behave when a local account does
not have an entry in /etc/email-addresses? Is exim supposed to fall
back to the result of the "hide mailname" rewriting, if selected? I
guess that this is the behavior we currently have with the
/etc/email-addresses rewriting done in the rewriting section.

Spelling this behavior out in the transport is a major effort, my
current test setup has like 20 lines of .ifdef, ${if and various
lookups.

> Though I can't provide a patch today for the debconf mechanism, I can
> at least sketch some proposed changes.
> 
>   o For setups that permit non-local outbound mail, ask the user
>     whether he wants per-user rewriting (via /etc/email/addresses),
>     global rewriting (the current "visible host" option), or no
>     rewriting.
>   o If either of the first two rewriting options are chosen above,
>     place an appropriate headers_rewrite entry in each of the
>     remote_smtp* transports.
>   o Remove the current global /etc/email-addresses rewrite rule.
> 
> I found mention of a similar proposal in Bug 229911, but the
> submitter's proposal to limit the /etc/email-addresses rewriting was
> not properly addressed in the discussion that followed.

For starters, the old scheme is going to stay in, but can be disabled
by setting an exim macro from local configuration. The new scheme will
be disabled by default, and can be enabled by setting an exim macro
from local configuration. This way, we can be reasonably sure not to
break existing setups while we investigate whatever consequences the
new scheme has on existing setups.

In no way this is going to get its own debconf question. We are asking
too many questions already. Being easily enabled from local
configuration is the most you're gonna get. Sorry, but you'll have to
touch a text editor to get this scheme enabled.

Greetings
Marc

-- 
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."    Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835




More information about the Pkg-exim4-maintainers mailing list