Carsten Wieschiolek
2014-Feb-25 16:18 UTC
Bug: Environment vars are changed before use (locale LANG, LC_*)
Hi I am using OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013 on a Ubuntu 13.10 release for access to various kinds of systems. This recent Ubuntu OS insists on standard conforming locales, i.e. de_DE.UTF-8 instead of de_DE.utf8 as in the previous release. When I am using SSH to communicate with another system not being able to process the standard conformant setting (in my case HP-UX B.11.31), problems arise, because the new setting cannot be processed. Even when I am specifying the variable in the environment file of SSH in a form usable by the remote system, they are changed into the standard conformant setting first, before being transferred. This is a bug, because these environment variables are intended to be processed on the remote system as given in the local file. SSH should keep the values in the original format specified and rely on translation by the remote system. It is pointless to use setlocale(3) locally. Best Regards C. Wieschiolek
Damien Miller
2014-Feb-28 22:19 UTC
Bug: Environment vars are changed before use (locale LANG, LC_*)
On Tue, 25 Feb 2014, Carsten Wieschiolek wrote:> > Hi > > I am using > > OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013 > > on a Ubuntu 13.10 release for access to various kinds of systems. This > recent Ubuntu OS insists on standard conforming locales, i.e. > de_DE.UTF-8 instead of de_DE.utf8 as in the previous release. When I am > using SSH to communicate with another system not being able to process > the standard conformant setting (in my case HP-UX B.11.31), problems > arise, because the new setting cannot be processed. Even when I am > specifying the variable in the environment file of SSH in a form usable > by the remote system, they are changed into the standard conformant > setting first, before being transferred. This is a bug, because these > environment variables are intended to be processed on the remote system > as given in the local file. SSH should keep the values in the original > format specified and rely on translation by the remote system. It is > pointless to use setlocale(3) locally.OpenSSH doesn't perform any transformation of environment variables that are forwarded. Some possibilities: * your vendor included a patch to transform these environment variables * the enviornment variables are being overridden by PAM (see https://bugzilla.mindrot.org/show_bug.cgi?id=1346 ) * they are being overridden by a shell initialisation file (e.g. .bash_profile) -d