bug-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-inetutils] [RFC] [PATCH] inetd: Change protocol semantics in inetd.


From: Guillem Jover
Subject: [bug-inetutils] [RFC] [PATCH] inetd: Change protocol semantics in inetd.conf
Date: Fri, 8 Oct 2010 13:07:13 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

Hi!

There's a release critical bug on Debian's inetutils, but the solution
implies changing the semantics of the protocol entries in inetd.conf,
and I'd like to know if my current approach is acceptable for
upstreaming so that I can go ahead with the fix for the next Debian
release, and ask for it to be accepted by the release team.

The bug makes lots of applications using inetutils-inetd not work as
they get a TCP over IPv6 socket with IPv4 mapped addresses by default
when using "tcp" as protocol (or "udp"), when they do not expect that.

The solution I've implemented is to make tcp and udp IPv4 only, which
is what it should be (for now, for compatibility reasons), otherwise
this breaks too many programs expectations.


For reference all other inetd implementations out there I checked,
currently alias tcp and udp to tcp4 and udp4, and the only difference
is how they treat tcp6 and udp6, either as IPv6 only or supporting IPv4
mapping, and if they provide a means to specify IPv6 only connections or
mapped ones:

 Solaris: http://docs.sun.com/app/docs/doc/816-4554/6maoq023l?l=en&a=view
 OpenBSD: http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&sektion=8
 FreeBSD: http://www.freebsd.org/doc/handbook/network-inetd.html
 AIX: 
http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds3/inetd.htm
 HP-UX: http://docs.hp.com/en/B3921-90010/inetd.conf.4.html
 Irix: 
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=man&fname=/usr/share/catman/a_man/cat1/inetd.z
 QNX: 
http://www.qnx.com/developers/docs/6.3.2/neutrino/utilities/i/inetd.conf.html 


Then I changed tcp6 and udp6 to be v4mapped (with the assumption that
any code prepared to handle IPv6 sockets should be able to handle dual
stack ones), and added tcp6only and udp6only to be IPv6 only connections.
This mimics the behaviour of other inetd implementations with IPv6
support, namely Solaris inetd. But you might prefer a different behaviour,
for example the FreeBSD one of making tcp6/udp6 IPv6 only and adding
tcp46/udp46 for IPv4 mapped addresses.


Attached is the current patch I've applied to inetutils 1.8-1 in
experimental.

thanks,
guillem

Attachment: 0001-inetd-Change-protocol-semantics-in-inetd.conf.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]