Re: Solaris ident authentication using unix domain sockets - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Solaris ident authentication using unix domain sockets
Date
Msg-id 5091.1215108082@sss.pgh.pa.us
Whole thread Raw
In response to Solaris ident authentication using unix domain sockets  (Garick Hamlin <ghamlin@isc.upenn.edu>)
Responses Re: Solaris ident authentication using unix domain sockets  (Garick Hamlin <ghamlin@isc.upenn.edu>)
Re: Solaris ident authentication using unix domain sockets  (Robert Treat <xzilla@users.sourceforge.net>)
List pgsql-hackers
Garick Hamlin <ghamlin@isc.upenn.edu> writes:
>     I have a patch that I have been using to support postgresql's
> notion of ident authentication when using unix domain sockets on
> Solaris.  This patch basically just adds support for using
> getupeercred() on Solaris so unix sockets and ident auth works just
> like it does on Linux and elsewhere.

Cool.

> + #if defined(HAVE_GETPEERUCRED)
> + #include <ucred.h>
> + #endif

But this is not cool.  There might be systems out there that have
getpeerucred() but not <ucred.h>, and this coding would cause a compile
failure (even if they actually wouldn't be trying to use getpeerucred()
because they have some other way to do it).  You need an explicit
configure probe for the header file too, I think.

Also, what is the rationale for putting this before the
HAVE_STRUCT_CMSGCRED case instead of after?  Again, that seems like it
could cause unexpected behavioral changes on platforms that work fine
now (consider possibility that getpeerucred is there but broken).

            regards, tom lane

pgsql-hackers by date:

Previous
From: "Alex Hunsaker"
Date:
Subject: Re: Auto-explain patch
Next
From: "Dave Page"
Date:
Subject: CommitFest rules