[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SMTP Bind Address/Virtual Interfaces

On Mon, Jul 10, 2006 at 12:00:03AM -0700, Neal Morgan wrote:
> Greetings all:
> I have experimented some with the suggested scheduler.conf changes to
> specify a bind address for outbound smtp connections.  I find it doesn't
> work as expected when:
> smtp/*.com
> 	maxchannel=199
> 	maxring=8
> 	command="smtp -s -L [] -l ${LOGDIR}/smtpout"
It does sound like the bind() does not happen to that requested
address at all.


Ah, some self-debugging did reveal that there is wrong code.
Mixed call parameter behaviours in different programs, and the  smtp
did fail to get bound-IP due to that.

Now I harmonized call parameters and processing all around, and
also made a test-harness (for debugger use.)

> ...  Further, it doesn't seem to renegotiate that choice again
> until after the scheduler has been restarted - e.g. a change to
> the routes doesn't get noticed until the next zmailer restart.

I really don't understand this one.  The smtp TA programs use (by default)
system defaults when making a new TCP connection.  If those defaults
do change, new connections will use new IP, however existing
connections continue to exist until idle period times out, or
the transport-agent gets pushed to another client that needs
connection to different target server.

> Seems the issue is somewhere in zgetbindaddr or zgetifaddress but I'm a
> little too tired and slow to figure it out now.  Any suggestions on the
> best fix/method to troubleshoot would be appreciated.
> As a side note, smtpserver is perfectly happy binding to my virtual
> interfaces...

Yes.  The code in smtpserver was tested, but the one in  smtp TA had
had some bit-rot...

> Thanks,
> Neal Morgan
/Matti Aarnio	<mea@nic.funet.fi>
To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to majordomo@nic.funet.fi