OSDN Git Service

* Stephen Frost (sfrost@snowman.net) wrote:
authorBruce Momjian <bruce@momjian.us>
Mon, 6 Mar 2006 17:59:30 +0000 (17:59 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 6 Mar 2006 17:59:30 +0000 (17:59 +0000)
commit526f773d2fd943cc40ef598d30dbe60bab287298
treec39e3f0e6ba4ba47da0a3a53ab7224bd177832b9
parent357cc01e57a404577b32b0ffe8919c9aeb6a4382
* Stephen Frost (sfrost@snowman.net) wrote:
>   I've now tested this patch at home w/ 8.2HEAD and it seems to fix the
>   bug.  I plan on testing it under 8.1.2 at work tommorow with
>   mod_auth_krb5, etc, and expect it'll work there.  Assuming all goes
>   well and unless someone objects I'll forward the patch to -patches.
>   It'd be great to have this fixed as it'll allow us to use Kerberos to
>   authenticate to phppgadmin and other web-based tools which use
>   Postgres.

  While playing with this patch under 8.1.2 at home I discovered a
  mistake in how I manually applied one of the hunks to fe-auth.c.
  Basically, the base code had changed and so the patch needed to be
  modified slightly.  This is because the code no longer either has a
  freeable pointer under 'name' or has 'name' as NULL.

  The attached patch correctly frees the string from pg_krb5_authname
  (where it had been strdup'd) if and only if pg_krb5_authname returned
  a string (as opposed to falling through and having name be set using
  name = pw->name;).  Also added a comment to this effect.

Backpatch to 8.1.X.

Stephen Frost
src/interfaces/libpq/fe-auth.c