Claus Aßmann wrote:
>> I haven't really thought about it. A patch should be for the
>> Sendmail's C code or for the cf ?
>
> C.
Perhaps I try it. But I don't know whether the result.
> What's your complete mc file (without the comment lines if there
> are many)?
It was old
submit.mc based on 8.13. I changed it now to current
from sendmail-8.15.2/cf/cf/:
VERSIONID(`$Id:
submit.mc,v 8.15 2013-11-22 20:51:08 ca Exp $')
OSTYPE(`linux')dnl
define(`confCF_VERSION', `Submit')dnl
define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining
define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet
define(`confTIME_ZONE', `USE_TZ')dnl
define(`confDONT_INIT_GROUPS', `True')dnl
FEATURE(`nocanonify')dnl
FEATURE(`msp', `[127.0.0.1]')dnl
> What's the output of:
> sendmail -bt -C /etc/mail/
submit.cf -d8.20
> ${daemon_flags}
> $={Canonify}
> /tryflags hr
> /try relay
x...@gulfish.ru
> -d21.16
> Canonify2 x<@
gulfish.ru>
> /quit
# sendmail -bt -C /etc/mail/
submit.cf -d8.20
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> ${daemon_flags}
Undefined
Trying header recipient address
x...@gulfish.ru for mailer relay
canonify input: x @ gulfish . ru
Canonify2 input: x < @ gulfish . ru >
Canonify2 returns: x < @ gulfish . ru . >
canonify returns: x < @ gulfish . ru . >
2 input: x < @ gulfish . ru . >
2 returns: x < @ gulfish . ru . >
MasqSMTP input: x < @ gulfish . ru . >
MasqSMTP returns: x < @ gulfish . ru . >
final input: x < @ gulfish . ru . >
final returns: x @ gulfish . ru
Rcode = 0, addr =
x...@gulfish.ru
> -d21.16
> Canonify2 x<@
gulfish.ru>
Canonify2 input: x < @ gulfish . ru >
-----trying rule (line 680): $* < @ localhost > $*
----- rule fails
-----trying rule (line 681): $* < @ localhost . fish-king . ru > $*
----- rule fails
-----trying rule (line 682): $* < @ localhost . UUCP > $*
----- rule fails
-----trying rule (line 685): $* < @ [ $+ ] > $*
----- rule fails
-----trying rule (line 686): $* < @ @ $=w > $*
----- rule fails
-----trying rule (line 687): $* < @ @ $+ > $*
----- rule fails
-----trying rule (line 697): $* < @ $* $=P > $*
----- rule fails
-----trying rule (line 698): $* < @ $* $~P > $*
-----rule matches: $: $&{daemon_flags} $| $1 < @ $2 $3 > $4
rewrite: RHS $&{daemon_flags} => "(NULL)"
$1: 0xbfd0a7dc="x"
$2: 0xbfd0a7e2="gulfish" 0xbfd0a7ea="."
$3: 0xbfd0a7ec="ru"
$4:
rewritten as: $| x < @ gulfish . ru >
-----trying rule (line 700): $* $| $* < @ $* $={Canonify} > $*
----- rule fails
-----trying rule (line 702): $* c $* $| $* < @ $* > $*
----- rule fails
-----trying rule (line 703): $* $| $* < @ $+ . > $*
----- rule fails
-----trying rule (line 705): $* $| $* < @ $+ . $+ > $*
-----rule matches: $: $2 < @ $3 . $4 . > $5
$2: 0xbfd0a7dc="x"
$3: 0xbfd0a7e2="gulfish"
$4: 0xbfd0a7ec="ru"
$5:
rewritten as: x < @ gulfish . ru . >
-----trying rule (line 706): $* $| $*
----- rule fails
-----trying rule (line 709): $* < @ $=w > $*
----- rule fails
-----trying rule (line 710): $* < @ $=M > $*
----- rule fails
-----trying rule (line 711): $* < @ $* . . > $*
----- rule fails
Canonify2 returns: x < @ gulfish . ru . >
> /quit
--
Regards, Sergey