15 Commits

Author SHA1 Message Date
Jeffrey Altman
6cfbde4d86 plugin interface functions must specify calling convention
The plugin interfaces were originally implemented for use on
Unix where KRB5_CALLCONV, HEIM_CALLCONV and similar are defined
as nothing.  However, on 32-bit Windows the calling convention
matters and executing a __stdcall function through a __cdecl
function pointer will result in failures.

This change updates the krb5plugin_windc, krb5plugin_service_locate,
krb5plugin_send_to_kdc plugins to specify the KRB5_CALLCONV for
functions.   This brings the plugins into compliance with the
heim_plugin_common interface requirement that init() and fini()
use the platform specified HEIM_CALLCONV.

The krb5-plugin(7) man page is updated and the lib/krb5/test_plugin
test is also fixed.

With this change all tests pass on 32-bit Windows.

Change-Id: Ic9d2e1285c9c179e3898dc9d071ed092bcddc406
2021-11-18 18:52:54 -06:00
Luke Howard
803efebca5 krb5, kadm5: refactor plugin API
Refactor plugin framework to use a single list of loaded plugins; add a new
plugin API where DSOs export a load function that can declare dependencies and
export multiple plugins; refactor kadm5 hook API to use krb5 plugin framework.

More information in krb5-plugin(7).
2019-01-03 20:06:27 -06:00
Nicolas Williams
7b2107fd2d Fix lib/krb5/test_plugin.c test
The resolver plugin doesn't have a way to say "and stop here", so the
lookup done in lib/krb5/test_plugin.c can produce more results than used
to be expected, and indeed nowadays it does.  The fix is to ensure that
we have the desired results and ignore the others.
2016-04-15 10:27:07 -05:00
Nicolas Williams
466d8c116f Quiet a warning in test_plugin.c 2013-03-05 21:47:20 -06:00
Love Hornquist Astrand
c1423a8eea redo plugin interface 2013-02-10 22:50:49 -08:00
Love Hornquist Astrand
0879b9831a remove trailing whitespace 2011-05-21 11:57:31 -07:00
Love Hörnquist Åstrand
173368d011 use constant for locate plugin name
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25197 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-05-06 19:04:49 +00:00
Love Hörnquist Åstrand
942a821fab remove RCSID
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25171 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-05-04 06:17:40 +00:00
Love Hörnquist Åstrand
6937d41a02 remove trailing whitespace
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23815 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-13 09:21:03 +00:00
Love Hörnquist Åstrand
e172367898 switch to utf8 encoding of all files
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23814 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-13 08:53:55 +00:00
Love Hörnquist Åstrand
1fc997d273 expose krb5_plugin_register
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22024 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-11-03 21:36:55 +00:00
Love Hörnquist Åstrand
cfb4caacee Use NOTHERE.H5L.SE.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19013 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-11-13 05:28:43 +00:00
Love Hörnquist Åstrand
e53d2e7d9a Use 127.0.0.2 to make us slightly diffrent from the rest of the world.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19012 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-11-13 05:11:39 +00:00
Love Hörnquist Åstrand
8ba76d2ba8 Set sin_len if it exists.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19009 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-11-13 05:01:03 +00:00
Love Hörnquist Åstrand
b28a485ef3 Test resolve plugin
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18999 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-11-12 19:10:11 +00:00