|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $PostgreSQL: pgsql/src/backend/libpq/auth.c,v 1.124 2005/06/04 20:42:42 momjian Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/libpq/auth.c,v 1.125 2005/06/14 17:43:13 momjian Exp $ |
12 | 12 | *
|
13 | 13 | *-------------------------------------------------------------------------
|
14 | 14 | */
|
@@ -43,6 +43,7 @@ static int recv_and_check_password_packet(Port *port);
|
43 | 43 | char *pg_krb_server_keyfile;
|
44 | 44 | char *pg_krb_srvnam;
|
45 | 45 | bool pg_krb_caseins_users;
|
| 46 | +char *pg_krb_server_hostname = NULL; |
46 | 47 |
|
47 | 48 | #ifdef USE_PAM
|
48 | 49 | #ifdef HAVE_PAM_PAM_APPL_H
|
@@ -221,20 +222,25 @@ pg_krb5_init(void)
|
221 | 222 | return STATUS_ERROR;
|
222 | 223 | }
|
223 | 224 |
|
224 |
| - retval = krb5_sname_to_principal(pg_krb5_context, NULL, pg_krb_srvnam, |
225 |
| - KRB5_NT_SRV_HST, &pg_krb5_server); |
226 |
| - if (retval) |
| 225 | + if (pg_krb_server_hostname) |
227 | 226 | {
|
228 |
| - ereport(LOG, |
229 |
| - (errmsg("Kerberos sname_to_principal(\"%s\") returned error %d", |
230 |
| - pg_krb_srvnam, retval))); |
231 |
| - com_err("postgres", retval, |
232 |
| - "while getting server principal for service \"%s\"", |
233 |
| - pg_krb_srvnam); |
234 |
| - krb5_kt_close(pg_krb5_context, pg_krb5_keytab); |
235 |
| - krb5_free_context(pg_krb5_context); |
236 |
| - return STATUS_ERROR; |
237 |
| - } |
| 227 | + retval = krb5_sname_to_principal(pg_krb5_context, |
| 228 | + pg_krb_server_hostname, pg_krb_srvnam, |
| 229 | + KRB5_NT_SRV_HST, &pg_krb5_server); |
| 230 | + if (retval) |
| 231 | + { |
| 232 | + ereport(LOG, |
| 233 | + (errmsg("Kerberos sname_to_principal(\"%s\") returned error %d", |
| 234 | + pg_krb_srvnam, retval))); |
| 235 | + com_err("postgres", retval, |
| 236 | + "while getting server principal for service \"%s\"", |
| 237 | + pg_krb_srvnam); |
| 238 | + krb5_kt_close(pg_krb5_context, pg_krb5_keytab); |
| 239 | + krb5_free_context(pg_krb5_context); |
| 240 | + return STATUS_ERROR; |
| 241 | + } |
| 242 | + } else |
| 243 | + pg_krb5_server = NULL; |
238 | 244 |
|
239 | 245 | pg_krb5_initialised = 1;
|
240 | 246 | return STATUS_OK;
|
|
0 commit comments