Hi,
I am running qmail-1.03 with qmailldap-20010501 patch on RedHat 6.2 Linux. I
encountered a strange behavior in the qmail-ldap-20010501 patch. When I send
a message from my mail system in office to my testing server, I got the
following error. The system seem to treat my incoming message as relay.
Sent >>> RCPT TO:<[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> >
Received <<< 553 sorry, that domain isn't in my list of allowed rcpthosts
(#5.7.1)
Could not deliver mail to this user.
***************** End of message ***************
My /etc/tcp.smtp file:
127.:allow,RELAYCLIENT=""
203.198.7.:allow,RELAYCLIENT=""
203.99.142.:allow,RELAYCLIENT=""
168.70.97.:allow,RELAYCLIENT=""
My /var/qmail/control/rcpthosts:
smtweb.netvigator.com
This also happen when remove the address 203.198.7.:allow,RELAYCLIENT=""
and telnet to localhost 25. I got the above error message as well. Any
comments?
K. F. Yim
----------
From: Claudio Jeker [SMTP:[EMAIL PROTECTED]]
Sent: Wednesday, May 30, 2001 1:29 AM
To: [EMAIL PROTECTED]
Subject: Re: Bug when sending to @domain.tld?
On Tue, May 29, 2001 at 09:33:12AM +0700, Metee Khanongnuch wrote:
> qmail-ldap-1.03-20010501.patch (and old patch) has something
incorrect.
> It swap condition between line 12486 and line 12488
>
>
> Line : 12486
> + if (!addr.s[0] || !str_diff("#@[]", addr.s)) /* if
(!addr.s[0]) */
> <--- This should be line 12488
> + {
> + if (!str_diff("NOBOUNCE", denymail))
> <--- This should be line 12486
> + {
> + why = "refused to accept RFC821 bounce from remote";
> + flagbarf=1;
> + }
> + }
> + else
>
>
> The correct code as following.
>
> Line : 12486
> + if (!str_diff("NOBOUNCE", denymail))
> + {
> + if (!addr.s[0] || !str_diff("#@[]", addr.s)) /* if
(!addr.s[0]) */
> + {
> + why = "refused to accept RFC821 bounce from remote";
> + flagbarf=1;
> + }
> + }
> + else
>
The two sollutions (original and your patch) are equal.
The logic is: if NOBOUNCE and ("no fromaddr" or "fromaddr = #@[]")
then
deny.
It doesn't matter if you check for NOBOUNCE or for
(!addr.s[0] || !str_diff("#@[]", addr.s)) first.
It is also possible to write all on one line:
if ( ( !addr.s[0] || !str_diff("#@[]", addr.s) ) &&
!str_diff("NOBOUNCE", denymail) ) {
why = "refused to accept RFC821 bounce from remote";
flagbarf=1;
}
The bug has to be somewhere else.
--
later
Claudio
mailto:[EMAIL PROTECTED]
application/ms-tnef