krb5_init_context() calls cc_context_get_default_ccache_name()

Jeffrey Altman jaltman at
Wed Aug 4 13:20:16 EDT 2004

I would not anticipate this being a problem for anything I am currently
using and it would certainly improve the performance of the MSLSA cache
type.  I am in favor of the change.

Jeffrey Altman

Alexandra Ellwood wrote:

> Hi,
> Currently krb5_init_context() calls into CCAPI when it resets the ccache 
> name in the context.  It does this by calling 
> krb5_cc_set_default_name(context, NULL).
> krb5_cc_set_default_name(context, NULL) sets the ccache name in the 
> context to its "default" value by calling get_from_os().  On CCAPI 
> platforms it calls cc_context_get_default_ccache_name().
> The problem is that cc_context_get_default_ccache_name() produces an IPC 
> call.  This means that you pay for the overhead of an IPC call just for 
> initializing a context.  It also means that the CCAPI server needs to be 
> present to answer the request, even though the context may never use the 
> ccache.
> I would like to change the behavior so that it lazily looks up the 
> default ccache.  Basically when you call 
> krb5_cc_set_default_name(context, NULL), it will just set the ccache 
> name in the context to the NULL string and free the old one.  When you 
> call krb5_cc_default_name(context), it will look at the environment 
> variable and then call get_from_os().  Basically I just want to defer 
> the actual work to when the library needs to look up the ccache name.
> Although this changes when the default ccache is looked up, I can't 
> think of any practical problems with it based on how callers use 
> krb5_contexts.  Can anyone else think of any problems?
> I would like this change for krb5-1.4.
> --lxs
> -----------------------------------------------------------------------
> Alexandra Ellwood                                           lxs at
> MIT Information Services & Technology 
> -----------------------------------------------------------------------
> _______________________________________________
> krbdev mailing list             krbdev at

More information about the krbdev mailing list