Index: backend/libpq/auth.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/backend/libpq/auth.c,v retrieving revision 1.127 diff -c -r1.127 auth.c *** backend/libpq/auth.c 25 Jul 2005 04:52:31 -0000 1.127 --- backend/libpq/auth.c 8 Oct 2005 14:52:26 -0000 *************** *** 145,169 **** return STATUS_ERROR; } ! if (pg_krb_server_hostname) { ! retval = krb5_sname_to_principal(pg_krb5_context, ! pg_krb_server_hostname, pg_krb_srvnam, ! KRB5_NT_SRV_HST, &pg_krb5_server); ! if (retval) ! { ! ereport(LOG, ! (errmsg("Kerberos sname_to_principal(\"%s\") returned error %d", ! pg_krb_srvnam, retval))); ! com_err("postgres", retval, ! "while getting server principal for service \"%s\"", ! pg_krb_srvnam); ! krb5_kt_close(pg_krb5_context, pg_krb5_keytab); ! krb5_free_context(pg_krb5_context); ! return STATUS_ERROR; ! } ! } else ! pg_krb5_server = NULL; pg_krb5_initialised = 1; return STATUS_OK; --- 145,168 ---- return STATUS_ERROR; } ! /* If no hostname is specified, pg_krb_server_hostname is already ! NULL. If it's set to blank, force it to NULL. */ ! retval = krb5_sname_to_principal(pg_krb5_context, ! (pg_krb_server_hostname && pg_krb_server_hostname[0]=='\0')?NULL:pg_krb_server_hostname, ! pg_krb_srvnam, ! KRB5_NT_SRV_HST, &pg_krb5_server); ! if (retval) { ! ereport(LOG, ! (errmsg("Kerberos sname_to_principal(\"%s\") returned error %d", ! pg_krb_srvnam, retval))); ! com_err("postgres", retval, ! "while getting server principal for service \"%s\"", ! pg_krb_srvnam); ! krb5_kt_close(pg_krb5_context, pg_krb5_keytab); ! krb5_free_context(pg_krb5_context); ! return STATUS_ERROR; ! } pg_krb5_initialised = 1; return STATUS_OK; *************** *** 194,200 **** return ret; retval = krb5_recvauth(pg_krb5_context, &auth_context, ! (krb5_pointer) & port->sock, "postgres", pg_krb5_server, 0, pg_krb5_keytab, &ticket); if (retval) { --- 193,199 ---- return ret; retval = krb5_recvauth(pg_krb5_context, &auth_context, ! (krb5_pointer) & port->sock, pg_krb_srvnam, pg_krb5_server, 0, pg_krb5_keytab, &ticket); if (retval) { Index: interfaces/libpq/fe-auth.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v retrieving revision 1.103 diff -c -r1.103 fe-auth.c *** interfaces/libpq/fe-auth.c 30 Jun 2005 01:59:20 -0000 1.103 --- interfaces/libpq/fe-auth.c 8 Oct 2005 14:57:47 -0000 *************** *** 280,286 **** } retval = krb5_sendauth(pg_krb5_context, &auth_context, ! (krb5_pointer) & sock, "postgres", pg_krb5_client, server, AP_OPTS_MUTUAL_REQUIRED, NULL, 0, /* no creds, use ccache instead */ --- 280,286 ---- } retval = krb5_sendauth(pg_krb5_context, &auth_context, ! (krb5_pointer) & sock, servicename, pg_krb5_client, server, AP_OPTS_MUTUAL_REQUIRED, NULL, 0, /* no creds, use ccache instead */