Whilst trying to reproduce bug #3902 I noticed that the code doesn't
work with an abbreviated host name:

$ psql -l -h rh2.sss.pgh.pa.us
       List of databases
       ... everything's fine ...

$ psql -l -h rh2              
psql: GSSAPI continuation error: Unspecified GSS failure.  Minor code may 
provide more information
GSSAPI continuation error: Unknown code krb5 7
$

Considering that my DNS system knows perfectly well what to resolve the
short name to, it seems reasonable that GSSAPI should be able to deal
with it.  Looking into the KDC log shows that psql is trying everything
but the right thing for the hostname part of the server principal:

Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for postgres/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for postgres/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for krbtgt/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for krbtgt/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for krbtgt/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for krbtgt/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for krbtgt/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for krbtgt/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for krbtgt/[EMAIL PROTECTED], Server not found in Kerberos database
Jan 27 18:41:19 rh2.sss.pgh.pa.us krb5kdc[3993](info): TGS_REQ (7 etypes {18 17 
16 23 1 3 2}) 192.168.0.8: UNKNOWN_SERVER: authtime 1201474768,  [EMAIL 
PROTECTED] for krbtgt/[EMAIL PROTECTED], Server not found in Kerberos database

This could be a configuration error on my part (I've never set up a
Kerberos server before today) but what it looks like to me is that
something in the GSSAPI library is assuming it's being handed a fully
qualified domain name.  Perhaps pg_GSS_startup() shouldn't be using
just conn->pghost, but the fully resolved server domain name?

This is on Fedora 8, krb5-libs-1.6.2-9.fc8.x86_64, in case it matters.

While I'm complaining: that's got to be one of the least useful error
messages I've ever seen, and it's for a case that's surely going to be
fairly common in practice.  Can't we persuade GSSAPI to produce
something more user-friendly?  At least convert "7" to "Server not
found in Kerberos database"?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to