Project

General

Profile

Actions

Bug #1352

closed

TcpChannel listening on IPv6 endpoint should not accept IPv4 address

Added by Junxiao Shi over 10 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Category:
Faces
Target version:
Start date:
03/13/2014
Due date:
% Done:

100%

Estimated time:
1.00 h

Description

Steps to reproduce:

  1. tcpFactory->createChannel("::", 6363)
  2. telnet 127.0.0.1 6363

Expected: connection refused

Actual: connected


RFC4291 defines IPv4-Mapped IPv6 Address.

In linux and OSX , bind(2) on a IPv6 endpoint would accept both IPv6 and IPv4 addresses.

In FreeBSD, IPv4-Mapped IPv6 Address is disabled by default.

FaceManager::processSectionTcp creates IPv4 and IPv6 TCP channels separately.

When IPv6 channel wants to accept IPv4 connection, it leads to port number conflict.

TcpChannel::listen should set ip::v6_only option to true for IPv6 address.

Actions

Also available in: Atom PDF