From: Duane Hill (no email)
Date: Tue Feb 27 2007 - 14:35:11 EST
On Tue, 27 Feb 2007, Victor Duchovni wrote:
> On Tue, Feb 27, 2007 at 06:58:21PM +0000, Duane Hill wrote:
>> I wouldn't go this far. I'm in the process of looking at what needs to be
>> done to debug some socket connections and will proceed in attempt to find
>> out what is getting passed when the error occurs. Does Postfix have a log
>> level that will log at a debugging level?
> There is nothing to debug outside the kernel in this case.
> Postfix calls the accept() system call with the usual three arguments:
> int inet_accept(int fd)
> struct sockaddr_in sin;
> SOCKADDR_SIZE len = sizeof(sin);
> return (sane_accept(fd, (struct sockaddr *) & sin, &len));
> via the sane_accept() wrapper than checks for unexpected error codes. The
> kernel returns EINVAL, but "fd" is a "listen" socket and "sin" and "len"
> are valid.
> Is there by any chance IPv6 traffic your system on port 25? Should Postfix
> be using:
> return (sane_accept(fd, 0, 0));
> instead of passing in an unused sockaddr_in?
There shouldn't be any IP6 traffic. I only have two IPs defined on the NIC
as IP4. Nor do I see anything in logs with the IP6 notation.
I trust Postfix is in order. I'm not (nor I hope I haven't) conveyed
otherwise. I have presented the question on the FreeBSD discussion list.
And as Wietse as stated it doesn't cause loss of email. That gives time to
either attempt to find out why it's happening or move to a different OS.