Index: doc/src/sgml/runtime.sgml
===================================================================
RCS file: postgresql-8.0.0rc3/doc/src/sgml/runtime.sgml,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- doc/src/sgml/runtime.sgml 26 Dec 2004 23:06:56 -0000 1.1.1.1
+++ doc/src/sgml/runtime.sgml 3 Jan 2005 23:18:44 -0000 1.2
@@ -952,6 +952,20 @@
+
+ krb_server_hostname (string)
+
+ krb_server_hostname> configuration parameter
+
+
+
+ Sets the hostname that service tickets will be obtained against
+ (defaults to the hostname of the postgresql server)
+ for details.
+
+
+
+
db_user_namespace (boolean)
Index: src/backend/libpq/auth.c
===================================================================
RCS file: postgresql-8.0.0rc3/src/backend/libpq/auth.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- src/backend/libpq/auth.c 31 Dec 2004 21:59:50 -0000 1.1.1.1
+++ src/backend/libpq/auth.c 3 Jan 2005 14:59:44 -0000 1.2
@@ -41,6 +41,7 @@
static int recv_and_check_password_packet(Port *port);
char *pg_krb_server_keyfile;
+char *pg_krb_server_hostname = NULL;
#ifdef USE_PAM
#ifdef HAVE_PAM_PAM_APPL_H
@@ -189,6 +190,12 @@
pg_krb5_init(void)
{
krb5_error_code retval;
+ char *svr_name;
+
+ if(pg_krb_server_hostname)
+ svr_name = pg_krb_server_hostname;
+ else
+ svr_name = PG_KRB_SRVNAM;
if (pg_krb5_initialised)
return STATUS_OK;
@@ -215,9 +222,10 @@
return STATUS_ERROR;
}
- retval = krb5_sname_to_principal(pg_krb5_context, NULL, PG_KRB_SRVNAM,
- KRB5_NT_SRV_HST, &pg_krb5_server);
- if (retval)
+ 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",
@@ -254,6 +262,12 @@
krb5_auth_context auth_context = NULL;
krb5_ticket *ticket;
char *kusername;
+ char *svr_name;
+
+ if(pg_krb_server_hostname)
+ svr_name = pg_krb_server_hostname;
+ else
+ svr_name = PG_KRB_SRVNAM;
ret = pg_krb5_init();
if (ret != STATUS_OK)
Index: src/backend/utils/misc/guc.c
===================================================================
RCS file: postgresql-8.0.0rc3/src/backend/utils/misc/guc.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- src/backend/utils/misc/guc.c 20 Dec 2004 18:15:07 -0000 1.1.1.1
+++ src/backend/utils/misc/guc.c 3 Jan 2005 14:59:45 -0000 1.2
@@ -1546,6 +1546,15 @@
},
{
+ {"krb_server_hostname", PGC_POSTMASTER, CONN_AUTH_SECURITY,
+ gettext_noop("Sets the hostname of the Kerberos server."),
+ NULL
+ },
+ &pg_krb_server_hostname,
+ NULL, NULL, NULL
+ },
+
+ {
{"rendezvous_name", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
gettext_noop("Sets the Rendezvous broadcast service name."),
NULL
Index: src/bin/psql/tab-complete.c
===================================================================
RCS file: postgresql-8.0.0rc3/src/bin/psql/tab-complete.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- src/bin/psql/tab-complete.c 24 Dec 2004 15:42:05 -0000 1.1.1.1
+++ src/bin/psql/tab-complete.c 3 Jan 2005 14:59:46 -0000 1.2
@@ -552,6 +552,7 @@
"geqo_threshold",
"join_collapse_limit",
"krb_server_keyfile",
+ "krb_server_hostname",
"lc_messages",
"lc_monetary",
"lc_numeric",
Index: src/include/libpq/auth.h
===================================================================
RCS file: postgresql-8.0.0rc3/src/include/libpq/auth.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- src/include/libpq/auth.h 31 Dec 2004 22:03:32 -0000 1.1.1.1
+++ src/include/libpq/auth.h 3 Jan 2005 14:59:47 -0000 1.2
@@ -27,5 +27,6 @@
#define PG_KRB5_VERSION "PGVER5.1"
extern char *pg_krb_server_keyfile;
+extern char *pg_krb_server_hostname;
#endif /* AUTH_H */