Re: Problem with special characters in password when using SQLDriverConnect - Mailing list pgsql-odbc

From Hiroshi Inoue
Subject Re: Problem with special characters in password when using SQLDriverConnect
Date
Msg-id 5194F426.1020000@tpf.co.jp
Whole thread Raw
In response to Re: Problem with special characters in password when using SQLDriverConnect  ("Jan-Peter Seifert" <Jan-Peter.Seifert@gmx.de>)
Responses Re: Problem with special characters in password when using SQLDriverConnect  (Jan-Peter Seifert <Jan-Peter.Seifert@gmx.de>)
List pgsql-odbc
Hi,

(2013/05/16 22:48), Jan-Peter Seifert wrote:
>
> Hello,
>
>> Gesendet: Mittwoch, 15. Mai 2013 um 17:31 Uhr
>> Von: "Hiroshi Inoue" <inoue@tpf.co.jp>
>
>> There already had been a patch in 09.00.0100 but this problem obviously persists in psqlODBC 09.01.0100 Unicode.
Maybethis has been patched in the ANSI version only? 
>
>> I don't understand why ANSI drivers work.
>
> That this has been fixed in the ANSI version only was just an assumption on my side, because the sudden increase of
the'known critical' characters seemed to be connected to the switch to the Unicode version of psqlODBC. 
> It looks like the Unicode and the ANSI version use the 'same' internal functions though?

Yes it's essentially the same code.

>> Could you please try the dll on testing for 9.1.0300 at
>> http://www.ne.jp/asahi/inocchichichi/entrance/psqlodbc/index.html
>
> Thank you very much for the patch!
>
> We tested several passwords in connection with the SQLDriverConnect function and the Unicode version of psqlODBC:
>
> password: %2  (two chars!)
> submitted as:
> …;UID=user;PWD=%2;                fails
> …;UID=user;PWD={%2};              works
>
> password: %25  (three chars!)
> …;UID=user;PWD=%25;               fails
> …;UID=user;PWD={%25};            works

The psqlodbc driver expects Percent-Encoding for the password
option as well as the *Connect Settings* option unless the value
is enclosed with braces.

> password: }{
> …;UID=user;PWD={}{};            fails

The driver can't distinguish the first '}' from the terminating bracket.
Please look at http://msdn.microsoft.com/en-us/library/ms130822.aspx .

> password: abc
> …;UID=user;PWD=abc;               works (as expected)
> …;UID=user;PWD={abc};              works
>
> Password: a;bc
> …;UID=user;PWD=a;bc;               fails (as expected)
> …;UID=user;PWD={a;bc};             works
>
> Best regards,
>
> Peter


pgsql-odbc by date:

Previous
From: "Jan-Peter Seifert"
Date:
Subject: Re: Problem with special characters in password when using SQLDriverConnect
Next
From: barryrbell
Date:
Subject: Re: ODBC blank date.time setting