News for hackers. Stuff that matters.
Re:Hacking GitHub's Auth with Unicode's Turkish Dotless 'I' by gitgud on Monday December 16, 2019 @10:06PM (#21810144)
Well I just tried in the browser console and got:

    'ß'.toUpperCase() // = "SS"
    'ß'.toLowerCase() // = "ß"
Re:Hacking GitHub's Auth with Unicode's Turkish Dotless 'I' by dathinab on Monday December 16, 2019 @10:18PM (#21810203)
Note that Unicode did add a "uppercase-ish" ß, as it does appear in German, but only in context of an all caps word e.g on a sign board, so captilazation of a whole word to SS and that new all caps ß are both correct (not sure if UNICODE changed the capitalization rules or just added that strange all caps ß)
Re:Hacking GitHub's Auth with Unicode's Turkish Dotless 'I' by thristian on Monday December 16, 2019 @10:58PM (#21810384)
For backwards compatibility reasons, the capitalization rules can't be changed for existing characters. So normalizing by naive case-folding now requires at least three steps:

    "ẞ".to_lower() → "ß"
    "ß".to_upper() → "SS"
    "SS".to_lower() → "ss"
(there's a standard for how to compare strings case-insensitively that doesn't involve repeated case-folding, but it's much more complex)
Re:Hacking GitHub's Auth with Unicode's Turkish Dotless 'I' by Pahr3yah on Tuesday December 17, 2019 @11:58AM (#21815544)
Unicode has a dedicated case folding[0][1] (as opposed to upper/lower case mapping) algorithm to cover these cases.

[0] https://www.unicode.org/reports/tr21/tr21-3.html#Caseless%20... [1] http://userguide.icu-project.org/transforms/casemappings#TOC...

Re:Hacking GitHub's Auth with Unicode's Turkish Dotless 'I' by jrochkind1 on Tuesday December 17, 2019 @09:19AM (#21813634)
Wow, I did not know about this weird edge case, interesting, thanks!