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

Reply via email to