Correct problems with IMAP parsing when using Turkish: Bug #714892
When connecting to any IMAP server while the local user's locale is configured to be Turkish, Geary will mis-parse many of the IMAP server's responses, leading to essentially a failed connection due to state issues and more. The problem is that some of the parsing code was using g_utf8_strdown to convert received text to lowercase to perform case-insensitive string comparisons. Turkish has multiple letter I's (dotted and dotless), and when the UTF-8 code transformed it to lowercase, a different UTF-8 code point was selected than the English/ASCII 'i'. The solution is to explicitly use ASCII variants of string transformation, comparison, and hashing to ensure 7-bit operations are used throughout the IMAP and RFC822 stack. Further commits will follow that enforce this a bit more, but this commit is sufficient to correct the problem for our Turkish users.
Showing with 223 additions and 123 deletions