"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