Thread: pgsql: Un-break peer authentication.

pgsql: Un-break peer authentication.

From
Tom Lane
Date:
Un-break peer authentication.

Commit 613c6d26bd42dd8c2dd0664315be9551475b8864 sloppily replaced a
lookup of the UID obtained from getpeereid() with a lookup of the
server's own user name, thus totally destroying peer authentication.
Revert.  Per report from Christoph Berg.

In passing, make sure get_user_name() zeroes *errstr on success on
Windows as well as non-Windows.  I don't think any callers actually
depend on this ATM, but we should be consistent across platforms.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/b777be0d48a042f500cac72140ffb50392973aa2

Modified Files
--------------
src/backend/libpq/auth.c |   16 ++++++++--------
src/common/username.c    |    2 ++
2 files changed, 10 insertions(+), 8 deletions(-)


Re: pgsql: Un-break peer authentication.

From
Bruce Momjian
Date:
On Fri, Mar 28, 2014 at 02:30:41PM +0000, Tom Lane wrote:
> Un-break peer authentication.
>
> Commit 613c6d26bd42dd8c2dd0664315be9551475b8864 sloppily replaced a
> lookup of the UID obtained from getpeereid() with a lookup of the
> server's own user name, thus totally destroying peer authentication.
> Revert.  Per report from Christoph Berg.
>
> In passing, make sure get_user_name() zeroes *errstr on success on
> Windows as well as non-Windows.  I don't think any callers actually
> depend on this ATM, but we should be consistent across platforms.

Uh, I was working on a patch to fix this and still have it match what we
have in common/username.c.   I will merge my changes in.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +