*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.102 2003/06/12 07:36:51 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.103 2003/06/25 01:19:47 momjian Exp $
*
*-------------------------------------------------------------------------
*/
}
case uaKrb4:
+ /* Kerberos 4 only seems to work with AF_INET. */
+ if (port->raddr.addr.ss_family != AF_INET
+ || port->laddr.addr.ss_family != AF_INET)
+ {
+ elog(FATAL,
+ "Unsupported protocol for Kerberos 4");
+ }
sendAuthRequest(port, AUTH_REQ_KRB4);
status = pg_krb4_recvauth(port);
break;
* exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes).
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.80 2003/06/14 17:49:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.81 2003/06/25 01:19:47 momjian Exp $
*
*-------------------------------------------------------------------------
*/
* the server
*/
static int
-pg_krb5_sendauth(char *PQerrormsg, int sock,
- struct sockaddr_in * laddr,
- struct sockaddr_in * raddr,
- const char *hostname)
+pg_krb5_sendauth(char *PQerrormsg, int sock, const char *hostname)
{
krb5_error_code retval;
int ret;
case AUTH_REQ_KRB4:
#ifdef KRB4
- if (pg_krb4_sendauth(PQerrormsg, conn->sock, &conn->laddr.in,
- &conn->raddr.in,
- hostname) != STATUS_OK)
+ if (pg_krb4_sendauth(PQerrormsg, conn->sock,
+ (struct sockaddr_in *)&conn->laddr.addr,
+ (struct sockaddr_in *)&conn->raddr.addr,
+ hostname) != STATUS_OK)
{
snprintf(PQerrormsg, PQERRORMSG_LENGTH,
libpq_gettext("Kerberos 4 authentication failed\n"));
case AUTH_REQ_KRB5:
#ifdef KRB5
- if (pg_krb5_sendauth(PQerrormsg, conn->sock, &conn->laddr.in,
- &conn->raddr.in,
- hostname) != STATUS_OK)
+ if (pg_krb5_sendauth(PQerrormsg, conn->sock,
+ hostname) != STATUS_OK)
{
snprintf(PQerrormsg, PQERRORMSG_LENGTH,
libpq_gettext("Kerberos 5 authentication failed\n"));