From b777be0d48a042f500cac72140ffb50392973aa2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 28 Mar 2014 10:30:37 -0400 Subject: 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. --- src/common/username.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/common') diff --git a/src/common/username.c b/src/common/username.c index e946972a56..24c5b47627 100644 --- a/src/common/username.c +++ b/src/common/username.c @@ -54,6 +54,8 @@ get_user_name(char **errstr) static char username[256 + 1]; DWORD len = sizeof(username) - 1; + *errstr = NULL; + if (!GetUserName(username, &len)) { *errstr = psprintf(_("user name lookup failure: %s"), strerror(errno)); -- cgit v1.2.3