Ismail YENIGUL wrote:
Hi Darek,

Did you check  open_smtp_relay() function in vpopmail.c

If you use this function also you can also remove the IP address of
the user from the tcp.smtp.cdb after a certain time-period (timeout) by 
modifying the
tcp.smtp files (tcp.smtp, open-smtp, tcp.smtp.cdb etc) in clearopensmtp.c


/************************************************************************/
#ifdef POP_AUTH_OPEN_RELAY
/* This function is used to grab the user's ip address
 * and add it to the ip's that are allowed to relay mail
 * through this server.
 *
 * For mysql backend, the ip is added to the relay table
 * For cdb backend, the ip is added to the ~vpopmail/etc/open-smtp file
 *
 * Then the update_rules() function is called which
 * combines the tcp.smtp rules with the relay-table/open-smtp rules
 * to build a new tcp.smtp.cdb file for tcpserver to use
 *
 * This function is called after a successful pop-auth by vchkpw,
 * (assuming that roaming users are enabled)
 */
int open_smtp_relay()
{
...
}

Thanks for the tip. Looks like it might be workable, though it uses TCPREMOTEIP from the environment, and I don't know much about the inner workings of tcpserver, so I'll probably have to cut the function out and rewrite it to accept the IP as the argument.

Darek

Reply via email to