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