Asynchronous operation and krb5 dependencies
Nathaniel McCallum
npmccallum at redhat.com
Fri Jun 3 10:17:06 EDT 2011
On Thu, 2011-06-02 at 16:20 -0400, ghudson at MIT.EDU wrote:
> We are working on making it possible for KDC plugins to operate
> asynchronously. To do this, we need to give them access to the KDC's
> main loop.
>
> Our current design plans for this would involve making the KDC
> dependent on two libraries: first, libevent, which is pretty widely
> packaged (it's in Solaris, NetBSD, most Linux distributions, etc.);
> and second, a new wrapper called libverto.
>
> The purpose of the wrapper is to allow runtime selection of an event
> loop implementation, to solve the problem of libraries exposing
> asynchronous functionality in an event-loop-neutral manner. For
> instance, an application using glib could create a vtable of wrapper
> functions around g_main_*() and instruct libverto to use those
> functions instead of libevent's functions. libverto is expected to be
> an independent project hosted on fedoraproject, and should be a small
> piece of code.
>
> This wrapper isn't strictly a requirement for the KDC today since it's
> not a library, but at some point we plan to make a KDC library, which
> would create a problem if KDC plugins are coded directly against
> libevent.
>
> My questions are directed at people who build MIT krb5 (as part of OS
> distributions or otherwise):
>
> 1. Is a hard dependency on libevent a problem for you? I'm not sure
> how we could avoid this, but I'd at least like to know the size of the
> problem.
>
> 2. Is a hard dependency around a small new independent library a
> problem for you? libverto is expected to be small enough that we
> could bundle it under util/ as an optional component, like we do
> com_err and ss; before committing to doing that, I'd like to know if
> it would help anyone to bundle libverto if we're not bundling libevent
> as well.
The project has been setup here: https://fedorahosted.org/libverto/
However, there is no code yet. Code will be appearing in the coming
days.
Nathaniel
More information about the krbdev
mailing list