Mostly Content-Free Weblog by Nalin Dahyabhai
Wed, 11 Jan 2006
New! libgssapi

Steve got the CITI libgssapi package into Raw Hide this week, and I've been playing around with trying to rebuild parts of the distribution using this generic library instead of the version bundled with MIT Kerberos.

Why bother? Because the CITI library attempts to support multiple GSSAPI mechanisms. It's actually a wrapper library which, under the covers, uses dlopen() to demand-load a library which really implements a given GSSAPI mechanism. This makes it almost trivial for the library to provide multiple mechanisms for applications to choose from. This is useful because Kerberos is but one of many GSSAPI mechanisms being used out in the wild — it's the only one with good support in Fedora, to be sure, but that's a severe limitation for certain users. Making the whole thing pluggable makes it much easier to add support for new mechanisms and to have it work, right away, system-wide.

Switching to a generic library also provides an opportunity to glue together some SPNEGO code from mod_auth_kerb with some NTLMSSP work from the Samba team, and solving the whole we-don't-really-support-SPNEGO problem — without making Kerberos explicitly depend on Samba, which would be problematic given that Samba depends on Kerberos. Maybe that's total crackrock, but who knows.

The only wrinkle so far is that we would lose all of the Kerberos-specific functionality that linking directly with libgssapi_krb5 would provide. For Cyrus SASL's GSSAPI plug-in, that means we'd lose the ability to specify the location of the keytab, so I guess we won't be going there, at least not just yet.

But then, I don't think it'd be a problem for any of the client software out there. Maybe I should see how Firefox likes it....

[/development] permanent link
RSS
Powered by Blosxom
Validate XHTML Validate CSS