From a7621c92ae08aa7b7316244a4ac82ac05bd564bb Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 7 Sep 2001 19:52:54 +0000 Subject: Update SCM_CREDS for Net/Free/BSD-OS. Add configure checks. --- src/interfaces/libpq/fe-auth.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'src/interfaces/libpq/fe-auth.c') diff --git a/src/interfaces/libpq/fe-auth.c b/src/interfaces/libpq/fe-auth.c index 9438c442726..e496f7c3ee5 100644 --- a/src/interfaces/libpq/fe-auth.c +++ b/src/interfaces/libpq/fe-auth.c @@ -10,7 +10,7 @@ * exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes). * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.58 2001/08/21 15:49:17 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.59 2001/09/07 19:52:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -44,9 +44,9 @@ #include #include #include /* for MAXHOSTNAMELEN on most */ -#include /* for SCM_CREDS */ -#ifdef SCM_CREDS -#include /* for struct iovec */ +#include +#if defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || defined(HAVE_STRUCT_SOCKCRED) +#include #include #endif #ifndef MAXHOSTNAMELEN @@ -436,19 +436,25 @@ pg_krb5_sendauth(char *PQerrormsg, int sock, #endif /* KRB5 */ -#ifdef SCM_CREDS +#if defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || defined(HAVE_STRUCT_SOCKCRED) static int pg_local_sendauth(char *PQerrormsg, PGconn *conn) { char buf; struct iovec iov; struct msghdr msg; -#ifndef fc_uid +#ifdef HAVE_STRUCT_CMSGCRED /* Prevent padding */ char cmsgmem[sizeof(struct cmsghdr) + sizeof(struct cmsgcred)]; /* Point to start of first structure */ struct cmsghdr *cmsg = (struct cmsghdr *)cmsgmem; #endif +#ifdef HAVE_STRUCT_SOCKCRED + /* Prevent padding */ + char cmsgmem[sizeof(struct cmsghdr) + sizeof(struct sockcred)]; + /* Point to start of first structure */ + struct cmsghdr *cmsg = (struct cmsghdr *)cmsgmem; +#endif /* * The backend doesn't care what we send here, but it wants @@ -463,7 +469,7 @@ pg_local_sendauth(char *PQerrormsg, PGconn *conn) msg.msg_iov = &iov; msg.msg_iovlen = 1; -#ifndef fc_uid +#ifdef HAVE_STRUCT_CMSGCRED /* Create control header, FreeBSD */ msg.msg_control = cmsg; msg.msg_controllen = sizeof(cmsgmem); @@ -609,7 +615,7 @@ fe_sendauth(AuthRequest areq, PGconn *conn, const char *hostname, break; case AUTH_REQ_SCM_CREDS: -#ifdef SCM_CREDS +#if defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || defined(HAVE_STRUCT_SOCKCRED) if (pg_local_sendauth(PQerrormsg, conn) != STATUS_OK) return STATUS_ERROR; #else -- cgit v1.2.3