Index: src/backend/libpq/auth.c =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/backend/libpq/auth.c,v retrieving revision 1.102 diff -u -r1.102 auth.c --- src/backend/libpq/auth.c 12 Jun 2003 07:36:51 -0000 1.102 +++ src/backend/libpq/auth.c 21 Jun 2003 15:02:06 -0000 @@ -430,6 +430,13 @@ } 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; Index: src/interfaces/libpq/fe-auth.c =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/fe-auth.c,v retrieving revision 1.80 diff -u -r1.80 fe-auth.c --- src/interfaces/libpq/fe-auth.c 14 Jun 2003 17:49:53 -0000 1.80 +++ src/interfaces/libpq/fe-auth.c 21 Jun 2003 15:02:08 -0000 @@ -357,10 +357,7 @@ * 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; @@ -594,9 +591,10 @@ 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")); @@ -611,9 +609,8 @@ 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"));