Summary: | Following redirects to non-punycoded domains | ||
---|---|---|---|
Product: | WebKit | Reporter: | Ruslan Kudubayev <ruslan.kudubayev> |
Component: | Page Loading | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | achristensen, ap, beidson, wilander |
Priority: | P2 | ||
Version: | Safari 9 | ||
Hardware: | All | ||
OS: | Unspecified |
Description
Ruslan Kudubayev
2016-08-15 20:19:01 PDT
$ curl -i http://104.197.144.181/punycodetest.php HTTP/1.1 302 Moved Temporarily Date: Tue, 16 Aug 2016 05:44:07 GMT Server: Apache X-Powered-By: PHP/5.6.24 X-Frame-Options: SAMEORIGIN Location: http://кто.рф/eng Content-Length: 0 Content-Type: text/html; charset=UTF-8 Reproduced with shipping Safari on OS X 10.10.5. The Location field is UTF-8 encoded. I suspect that CFNetwork doesn't support that (and I'm not sure if there is anything spec-like that allows for non-ASCII in HTTP response headers). Seems more like a WebKit issue than a CFNetwork one, because the error page in Safari shows the URL correctly decoded. Thanks for taking a look! Is "Page Loading" still the right component? Probably either this or Platform, depending on where the issue ends up being. It doesn't matter very much once the right people are CC'ed. I just verified the following, which leads me to believe that it was something that was fixed in CFNetwork for iOS10 and Sierra. Works correctly, opening http://кто.рф/eng MacOS Sierra, Safari using NSURLSession MacOS Sierra, Safari using NSURLConnection iOS10, MobileSafari using NSURLSession Chrome Firefox Edge Works incorrectly, opening "Safari Can't Find the server" OSX El Capitan, Shipping Safari OSX El Capitan, latest build of WebKit/Safari using NSURLConnection OSX El Capitan, latest build of WebKit/Safari using NSURLSession iOS8, MobileSafari using CFURLConnection iOS9, MobileSafari using CFURLConnection We did fix https://bugs.webkit.org/show_bug.cgi?id=158371 recently although I don't think setHost is involved in HTTP redirects. Thanks! I did also find that iOS beta does not have this issue. Probably ok to close this issue unless you want to spend more time looking for culprit. Fixed, probably by CFNetwork. Thanks for reporting! Reports like this often yield improvements in ways we may have overlooked |