(unnamed)

text/plain

Filename: (unnamed)
Type: text/plain
Part: 0
Message: Re: LOCAL_CREDS -> SCM_CREDS in src/backend/libpq/auth.c:535
Index: src/backend/libpq/auth.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/libpq/auth.c,v
retrieving revision 1.67
diff -c -r1.67 auth.c
*** src/backend/libpq/auth.c	2001/09/21 20:31:45	1.67
--- src/backend/libpq/auth.c	2001/09/26 19:30:30
***************
*** 520,526 ****
  			break;
  
  		case uaIdent:
! #if !defined(SO_PEERCRED) && (defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || defined(HAVE_STRUCT_SOCKCRED))
  			/*
  			 *	If we are doing ident on unix-domain sockets,
  			 *	use SCM_CREDS only if it is defined and SO_PEERCRED isn't.
--- 520,526 ----
  			break;
  
  		case uaIdent:
! #if !defined(SO_PEERCRED) && (defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || (defined(HAVE_STRUCT_SOCKCRED) && defined(LOCAL_CREDS)))
  			/*
  			 *	If we are doing ident on unix-domain sockets,
  			 *	use SCM_CREDS only if it is defined and SO_PEERCRED isn't.
Index: src/backend/libpq/hba.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/libpq/hba.c,v
retrieving revision 1.72
diff -c -r1.72 hba.c
*** src/backend/libpq/hba.c	2001/09/21 20:31:46	1.72
--- src/backend/libpq/hba.c	2001/09/26 19:30:30
***************
*** 904,910 ****
  
  	return true;
  
! #elif defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || defined(HAVE_STRUCT_SOCKCRED)
  	struct msghdr msg;
  
  /* Credentials structure */
--- 904,910 ----
  
  	return true;
  
! #elif defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || (defined(HAVE_STRUCT_SOCKCRED) && defined(LOCAL_CREDS))
  	struct msghdr msg;
  
  /* Credentials structure */
Index: src/interfaces/libpq/fe-auth.c
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v
retrieving revision 1.60
diff -c -r1.60 fe-auth.c
*** src/interfaces/libpq/fe-auth.c	2001/09/21 20:31:49	1.60
--- src/interfaces/libpq/fe-auth.c	2001/09/26 19:30:53
***************
*** 435,444 ****
  
  #endif	 /* KRB5 */
  
- #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;
--- 435,444 ----
  
  #endif	 /* KRB5 */
  
  static int
  pg_local_sendauth(char *PQerrormsg, PGconn *conn)
  {
+ #if defined(HAVE_STRUCT_CMSGCRED) || defined(HAVE_STRUCT_FCRED) || (defined(HAVE_STRUCT_SOCKCRED) && defined(LOCAL_CREDS))
  	char buf;
  	struct iovec iov;
  	struct msghdr msg;
***************
*** 485,492 ****
  		return STATUS_ERROR;
  	}
  	return STATUS_OK;
! }
  #endif
  
  static int
  pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
--- 485,496 ----
  		return STATUS_ERROR;
  	}
  	return STATUS_OK;
! #else
! 	snprintf(PQerrormsg, PQERRORMSG_LENGTH,
! 			 libpq_gettext("SCM_CRED authentication method not supported\n"));
! 	return STATUS_ERROR;
  #endif
+ }
  
  static int
  pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
***************
*** 614,627 ****
  			break;
  
  		case AUTH_REQ_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
- 			snprintf(PQerrormsg, PQERRORMSG_LENGTH,
- 					 libpq_gettext("SCM_CRED authentication method not supported\n"));
- 			return STATUS_ERROR;
- #endif
  			break;
  
  		default:
--- 618,625 ----