Password sync plugin, and questions about plugin criticality

Luke Howard lukeh at padl.com
Mon Jun 26 03:06:59 EDT 2006


Hi Nico,

>> /* kapi-plugin.h */
>> typedef struct kapi_pblock Kapi_PBlock;
>> int kapi_pblock_get(Kapi_PBlock *, int, void *);
>> int kapi_pblock_set(Kapi_PBlock *, int, void *);
>
>In the cases of simple SPIs I much prefer that the mechanism export its
>entry points directly and that the framework dlsym() them.  This pretty
>much works on all platforms that MIT needs to support where the SLAPI
>model would also work, and it makes plug-in code simpler.

Rather than having an initialization function register callbacks
manually?

Sounds fine to me -- although it might be useful to consider how
a single DSO can implement multiple plugins (obviously there are
many ways to skin a cat...).

>Is the idea to avoid symbol name conflicts?  This should only be needed
>where there's no reasonably modern dynamic linker.  And then other
>build-system techniques should do (namely, rename the entry points on a
>per-plug-in basis to unique names at build-time and static link
>everything).
>
>Where there are modern dynamic linkers whatever the moral equivalent of
>RTLD_LOCAL is should suffice (plus RTLD_GROUP, to be rigorous).

Sure, I was just explaining how SLAPI did things, a well-known
entry point is fine too.

cheers,

-- Luke

--



More information about the krbdev mailing list