Re: BUG #15520: PAM authentication + domain socket -> DNS query for symbolic hostname [local]
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Albert Schabhuetl <albert_schabhuetl@yahoo.de>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2018-11-27T00:39:01Z
Lists: pgsql-bugs
Attachments
- 0001-Don-t-set-PAM_RHOST-for-Unix-sockets-v2.patch (application/octet-stream) patch v2-0001
On Tue, Nov 27, 2018 at 3:02 AM Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote: > On 25/11/2018 23:30, Thomas Munro wrote: > >>> I wonder if anyone out there has come to rely on the value "[local]" > >> I vote for changing it, and documenting it in the release notes. > > Yeah. Here is a draft patch to change that. Test output: > > > > $ psql -h localhost postgres munro > > PAM_USER=munro, PAM_RHOST=localhost > > $ psql postgres munro > > PAM_USER=munro, PAM_RHOST= > > I think this is the right thing to do. > > About your patch, if we're not going to set PAM_RHOST, then we should > also avoid the call to pg_getnameinfo_all() earlier in CheckPAMAuth(). > Look at the original patch linked earlier in the thread; we just need to > put if statements around both of those hunks. Thanks for the review. Right. Here's a new version that moves both things under the same if, and refactors a long line to fit in passing. I wondered whether we could write src/test/authentication/t/003_pam.pl, but it seems hard to do without underhand tricks. Both open source PAM implementations really want to read their configuration from /etc. -- Thomas Munro http://www.enterprisedb.com
Commits
-
Don't set PAM_RHOST for Unix sockets.
- 63d8350665c8 9.6.12 landed
- 96ed0b870454 10.7 landed
- 0640d9517e7e 11.2 landed
- 0f9cdd7dca69 12.0 landed
-
Set PAM_RHOST item for PAM authentication
- 2f1d2b7a75fe 9.6.0 cited