IETF-SSH archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Locale negotiation



Our users need to be able to have local locale settings propagated to
remote sessions.

The SSHv2 protocol does not provide a sufficiently general facility for
this purpose.  It does provide for language negotiation, but locales are
more than just a language -- for example, locales typically specify a
language, for L10N, and a codeset.

The language negotiation in the SSHv2 protocol is sufficient for
localization of UTF-8 display strings in the SSHv2 protocol.  It is not
sufficient for negotiation of locales for sessions.

Currently we may use the environment variable passing facility of SSHv2
to pass POSIX locale variables (LANG, LC_ALL, LC_CTYPE, ...).

This approach will work for platforms that support the same locales and
implementations for POSIX platforms or, for non-POSIX platforms, which
can map these variables and POSIX locale names to non-POSIX equivalents.

Even where this approach works it only works if the server has support
for the locales that its clients may so reference.  There is no way to
determine that a server may have support other locales that may satisfy
its clients.

So, I'll be posting, post-IETF 61, several I-Ds to address this.

My current plan is to define RFC3066-like namespaces of locale
categories and codesets, define an abstract description of locales,
roughly matching the POSIX locale concept, and, finally, two extensions
to SSHv2:

 - a global request for locale negotiation
 - a channel request for setting the locales for the various categories
   for a given channel

Comments?

Which of these I-Ds, if any, should be SECSH WG work items?

Which WG, if any, is the most appropriate home for the more generic of
these items?

Nico
-- 



Home | Main Index | Thread Index | Old Index