Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Mar 2009 16:18:35 -0500
From:      Tom McLaughlin <tmclaugh@sdf.lonestar.org>
To:        Hartmut Brandt <hartmut.brandt@dlr.de>
Cc:        kazakov@gmail.com, current@freebsd.org
Subject:   Re: problem with nss_ldap
Message-ID:  <49B2E4AB.7020604@sdf.lonestar.org>
In-Reply-To: <49B2DEC6.40508@dlr.de>
References:  <E2F5A6372272F744859F67CB11ABC1110507D4@exbe05.intra.dlr.de> <alpine.BSF.1.10.0901231858510.1173@knopdnsimu13l.kn.op.dlr.de> <49A69B74.1080201@sdf.lonestar.org> <49A97F2E.3030005@sdf.lonestar.org> <20090306213531.G60465@beagle.kn.op.dlr.de> <16b1f9afed4c6f2c13010f6f281d8a5f.squirrel@webmail.freeshell.org> <49B2DEC6.40508@dlr.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Hartmut Brandt wrote:
> tmclaugh@sdf.lonestar.org wrote:
>>> Hi Tom,
>>>
>>> On Sat, 28 Feb 2009, Tom McLaughlin wrote:
>>>
>>> TM>Tom McLaughlin wrote:
>>> TM>> Harti Brandt wrote:
>>> TM>> > On Sun, 18 Jan 2009, Hartmut.Brandt@dlr.de wrote:
>>> TM>
>>> TM>> > > Both create entries in /var/log/messages like:
>>> TM>> > >
>>> TM>> > > Jan 18 20:00:02 knopdnsimu13f cron[1495]: GSSAPI Error:
>>> Miscellaneous
>>> TM>> > > failure (see
>>> TM>> > >
>>> text)???????????????ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
>>> TM>Z
>>> TM>> Z
>>> TM>> >  ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
>>> TM>> > > Jan 18 20:00:02 knopdnsimu13f kernel: ZZZZZZZZZZZZZZZZ
>>> TM>> > >
>>> TM>> > > I've tried to figure out in which of the dozens of layered
>>> libraries
>>> TM>> > > (gss, sasl, ssl, ......) this error is generated but did not find
>>> TM>> > > anything.
>>> TM>> > >
>>> TM>> > > This is on amd64, krb5 enabled in pam, gssapi disabled in
>>> sshd_config
>>> TM>> > > (as I said, this worked before).
>>> TM>> > So to answer my own mail: I made a link from the kerberos ticket
>>> file
>>> TM>> > which contains the host ticket (and is specified in nss_ldap.conf)
>>> to
>>> TM>> > /tmp/krb5cc_0. I've no idea why this is suddenly necessary, though.
>>> TM>>
>>> TM>> There may be an issue with the env method used in nss_ldap to change
>>> the
>>> TM>> credentials cache.  My mind is fuzzy but I do recall a similar issue
>>> but
>>> TM>> don't remember the exact cause or case.  nss_ldap has a second
>>> configurable
>>> TM>> ccname method which when I submitted the original patch I intended to
>>> TM>> switch to once we had a newer heimdal.  Once I get nss_ldap working
>>> on my
>>> TM>> box I intend to submit another patch.
>>> TM>>
>>> TM>> tom
>>> TM>
>>> TM>Hi Harti (CC maintainer),
>>> TM>
>>> TM>Can you try the attached patch for nss_ldap?  This should cause the
>>> host
>>> TM>ticket to work correctly on -CURRENT.  It's "my box approved".
>>>
>>> Does not work. I rebuilt my system with today's sources to be sure,
>>> removed my patches to the two library makefiles and rebuilt nss_ldap with
>>> your patch. I get:
>>>
>>> # ls -l
>>> dlopen: /usr/lib/libgssapi_spnego.so.10: Undefined symbol
>>> "GSS_C_NT_HOSTBASED_SERVICE"
>>> /libexec/ld-elf.so.1: /usr/lib/libgssapi_krb5.so.10: Undefined symbol
>>> "gss_oid_equal"
>>>
>>> Basically on everything I enter. Luckily vi still works :-)
>>>
>>> I saw that the configuration script claims not to find
>>> gss_krb5_ccache_name in -lgssapi or -lgssapi_krb5. This is because the
>>> test program for -lgssapi_krb5 links only to gssapi_krb5 but not to gssapi
>>> and so gets a lot of errors. I fixed this by adding gssapi, but the final
>>> result was the same.
>>>
>>> harti
>>>
>> Sorry, forgot to mention you still need that patch to libgssapi and
>> libgssapi_krb5 in base that you did previously.  The patch to nss_ldap
>> alleviates the lingering problems you still saw.  I need to eventually
>> talk to dfr@ (been busy with various projects at home lately) and see how
>> nss_ldap should properly link against libgssapi but even after that the
>> patch to nss_ldap will still be needed and better than the current method
>> used to use a host ticket.
> 
> How will gss allow you to go without a host ticket? Somehow the host 
> needs to bind to the AD, right?

Yes, you still need a host ticket on the box.  For nss_ldap to work 
correctly right now using a host ticket on -CURRENT you need 
libgssapi_{krb5,spnego} linked against libgssapi and the patch to the 
nss_ldap port.  nss_ldap has two different methods that it can use to 
use a host ticket and the one used is determined during the configure 
stage of the port.  The port currently uses a host ticket by temporarily 
changing the path to the user's ticket in the user's environment to the 
path to the host ticket when it needs to do a lookup.  The patch to 
nss_ldap I sent uses the gss_krb5_ccache_name() function instead on 
-CURRENT.

> In any case I rebuilt the two libraries linking them agains libgssapi 
> and I can at least log in again. Sendmail dies with signal 11 and after 
> I removed the link from /tmp/krb5cc_0 to the host creds cron also dies 
> with signal 11. This is somewhat hard to debug, because it doesn't dump 
> core.
> 
> Sudo does not work and gives:
> 
> Mar  7 21:23:57 knopdnsimu13f sudo: GSSAPI Error:  Miscellaneous failure 
> (see text) (unknown mech-code 2529638944 for mech unknown)
> Mar  7 21:23:57 knopdnsimu13f sudo: GSSAPI Error:  Miscellaneous failure 
> (see text)¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ (Ticket expired¥¥libdefaults)
> Mar  7 21:24:27 knopdnsimu13f last message repeated 8 times
> Mar  7 21:24:32 knopdnsimu13f sshd[50888]: error: PAM: authentication 
> error for root from XXXX.dlr.de
> Mar  7 21:25:00 knopdnsimu13f sudo: GSSAPI Error:  Miscellaneous failure 
> (see text)¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ (Ticket expired¥¥libdefaults)
> Mar  7 21:25:00 knopdnsimu13f sudo: GSSAPI Error:  Miscellaneous failure 
> (see text)¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ (Ticket expired¥¥libdefaults)
> Mar  7 21:26:05 knopdnsimu13f last message repeated 2 times
> Mar  7 21:26:05 knopdnsimu13f sudo: nss_ldap: could not search LDAP 
> server - Server is unavailable
> 

Yes, sudo, sendmail, cron, and a few others will exhibit this behavior 
-CURRENT at the moment.

> The host ticket is fine (I checked) and the server is, of course, 
> reachable and up. None of the tickets is expired.
> 
> I must admit that I'm lost in this twisted maze of libraries: gss, 
> nss_ldap, sasl. I can't even grasp how they layer on each other. But if 
> you come up with patches I'm ready to try them.
> 
> Did I forget to mention that this worked fine for one or two years until 
> I decided to update my system (this was when I sent the original mail)?

Yup, this started when heimdal and gssapi were updated from the ancient 
versions we used to have.

tom

-- 
| tmclaugh at sdf.lonestar.org                 tmclaugh at FreeBSD.org |
| FreeBSD                                       http://www.FreeBSD.org |




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49B2E4AB.7020604>