"Michael T. Babcock" wrote:
> 
> I've recently had a problem I haven't seen before (using vpopmail
> 4.9.6-1):
> 
> I got a number of clients who couldn't log into their server all of a
> sudden and the logs were showing an error about an unrecognised response
> involving "tcprules: fatal: unable to parse this line:
> ::ffff:172.16.10.1:allow,RELAYCLIENT="""
> I recognised that vpopmail was obviously adding an invalid entry to the
> relay table, so I checked my MySQL table and sure enough, there was an
> entry to allow relaying from "::ffff:172.16.10.1".  I removed the entry,
> and that fixed it.  That machine is the local server, btw.
> 
> Looking at vmysql.c (or the equivalent for non MySQL entries), shouldn't
> vopen_smtp_relay(), around line 570, have a check to see if the IP
> address is valid?
> 
> I compiled with: ./configure --enable-roaming-users=y --enable-logging=y
> --enable-mysql=y
> 
> --
> Michael T. Babcock (PGP: 0xBE6C1895)
> http://www.fibrespeed.net/~mbabcock/

That's either courier-imap or sqwebmail putting it in. 

We updated the courier-map vpopmail authentication module
to allow allow relaying if it's compiled into vpopmail.

Look in vmysql.c for 
void vopen_smtp_relay()
{
 char *ipaddr;
 time_t mytime;
 int err;

    mytime = time(NULL);
    ipaddr = getenv("TCPREMOTEIP");
    if ( ipaddr == NULL ) {
        return;
    }

    if ( ipaddr != NULL &&  ipaddr[0] == ':') {
        ipaddr +=2;
        while(*ipaddr!=':') ++ipaddr;
        ++ipaddr;
    }

If it doesn't have the last if statement above, add it in,
recompile vpopmail, install it, then recompile courier-imap.

I think that's what is going on.

Ken Jones

Reply via email to