--- Comment #18 from Philippe Verdy <> 2010-10-01 18:50:25 
UTC ---
Note to Allen: your regexp test is too much complex, and not sufficient:

* any occurence of a colon (:) or slash (/) or question mark (?) or number sign
(#) in the hostname should enforce the brackets to be added to surround it.

* and if the hostname already contains brackets anywehere (except at the start
and end only), these characters should be URI-encoded (this may occur in other
transport protocols than IP, such as NetBEUI, possibly also AppleTalk, Token
Ring, and various OSI/ISO transport or link layers).

Yes we know that most networks have adopted the IP protocol, including for
their private LAN (because of the ease of deployment and compatibility with
routers, proxies, tunnel servers, firewalls, and network administration tools,
also because this protocol is the most widely scrutinized one for security and
performance tuning, and supports in the widest range of devices... But these
protocols continue to exist in limited private domains.

There's even a way to reach a server on the link layer only (using an Ethernet
address to enforce the link-local only restriction): an Ethernet address also
typically contains colons (it's a 48-bit address also formatted in hexadecimal
16bit blocks), and such topology does not use any port number (instead it uses
a protocol number).

I know one example of private network where the IP protocol is reimplemented
using a private protocol number over Ethernet, in that case URL formats are
like this:


where "C000:0000:0000" is the Ethernet address, "9999" the private protocol
number used, and 80 is the port number used in that protocol. For this case,
the $_SERVER[SERVER_NAME] contains "C000:0000:0000" (remapped to
"[C000:0000:0000]" in applications), and $_SERVER[SERVER_PORT] contains
"8888:80". To deploy such protocol, one needs to use raw sockets that are
administratively restricted in OSes, so that they will check the protocol
number used (to avoid collisions with IPv4, IPv6, and a few other wellknown
protocols such as ICMP or gateway-to-gateway protocols or router administration
protocols, for which the standard socket layer should be used instead), before
deciding what to do with the rest of the port specification).

Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

Wikibugs-l mailing list

Reply via email to