Re: JDBC driver patch for non-ASCII users - Mailing list pgsql-jdbc

From sulfinu@gmail.com
Subject Re: JDBC driver patch for non-ASCII users
Date
Msg-id 200712111421.47161.sulfinu@gmail.com
Whole thread Raw
In response to Re: JDBC driver patch for non-ASCII users  (Oliver Jowett <oliver@opencloud.com>)
Responses Re: JDBC driver patch for non-ASCII users  (Oliver Jowett <oliver@opencloud.com>)
List pgsql-jdbc
On Saturday 08 December 2007, Oliver Jowett wrote:

> Can you explain what this change does, then?
>
> >                          String result = UnixCrypt.crypt(salt, password);
> > -                        byte[] encodedResult =
> > result.getBytes("US-ASCII"); +                        byte[]
> > encodedResult = result.getBytes(Encoding.AUTHENTICATION_PHASE_ENCODING);
>
> AFAIK UnixCrypt.crypt() should only be returning ASCII anyway, right?
Wrong, it returns a String, in other words a series of Unicode points, not
necessarily ASCII characters.
>
> Same thing re. salt decoding, doesn't the server only ever send ASCII?
The server never bothers about any encoding during the authentication phase.
The server simply treats everything as byte arrays and compares what is
received from the client to the result of its own byte-wise computation,
based on stored user name and password.

My change is an attempt to increase the chances of a successful authentication
by trying to guess the encoding used at server-side for the byte
representation of user name, password and database name.


> If you have fixes to build.xml that are not related to your encoding
> changes, please post them as a separate patch with an explanation. If
> you post a number of unrelated changes as a single patch, it makes it
> much harder to selectively apply them. I have no comment on whether that
> correction is necessary or not -- but it's unexplained and not encoding
> related, so it shouldn't be there.
You have a point here. I knew I should have added a statement about that very
small correction in build.xml, but the message was already long enough and I
feared it might not be read patiently and in full (as it happened
anyway ;) ).
The Ant file is rather complicated and I thought the correction would be
silently understood and included. Ironically, the correction was already made
in CVS by Kris Jurka.

pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: JDBC driver patch for non-ASCII users
Next
From: Oliver Jowett
Date:
Subject: Re: JDBC driver patch for non-ASCII users