Re: [PATCH v5] GSSAPI encryption support

From: Robbie Harwood <rharwood(at)redhat(dot)com>
To: David Steele <david(at)pgmasters(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PATCH v5] GSSAPI encryption support
Date: 2016-02-15 17:45:09
Message-ID: jlgtwl9g95m.fsf@thriss.redhat.com
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-hackers

David Steele <david(at)pgmasters(dot)net> writes:

> Hi Robbie,
>
> On 2/10/16 4:06 PM, Robbie Harwood wrote:
>> Hello friends,
>>
>> For your consideration, here is a new version of GSSAPI encryption
>> support. For those who prefer, it's also available on my github:
>> https://github.com/frozencemetery/postgres/commit/c92275b6605d7929cda5551de47a4c60aab7179e
>
> It tried out this patch and ran into a few problems:
>
> 1) It didn't apply cleanly to HEAD. It did apply cleanly on a455878
> which I figured was recent enough for testing. I didn't bisect to find
> the exact commit that broke it.

It applied to head of master (57c932475504d63d8f8a68fc6925d7decabc378a)
for me (`patch -p1 < v4-GSSAPI-encryption-support.patch`). I rebased it
anyway and cut a v5 anyway, just to be sure. It's attached, and
available on github as well:
https://github.com/frozencemetery/postgres/commit/dc10e3519f0f6c67f79abd157dc8ff1a1c293f53

> 2) While I was able to apply the patch and get it compiled it seemed
> pretty flaky - I was only able to logon about 1 in 10 times on average.
> Here was my testing methodology:
>
> a) Build Postgres from a455878 (without your patch), install/configure
> Kerberos and get everything working. I was able the set the auth method
> to gss in pg_hba.conf and logon successfully every time.
>
> b) On the same system rebuild Postgres from a455878 including your patch
> and attempt authentication.
>
> The problems arose after step 2b. Sometimes I would try to logon twenty
> times without success and sometimes it only take five or six attempts.
> I was never able to logon successfully twice in a row.
>
> When not successful the client always output this incomplete message
> (without terminating LF):
>
> psql: expected authentication request from server, but received
>
> From the logs I can see the server is reporting EOF from the client,
> though the client does not core dump and prints the above message before
> exiting.
>
> I have attached files that contain server logs at DEBUG5 and tcpdump
> output for both the success and failure cases.
>
> Please let me know if there's any more information you would like me to
> provide.

What I can't tell from looking at your methodology is whether both the
client and server were running my patches or no. There's no fallback
here (I'd like to talk about how that should work, with example from
v1-v3, if people have ideas). This means that both the client and the
server need to be running my patches for the moment. Is this your
setup?

Thanks for taking it for a spin!
--Robbie

Attachment Content-Type Size
v5-GSSAPI-encryption-support.patch text/x-diff 56.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2016-02-15 17:50:07 Re: xlc atomics
Previous Message Andres Freund 2016-02-15 17:39:58 Re: [PATCH] Code refactoring related to -fsanitize=use-after-scope