IETF-SSH archive

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

Re: Open Issues from Recent Comments



The way I see it, the recent discussion has made clear that the
benefit of requiring usernames and passwords to be normalized when
sent as utf8 on the wire, is very questionable.

I see the value of specifying the charset on the wire at all as
questionable, since it demands that they be character strings; an
encoding-agnostic system has no way to convert its octet strings to
character strings.

As long as these things are specified as character strings on the wire,
I can't see anything sensible for an encoding-agnostic OS to do,
regardless of what encoding is chosen, regardless of normalization (if
applicable to the encoding), regardless of almost everything else in
this area.

I will argue strenuously against removing the UTF-8 for user names
and passwords.

There is a way for 'octet' systems to handle UTF-8.  It has
been discussed here previously.  I believe that in
my implementation for 'octet' systems, I can hit very very
close to 100% of all cases by allowing the user to specify
what charset his password is in in a user specific dot file
that I can read before authentication.  (And I believe I can
probably get 'good-enough' just by allowing the admin to
specify the charset of the passwd database.)

If we remove the requirement, I simply CAN NOT get 100%
in my windows servers.  My server would have to guess
the charset of the client.

This isn't actually something that an admin can reasonably
configure.  I could allow the each user to configure the
server for the charset of their client, but I can easily
imagine that lots of users use more than one client, and
some subset of those might use clients with different
charsets.  (Imagine a user working in a foreign office
that uses one charset when they connect from the office
machine, but a different charset when they connect from
their personal machine.)

So given that I think it is possible for an implementation
on an 'octet' machine to get 100% functionality using utf-8,
and impossible for a 'charset' machine to get 100% functionality
using octets, I think we ought to leave the draft alone.

If people find that completely unacceptable, I think we
have no choice but to introduce "publickey2", "password2",
etc., that require the client to send both the UTF-8
and the 'octet' form of the username and password.

Thanks,

Joseph



Home | Main Index | Thread Index | Old Index