Regid Ichira
2012-May-22 16:36 UTC
[Pkg-exim4-users] conf.d/router/200*: redundant no_more + non accurate comment?
Consider the no_more director in the default smarthost router:
$ grep -A15 smarthost: /etc/exim4/conf.d/router/200_exim4-config_primary
smarthost:
debug_print = "R: smarthost for $local_part@$domain"
driver = manualroute
domains = ! +local_domains
transport = remote_smtp_smarthost
route_list = * DCsmarthost byname
host_find_failed = defer
same_domain_copy_routing = yes
no_more
.endif
# The "no_more" above means that all later routers are for
# domains in the local_domains list, i.e. just like Exim 3 directors.
$
I think the following quote applies here too. Therefore, the no_more director
has no effect. It is redundant. Conseaquently, it may be generally like the
Exim 3 director, but here it does not have that significance.
Does it warrants a bug report against exim4-config?
$ zgrep -A34 ''* The manualroute router''
/usr/share/doc/exim4-base/spec.txt.gz
* The manualroute router can be used to forward all external mail to a smart
host. If you have set up, in the main part of the configuration, a named
domain list that contains your local domains, for example:
domainlist local_domains = my.domain.example
You can arrange for all other domains to be routed to a smart host by
making your first router something like this:
smart_route:
driver = manualroute
domains = !+local_domains
transport = remote_smtp
route_list = * smarthost.ref.example
This causes all non-local addresses to be sent to the single host
smarthost.ref.example. If a colon-separated list of smart hosts is given,
they are tried in order (but you can use hosts_randomize to vary the order
each time). Another way of configuring the same thing is this:
smart_route:
driver = manualroute
transport = remote_smtp
route_list = !+local_domains smarthost.ref.example
There is no difference in behaviour between these two routers as they
stand. However, they behave differently if no_more is added to them. In the
first example, the router is skipped if the domain does not match the
domains precondition; the following router is always tried. If the router
runs, it always matches the domain and so can never decline. Therefore,
no_more would have no effect. In the second case, the router is never
skipped; it always runs. However, if it doesn''t match the domain,
it
declines. In this case no_more would prevent subsequent routers from
running.
$
Marc Haber
2012-May-22 16:56 UTC
[Pkg-exim4-users] conf.d/router/200*: redundant no_more + non accurate comment?
On Tue, May 22, 2012 at 09:36:48AM -0700, Regid Ichira wrote:> I think the following quote applies here too. Therefore, the no_more director > has no effect. It is redundant. Conseaquently, it may be generally like the > Exim 3 director, but here it does not have that significance. > Does it warrants a bug report against exim4-config?Upstream''s dnslookup router, which is smarthost''s counterpart in a non-smarthost situation, has set no_mode. I think that the Debian package will not change what upstream feels is right. I would therefore suggest that you take your issue upsteam; we are probably going to adapt ourself once upstream has adopted your suggestion. Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don''t trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 31958061 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 31958062
Regid Ichira
2012-May-23 00:38 UTC
[Pkg-exim4-users] conf.d/router/200*: redundant no_more + non accurate comment?
--- On Tue, 5/22/12, Marc Haber wrote:> On Tue, May 22, 2012 at 09:36:48AM -0700, Regid Ichira wrote: > >???I think the following quote applies here too.? Therefore, the no_more director > > has no effect.? It is redundant.? Consequently, it may be generally like the > > Exim 3 director, but here it does not have that significance. > >???Does it warrants a bug report against exim4-config? > > Upstream''s dnslookup router, which is smarthost''s counterpart in a > non-smarthost situation, has set no_mode.Are you referring to $ zgrep -A6 dnslookup: /usr/share/doc/exim4-base/examples/example.conf.gz dnslookup: driver = dnslookup domains = ! +local_domains transport = remote_smtp ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 no_more $ ?> I think that the Debian package will not change what upstream feels is right. > > I would therefore suggest that you take your issue upsteam; we are > probably going to adapt ourself once upstream has adopted your suggestion. >
Marc Haber
2012-May-23 07:03 UTC
[Pkg-exim4-users] conf.d/router/200*: redundant no_more + non accurate comment?
On Tue, May 22, 2012 at 05:38:05PM -0700, Regid Ichira wrote:> Are you referring to > > $ zgrep -A6 dnslookup: /usr/share/doc/exim4-base/examples/example.conf.gz > dnslookup: > driver = dnslookup > domains = ! +local_domains > transport = remote_smtp > ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 > no_more > > $ > > ?Yes. We''re using a very similiar one. Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don''t trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 31958061 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 31958062
Regid Ichira
2012-May-23 17:09 UTC
[Pkg-exim4-users] conf.d/router/200*: redundant no_more + non accurate comment?
--- On Wed, 5/23/12, Marc Haber wrote:> -0700, Regid Ichira wrote: > >???Are you referring to > > > >? ???$ zgrep -A6 dnslookup: > /usr/share/doc/exim4-base/examples/example.conf.gz > >? ???dnslookup: > >? ? ???driver = dnslookup > >? ? ???domains = ! +local_domains > >? ? ???transport = remote_smtp > >? ? ???ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 > >? ? ???no_more > > > >? ???$ > > > > ? > > Yes. We''re using a very similiar one. >I asked about nonlocal and dnslookup routers, that are mostly copied from Debian''s routers, on https://lists.exim.org/lurker/message/20120523.100347.59630bbc.en.html. Phil Pennock answered. I didn''t raise the exact same concerns that I raised here, but the issues are close. I suggest to continue this thread on exim-users. I don''t post this message on exim-users because I think Phil answer is where the discusssion should continue. The points I had in mind before reading Phil''s answer are: I think the first thing to notice is that no_more should be considered only when a router declines. Now upstream''s dnslookup router can decline: $ zgrep -A5 ''by setting$'' /usr/share/doc/exim4-base/spec.txt.gz \ | grep -C3 ignore_target_hosts -- by setting ignore_target_hosts = 127.0.0.1 on the relevant router. If all the hosts found by a dnslookup router are discarded in this way, the router declines. In a conventional configuration, an $ In contrast, debian''s dnslookup router can not decline. It has no ignore_target_hosts line. Although the routers are different, I think the discussion at $ zgrep -A34 ''* The manualroute router'' \ /usr/share/doc/exim4-base/spec.txt.gz | tail -10 about the decline of a router actually applies to this message. I also think that debian''s nonlocal default router has the same issue.
Regid Ichira
2012-May-24 00:23 UTC
[Pkg-exim4-users] https://lists.exim.org/lurker/message/20120523.100347.59630bbc.en.html (without a period)
--- On Wed, 5/23/12, Regid Ichira wrote:> https://lists.exim.org/lurker/message/20120523.100347.59630bbc.en.html.A minor fix for my previous message: I get an error when clicking the URL when viewing the message in the list archive. I don''t know if that is the list software, or my browser. The problem is the period at the end. For an end of sentence. To not have to send another message, the URL is: https://lists.exim.org/lurker/message/20120523.100347.59630bbc.en.html
Andreas Metzler
2012-May-27 12:09 UTC
[Pkg-exim4-users] conf.d/router/200*: redundant no_more + non accurate comment?
Regid Ichira <regid23 at yahoo.com> wrote: [...]> I think the first thing to notice is that no_more should be considered only > when a router declines. Now upstream''s dnslookup router can decline:[...]> In contrast, debian''s dnslookup router can not decline. It has no > ignore_target_hosts line.[...] You''ve lost me here, the router named dnslookup very much has as an ignore_target_hosts line in Debian''s configuration. dnslookup: debug_print = "R: dnslookup for $local_part@$domain" driver = dnslookup domains = ! +local_domains transport = remote_smtp same_domain_copy_routing = yes # ignore private rfc1918 and APIPA addresses ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\ 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\ 255.255.255.255 no_more cu andreas
Regid Ichira
2012-May-28 23:04 UTC
[Pkg-exim4-users] conf.d/router/200*: redundant no_more + non accurate comment?
--- On Sun, 5/27/12, Andreas Metzler wrote:> Regid Ichira wrote: > [...] > >? I think the first thing to notice is that no_more > should be considered only > > when a router declines.? Now upstream''s dnslookup > router can decline: > [...] > > In contrast, debian''s dnslookup router can not > decline.? It has no > > ignore_target_hosts line. > [...] > > You''ve lost me here, the router named dnslookup very much > has as an > ignore_target_hosts line in Debian''s configuration. >1. My mistake: dnslookup_relay_to_domains, not dnslookup. 2. If I understood upstream reply, both dnslookup and dnslookup_relay_to_domains might decline.