[wp-trac] [WordPress Trac] #15936: IPv6 literal support in multisite broken

WordPress Trac noreply at wordpress.org
Sun Dec 23 15:55:28 UTC 2018


#15936: IPv6 literal support in multisite broken
------------------------------------------------+--------------------------
 Reporter:  jmdh                                |       Owner:  jeremyfelt
     Type:  enhancement                         |      Status:  assigned
 Priority:  normal                              |   Milestone:  Future
                                                |  Release
Component:  Networks and Sites                  |     Version:  3.0
 Severity:  major                               |  Resolution:
 Keywords:  has-patch dev-feedback 2nd-opinion  |     Focuses:  multisite
------------------------------------------------+--------------------------

Old description:

> The logic for handling explicit port numbers in wp-includes/ms-
> settings.php is confused by IPv6 literal addresses in URLs as defined by
> RFC 2732.
> It tries to handle the URL as it as if there were a port appended, but
> then fails to strip it off. Incidentally the error message here:
> 'Multisite only works without the port number in the URL.' is untrue,
> since ports are handled (but for only two particular cases, port 80 and
> 443).
>
> The attached patch, against WordPress 3.0.3, fixes both these issues, and
> allows ports other than 80 and 443 to be used with Wordpress, by just
> stripping off the trailing port rather than special-casing the two well-
> known ports, and not incorrectly detecting IPv6 literals as URLs with
> ports in. It also has the advantage of being much more compact.
>
> It may be worth someone thinking through whether the substitution is
> strictly correct with reference to the URL standards, but I'm pretty sure
> that this is an improvement on the current code.
>
> Thanks,
> Dominic.

New description:

 The logic for handling explicit port numbers in wp-includes/ms-
 settings.php is confused by IPv6 literal addresses in URLs as defined by
 RFC 2732.
 It tries to handle the URL as it as if there were a port appended, but
 then fails to strip it off. Incidentally the error message here:
 'Multisite only works without the port number in the URL.' is untrue,
 since ports are handled (but for only two particular cases, port 80 and
 443).

 The attached patch, against WordPress 3.0.3, fixes both these issues, and
 allows ports other than 80 and 443 to be used with WordPress, by just
 stripping off the trailing port rather than special-casing the two well-
 known ports, and not incorrectly detecting IPv6 literals as URLs with
 ports in. It also has the advantage of being much more compact.

 It may be worth someone thinking through whether the substitution is
 strictly correct with reference to the URL standards, but I'm pretty sure
 that this is an improvement on the current code.

 Thanks,
 Dominic.

--

Comment (by spacedmonkey):

 15936.2.diff is a makes the patch a little simpler, so it removes all
 ports numbers when creating a site.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/15936#comment:33>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list