bugzilla-daemon at bugzilla.mindrot.org
2016-Nov-24 18:11 UTC
[Bug 2643] New: Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Bug ID: 2643 Summary: Can not ssh with tr_TR.UTF-8 locale (Bad configuration options) Product: Portable OpenSSH Version: 7.3p1 Hardware: amd64 OS: Linux Status: NEW Severity: major Priority: P5 Component: ssh Assignee: unassigned-bugs at mindrot.org Reporter: if.gnu.linux at gmail.com I can not ssh to any host with Turkish locale (tr_TR.UTF-8). I reported this bug to Launchpad[1] and I was asked to report it to upstream[2]. [1] https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1638338 [2] https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1638338/comments/16 What I expected to happen: I expected that 'ssh user at some_host' command would successfully run. What actually happened 'ssh user at some_host' command failed with an error. Steps to produce: 1. Open a terminal 2. Run LANG=tr_TR.UTF-8 ssh user at some_host If I run ssh with tr_TR.UTF-8 locale, the first error I get is: $HOME/.ssh/config: line 7: Bad configuration option: Identityfile $HOME/.ssh/config: terminating, 1 bad configuration options If I commend out IdentityFile option from $HOME/.ssh/config file and re-run the command, I get this: debug1: Reading configuration data ~/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * /etc/ssh/ssh_config: line 55: Bad configuration option: gssapIauthentication /etc/ssh/ssh_config: line 56: Bad configuration option: gssapIdelegatecredentials /etc/ssh/ssh_config: terminating, 2 bad configuration options If I commend aut GSSAPIAuthentication and GSSAPIDelegateCredentials options, I can ssh to a host. So to ssh to a host with tr_TR.UTF-8 locale, one must commend out IdentityFile, if it is used, GSSAPIAuthentication and GSSAPIDelegateCredentials optons. Workaround: LC_ALL=C ssh some_host -- You are receiving this mail because: You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Nov-24 19:45 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Colin Watson <cjwatson at debian.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |cjwatson at debian.org -- You are receiving this mail because: You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Nov-25 00:21 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |djm at mindrot.org Blocks| |2594 --- Comment #1 from Damien Miller <djm at mindrot.org> --- This is the infamous Turkish dotless i confusion and will break stuff wherever we naively tolower a compare a string and compare it. We lowercase strings in: auth.c match.c misc.c misc.h pkcs11.h readconf.c ssh.c sshconnect.c Given that this is a behaviour change, I propose that we replace the handful of calls with tolower() with one that uses the C locale always. This best matches what openssh <7.3 did. Referenced Bugs: https://bugzilla.mindrot.org/show_bug.cgi?id=2594 [Bug 2594] Tracking bug for OpenSSH 7.4 release -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-09 01:46 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 --- Comment #2 from Damien Miller <djm at mindrot.org> --- Created attachment 2908 --> https://bugzilla.mindrot.org/attachment.cgi?id=2908&action=edit use an ASCII tolower replacement for lowercasing strings -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-09 02:27 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Darren Tucker <dtucker at zip.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #2908| |ok- Flags| | --- Comment #3 from Darren Tucker <dtucker at zip.com.au> --- Comment on attachment 2908 --> https://bugzilla.mindrot.org/attachment.cgi?id=2908 use an ASCII tolower replacement for lowercasing strings>+int >+tolowerc(int c) >+{ >+ if (c < (int)'A' || c > (int)'Z')That's wrong for EBCDIC systems since the alphabet is not contiguous.>+ return c; >+ return c - ((int)'A' - (int)'a'); >+}Does the C standard guarantee that the offset between upper and lowercase characters is constant? It is in ASCII and EBCDIC. What else is out there? -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-09 02:59 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #2908|0 |1 is obsolete| | Assignee|unassigned-bugs at mindrot.org |djm at mindrot.org CC| |dtucker at zip.com.au Status|NEW |ASSIGNED Attachment #2910| |ok?(dtucker at zip.com.au) Flags| | --- Comment #4 from Damien Miller <djm at mindrot.org> --- Created attachment 2910 --> https://bugzilla.mindrot.org/attachment.cgi?id=2910&action=edit use ctype functions instead of roll-ur-own -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-09 03:37 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #2910|ok?(dtucker at zip.com.au) | Flags| | --- Comment #5 from Damien Miller <djm at mindrot.org> --- Comment on attachment 2910 --> https://bugzilla.mindrot.org/attachment.cgi?id=2910 use ctype functions instead of roll-ur-own Not sure I want to go with the approach -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-09 04:09 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 --- Comment #6 from Damien Miller <djm at mindrot.org> --- Created attachment 2911 --> https://bugzilla.mindrot.org/attachment.cgi?id=2911&action=edit fall back to C locale for LC_CTYPE I think this is less terrible - it falls back to the C locale for tr* locales, and tries to preserve UTF-8 if the system supports C.UTF-8 -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-09 05:28 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #2911|0 |1 is obsolete| | --- Comment #7 from Damien Miller <djm at mindrot.org> --- Created attachment 2912 --> https://bugzilla.mindrot.org/attachment.cgi?id=2912&action=edit fall back to C locale for LC_CTYPE Helps if I attach the correct diff... -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-09 17:23 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 --- Comment #8 from Numan Demird??en <if.gnu.linux at gmail.com> --- Thank you for your work Damien Miller. Do I have to compile ssh with the last patch you wrote in order to test whether patched ssh fixes the bug or not? -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-09 17:34 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 --- Comment #9 from Colin Watson <cjwatson at debian.org> --- Wow, that's really pretty ugly, and I'm not certain that Turkish is the only locale with this problem. How about a simple char[256] table lookup instead? That shouldn't be too ugly (still less code than the complicated setlocale fiddling) and it ought to deal with EBCDIC. -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-11 23:06 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #2910|0 |1 is obsolete| | -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-11 23:10 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 --- Comment #10 from Damien Miller <djm at mindrot.org> --- (In reply to Numan Demird????en from comment #8)> Do I have to compile ssh with the last patch you wrote in order to > test whether patched ssh fixes the bug or not?Yes, you'd need to recompile. I've already reproduced and tested the C locale fix though. (In reply to Colin Watson from comment #9)> Wow, that's really pretty ugly, and I'm not certain that Turkish is > the only locale with this problem. > > How about a simple char[256] table lookup instead? That shouldn't > be too ugly (still less code than the complicated setlocale > fiddling) and it ought to deal with EBCDIC.I think falling back to C locale is preferable. It matches the behaviour for OpenSSH <7.3 best while giving us a chance at preserving UTF-8 output. I'll tidy up that patch - there are a couple of minor problems with it. -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-12 00:20 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #2912|0 |1 is obsolete| | Attachment #2913| |ok?(dtucker at zip.com.au) Flags| | --- Comment #11 from Damien Miller <djm at mindrot.org> --- Created attachment 2913 --> https://bugzilla.mindrot.org/attachment.cgi?id=2913&action=edit Cleaned-up fallback diff Previous fallback diff with a few fixes: 1) Correct precedence order for environment variables 2) Correctly terminate environment search if we find a non-TR locale 3) Check for a couple more variants of UTF-8 (lowercase and without hyphen) 4) Also try POSIX.UTF-8 locale if C.UTF-8 doesn't exist. 5) Stick the while mess in utf8.c where it better belongs. I preferred this rather than doing a xsetlocale, because I expect we'll upstream something like the final version in future. 6) Add a longwinded XXX comment describing how to fix this better in the future :) Thanks to Ingo Schwarze for valuable feedback. -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-12 00:39 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Darren Tucker <dtucker at zip.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #2913|ok?(dtucker at zip.com.au) |ok+ Flags| | -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2016-Dec-12 02:59 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #12 from Damien Miller <djm at mindrot.org> --- Patch applied - this will be in openssh-7.4 -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2017-Jan-15 23:58 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Bj?rn Jacke <bjoern at j3e.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bjoern at j3e.de -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2018-Apr-06 02:26 UTC
[Bug 2643] Can not ssh with tr_TR.UTF-8 locale (Bad configuration options)
https://bugzilla.mindrot.org/show_bug.cgi?id=2643 Damien Miller <djm at mindrot.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #13 from Damien Miller <djm at mindrot.org> --- Close all resolved bugs after release of OpenSSH 7.7. -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.