[Exim] exim 3.952 (testing failure or condition failure, don…

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Richard Welty
日付:  
To: exim-users
題目: [Exim] exim 3.952 (testing failure or condition failure, don't know)
i'm working my way through converting my exim configuration file to workin
3.952, and i've hit one where i'm not sure if i'm looking a condition that
needs to be rewritten for 3.952, or if i'm simply not testing it right.

the scenario is this: i need to hide the majordomo outgoing aliases
(majordomo 1.94.5, not majordomo 2). i've been doing this in exim 3.x by
separating my majordomo director into two separate directors, call them
majordomo_public and majordomo_private. the outgoing addresses are all in
an alias file associated with majordomo_private; the typical exim 3.x
director looks like this:

majordomo_private:
  domains = digest.net
  driver = aliasfile
  file_transport = address_file
  pipe_transport = majordomo_pipe
  file=/etc/exim.d/digest.net-private
  user = majordomo
  search_type = lsearch
  condition = "${if eq {$received_protocol} {local} \
                {true} {false} }"


the condition at the end won't let non-local users send to the outgoing
addresses; i don't have any local users who are interested in spamming the
list, so i've never put in any protection beyond this.

convert4r4 produces this:

majordomo_private:
  driver = redirect
  allow_defer
  allow_fail
  condition = "${if eq {$received_protocol} {local} \
                {true} {false} }"
  data = ${lookup{$local_part}lsearch{/etc/exim.d/digest.net-private}}
  domains = digest.net
  file_transport = address_file
  pipe_transport = majordomo_pipe
  retry_use_local_part
  user = majordomo


the condition is unchanged, and my superficial read of the exim 4 docs
suggests that this is ok. however, here is the pertinent output from a
test, showing condition failure:

[root@krusty-motorsports build-Linux-i386]# ./exim -bt -d all -v bmw-digest-outgoing@???

<much output snipped, until the relevant router is reached>

--------> majordomo_private router <--------
local_part=bmw-digest-outgoing domain=digest.net
checking domains
digest.net in "digest.net"? yes (matched "digest.net")
checking "condition"
majordomo_private router skipped: condition failure

as i recall (it was a while back), this condition was a real bastard to
verify in a standalone manner. does exim -bt do the localhost thing?

i get a similar failure with

./exim -bh 127.0.0.1 -d all -v

giving "helo krusty-motorsports.com" (one of the local domains),
"mail from:<owner-bmw-digest@???>" (a typical mail from:),
"rcpt to:<bmw-digest-outgoing@???>" (a typical rcpt to:)
(pardon the snipping, but the output is voluminous and mostly irrelevant)

which ends with the identical condition failure as the -bt test.

thanks for any help anyone can offer,
   richard
--
Richard Welty
rwelty@???                                 Averill Park Networking
rwelty@???           Unix, Linux, IP Network Engineering, Security
rwelty@???                                     518-573-7592