[6bone] Re: Some problems with sendmail, Linux and v6

Jun-ichiro itojun Hagino itojun@iijlab.net
Sat, 18 May 2002 11:44:15 +0900


>> I compiled both Sendmail 8.9.1 with WINE patch and Sendmail 8.12
>> using -DNETINET6 option and I see if I use at the same time the two
>> lines below in sendmail.cf:
>
>> "O DaemonPortOptions=Name=IPv4, Family=inet"         ("O DaemonPortOptions=Family=inet6" in /etc/sendmail6.cf using WINE)
>> "O DaemonPortOptions=Name=IPv6, Family=inet6"       ("O DaemonPortOptions=Family=inet6" in /etc/sendmail6.cf using WINE)
>>
>> I get no runing sendmail, I can only use:
>> "O DaemonPortOptions=Name=IPv4, Family=inet"
>>     or
>> "O DaemonPortOptions=Name=IPv6, Family=inet6"
>>
>> So, I only could have an IPv6 SMTP Server or an IPv4 SMTP Server but
>> never the both running. I had a FreeBSD box, where IPv6 is native
>> and I see that the same configuration have no problems in Free. Do
>> anyone know some specific bug regarding about this configuration
>> above described? Some hint to I overpass it??

	The trouble is caused by the lack of standard for bind(2) behavior,
	when bind(2) to AF_INET and AF_INET6 are made the same port number.
	Linux rejects AF_INET bind(2) after AF_INET6 bind(2).
	therefore, you need to open only a single AF_INET6 socket,
	and expect IPv4 traffic to come in from AF_INET6 socket.
	so the following should make your sendmail to accept both IPv4 and
	IPv6 connections:
>> "O DaemonPortOptions=Name=IPv6, Family=inet6"

	on other platforms, two line configuration ("inet" and "inet6") should
	work fine.

	i really feel sorry for you, and sad about the lack of standard here.

itojun