=================================================================== RCS file: /home/cvs/ds6/chrooted-cvs/cvs/nc6/BUGS,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- nc6/BUGS 2003/01/21 11:26:13 1.6 +++ nc6/BUGS 2003/01/21 14:52:32 1.7 @@ -11,12 +11,17 @@ This isn't intuitive at all and should be fixed. ----------------------------------------------------------------------------- -On some linux systems (and perhaps others), a nc6 listening on all local -addresses, but using IPv6 only (with the -6 option) will still accept -connections from clients using IPv4. This is because these systems don't have -a separate stack for IPv6 and IPv4 - instead simply treating all IPv4 as being -encapsulated within IPv6 - and don't have a way to instruct the kernel to only -accept true IPv6 connections. +On some systems (notably Linux 2.2 and 2.4 without USAGI patches - and probably +many others), an nc6 instance listening on all local addresses, but using only +IPv6 (with the -6 option) will still accept connections from clients using +IPv4. + +This is because these systems have an hybrid IPv4/IPv6 stack which is not +corformant to the latest IETF drafts. So, their stacks simply treat all IPv4 +connections as if they were being encapsulated within IPv6. + +There is actually no way to instruct the kernel to only accept true IPv6 +connections on these systems. $ ./nc6 -4 -v localhost 9876 @@ -29,9 +34,9 @@ [37654] ----------------------------------------------------------------------------- -On the same linux systems (and perhaps others), a nc6 listening on both IPv6 -and IPv4 will report IPv4 client connections using IPv4 mapped IPv6 addresses, -rather than just IPv4. +On the same systems, a nc6 instance listening on both IPv6 and IPv4 will +report IPv4 client connections using IPv4 mapped IPv6 addresses, rather than +just IPv4. $ ./nc6 -4 -v localhost 9876