What is the intended calling convention on Windows between GSS mechglue and SPI?

Sam Hartman hartmans at painless-security.com
Mon Jun 13 11:33:28 EDT 2011


Jeff and others providing GSS implementations on Windows, I have a
question.

There's some complexity surrounding GSS-API calling conventions on
Windows.

It's my understanding that for gssapi_32.dll, MIt has traditionally used
the win32 (or whatever the non-C calling convention is called) for the
exported symbols.

I don't think MIT has shipped a working mechglue that can dynamically
load mechanisms on Windows, although perhaps the 1.9 code has this
functionality if built on Windows. It certainly has not been in an MIT
KFW release.

The current trunk code does not decorate the function pointers in
mglueP.h with any calling convention.

I think that means that we'll use the C calling convention when calling
through the function pointers into dynamic mechanisms.

I'm guessing this is a bug.

however it seems like it would be strongly desirable for all the
mechglues on Windows to use as close as possible of an ABI between the
mechglue and dynamically loaded mechanisms.

I'd appreciate any comments on what the behavior should be.

Thanks,

--Sam



More information about the krbdev mailing list