Bug 39089

Summary: Domain names in Russian '.рф' domain are displayed as punycode
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: Page LoadingAssignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal Keywords: InRadar
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: All   
Attachments:
Description Flags
proposed fix darin: review+

Alexey Proskuryakov
Reported 2010-05-13 14:45:34 PDT
Steps to reproduce: 1. Open http://президент.рф Expected results: address bar shows just this. Actual results: it's converted to punycode. There is no security risk in allowing Cyrillic characters in this TLD - to the contrary, Latin ones aren't allowed per registrar rules. <rdar://problem/7974044>
Attachments
proposed fix (3.18 KB, patch)
2010-05-13 14:48 PDT, Alexey Proskuryakov
darin: review+
Alexey Proskuryakov
Comment 1 2010-05-13 14:48:50 PDT
Created attachment 56027 [details] proposed fix
Darin Adler
Comment 2 2010-05-13 15:03:09 PDT
Comment on attachment 56027 [details] proposed fix r=me I'd like to see more use of early-return so the nesting could be a bit more shallow. Also, we should find a way to make regression tests for this.
Alexey Proskuryakov
Comment 3 2010-05-13 15:33:56 PDT
Some examples of what needs to be tested: shouldBe("presentDomainName('президент.рф')", "'президент.рф'"); shouldBe("presentDomainName('президент.рф.')", "'президент.рф.'"); shouldBe("presentDomainName('www.президент.рф')", "'www.президент.рф'"); shouldBe("presentDomainName('почта.президент.рф')", "'почта.президент.рф'"); shouldBe("presentDomainName('0ж9.рф')", "'0ж9.рф'"); shouldBe("presentDomainName('туда-сюда.рф')", "'туда-сюда.рф'"); shouldBe("presentDomainName('прeзидент.рф')", "'punycode'"); // spoof: Roman "e" shouldBe("presentDomainName('caxap.рф')", "'punycode'"); // spoof: all characters in "caxap" are Roman
Alexey Proskuryakov
Comment 4 2010-05-13 15:43:10 PDT
Note You need to log in before you can comment on or make changes to this bug.