Bug: Environment vars are changed before use (locale LANG, LC_*)

Damien Miller djm at mindrot.org
Sat Mar 1 09:19:09 EST 2014

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.


More information about the openssh-unix-dev mailing list