[1811] in Kerberos_V5_Development

home help back first fref pref prev next nref lref last post

Re: Krb5 Ccache DLL proposal

daemon@ATHENA.MIT.EDU (Theodore Y. Ts'o)
Fri Sep 27 11:54:55 1996

Date: Fri, 27 Sep 1996 11:54:24 -0400
From: "Theodore Y. Ts'o" <tytso@MIT.EDU>
To: Marc Horowitz <marc@MIT.EDU>
Cc: "Theodore Y. Ts'o" <tytso@MIT.EDU>, mikec@geek.grf.ov.com,
        harryc@cam.ov.com, pbh@MIT.EDU, krbdev@MIT.EDU, dosdev@MIT.EDU
In-Reply-To: Marc Horowitz's message of Thu, 26 Sep 1996 20:40:35 EDT,
	<199609270040.UAA20517@beeblebrox.MIT.EDU>

   Cc: mikec@geek.grf.ov.com, harryc@cam.ov.com, pbh@MIT.EDU, krbdev@MIT.EDU,
	   dosdev@MIT.EDU
   Date: Thu, 26 Sep 1996 20:40:35 EDT

   This API seems to overlap substantially with another one provided by
   krb5 already, namely the krb5_cc_*() set of functions.  Now, the
   current implementation of these functions is actually as macros, and
   they are not exported in any DLL right now, but both these issues
   could easily be addressed.

The idea is that the krb5_cc_* set of functions will call the DLL
interface functions.

   I have heard some people say the current ccache functions aren't very
   clean, and could be troublesome to convert to a DLL.  In this case, we
   could call the new API the only ccache API, deprecating the current
   one, and that would be fine with me.  I just don't want to see us
   supporting two APIs to do the same thing.

Yes; the idea is to make it easy for people to actually implement the
DLL, so that people will actually accept our proposal.  Remember, the
audience of this proposal are not all necessarily vendors who are using
the MIT Krb5 code base.  

We could convert our API to something which much more easily matches
this one.  Unfortunately, we have already made commitments to people
(such as the X consortium, for example) that we wouldn't be making any
more changes to the Krb5 library API.

We could support two variations of the ccache API in the MIT Krb5
library, but that would be adding even more complexity.  

The best solution is for us to have a translation layer which the
implements current set of function pointers expected by our current
krb5_cc_* functions, and have that layer call DLL cache.  That layer is
going to have to dynamically pull in the DLL anyway, so it's going to
have some messy code in it anyway.

						- Ted


home help back first fref pref prev next nref lref last post