Re: Frontend/backend protocol: authentication - Mailing list pgsql-general

From ljb
Subject Re: Frontend/backend protocol: authentication
Date
Msg-id agfvt5$20cj$1@news.hub.org
Whole thread Raw
In response to Frontend/backend protocol: authentication  (Peter Schuller <peter.schuller@infidyne.com>)
List pgsql-general
peter.schuller@infidyne.com wrote:
> (resend; first one didn't seem to make it)
>
> Hello,
>
> I'm attempting to implement a PosrgreSQL client in Squeak. I'm sending
> what I believe to be a correct StartupPacket, but PostgreSQL
> responds with an ErrorResponse: "FATAL 1: Password auth. failed...".
>
> But I never asked for password authentication! According to the protocol
> docs on the site, I should first be getting an Authentication* packet (I
> think, an AuthenticationUnencrpytedPassword - but that one is not
> documented), to which I should send a PasswordPacket. But now it returns
> error before I get a chance.

It is documented. AuthenticationUnencryptedPassword is the pre-7.2 name
for AuthenticationCleartextPassword. They are the same message
(char 'R', int 3) but the name changed at 7.2.

> What might I be doing wrong?
>
> And am I correct in expecting an AuthenticationUnencryptedPassword
> packet? Postgresql is set to use the "password" authentication method,
> and another exising PostgreSQL protocol implementation failed because it
> receivd such a packet (instead of some other one it expected).

Sounds like you are doing it right, but you'll probably need to use
tcpdump or something similar to find out what is really going on.
I wrote a client in Tcl which talks right to the backend, and it does
what you said: send startup packet, get ('R',3) back, send password,
get AuthenticationOK ('R',0) back.

pgsql-general by date:

Previous
From: Lamar Owen
Date:
Subject: Re: Converting from .MDB Access to PostgreSQL
Next
From: Chris Albertson
Date:
Subject: Re: Converting from .MDB Access to PostgreSQL