Re: Solaris ident authentication using unix domain sockets

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Garick Hamlin <ghamlin(at)isc(dot)upenn(dot)edu>
Cc: pgsql-hackers(at)postgresql(dot)org, pgsql-patches(at)postgresql(dot)org
Subject: Re: Solaris ident authentication using unix domain sockets
Date: 2008-07-03 18:01:22
Message-ID: 5091.1215108082@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Garick Hamlin <ghamlin(at)isc(dot)upenn(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dave Page 2008-07-03 18:44:49 CommitFest rules
Previous Message Alex Hunsaker 2008-07-03 17:53:59 Re: Auto-explain patch

Browse pgsql-patches by date

  From Date Subject
Next Message Garick Hamlin 2008-07-03 18:55:33 Re: Solaris ident authentication using unix domain sockets
Previous Message Garick Hamlin 2008-07-03 17:36:28 Solaris ident authentication using unix domain sockets