Dept. of third thoughts: in fact, libpq should support SCM_CREDS challenge
authorTom Lane
Sat, 20 Dec 2003 18:45:49 +0000 (18:45 +0000)
committerTom Lane
Sat, 20 Dec 2003 18:45:49 +0000 (18:45 +0000)
even when HAVE_GETPEEREID is defined, else it will be unable to connect to
pre-7.4 backends that are using IDENT authentication.

src/interfaces/libpq/fe-auth.c

index f3aa18dff571ff94b429e9e6be51558f35e5b615..e0c51b203db1b509cca2b4256e87829bae5b2d1d 100644 (file)
@@ -10,7 +10,7 @@
  * exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes).
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.87 2003/12/20 18:24:52 tgl Exp $
+ *   $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.88 2003/12/20 18:45:49 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -450,16 +450,15 @@ pg_krb5_sendauth(char *PQerrormsg, int sock, const char *hostname)
 /*
  * Respond to AUTH_REQ_SCM_CREDS challenge.
  *
- * Note: the backend will not use this challenge if HAVE_GETPEEREID
- * or SO_PEERCRED is defined, so we don't bother to compile any code
- * in that case, even if the facility is available.
+ * Note: current backends will not use this challenge if HAVE_GETPEEREID
+ * or SO_PEERCRED is defined, but pre-7.4 backends might, so compile the
+ * code anyway.
  */
 static int
 pg_local_sendauth(char *PQerrormsg, PGconn *conn)
 {
-#if !defined(HAVE_GETPEEREID) && !defined(SO_PEERCRED) && \
-   (defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || \
-    (defined(HAVE_STRUCT_SOCKCRED) && defined(LOCAL_CREDS)))
+#if defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || \
+   (defined(HAVE_STRUCT_SOCKCRED) && defined(LOCAL_CREDS))
    char        buf;
    struct iovec iov;
    struct msghdr msg;