Re: Please test peer (socket ident) auth on *BSD

Marko Kreen <markokr@gmail.com>

From: Marko Kreen <markokr@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Dunstan <andrew@dunslane.net>, Greg Stark <gsstark@mit.edu>, Peter Eisentraut <peter_e@gmx.net>, pgsql-hackers@postgresql.org, Bruce Momjian <bruce@momjian.us>
Date: 2011-06-02T16:47:44Z
Lists: pgsql-hackers
On Thu, Jun 2, 2011 at 7:44 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Marko Kreen <markokr@gmail.com> writes:
>> On Thu, Jun 2, 2011 at 7:20 PM, Andrew Dunstan <andrew@dunslane.net> wrote:
>>> Then maybe we need to use "#ifndef WIN32" in those places. That's what we do
>>> for similar cases.
>
>> No, that would be a bad idea - uglifies code for no good reason.
>
>> The function is referenced undef IS_AF_UNIX() check, so it would
>> not be run anyway.  Even if it would run somehow, there is only
>> 2 lines to return ENOSYS.
>
> Yeah, but not compiling thirty lines in fe-connect.c is worthwhile.
>
> The auth_peer code in the backend is #ifdef HAVE_UNIX_SOCKETS, and
> I see no reason why this chunk in libpq shouldn't be as well.

ip.h:

#ifdef  HAVE_UNIX_SOCKETS
#define IS_AF_UNIX(fam) ((fam) == AF_UNIX)
#else
#define IS_AF_UNIX(fam) (0)
#endif

This the #ifdefs-in-headers-only approach to the problem...

-- 
marko