problems with making calls to gssapi32.dll on Windows XP
David Bienvenu
bienvenu at nventure.com
Fri Jul 22 11:53:20 EDT 2005
Hi,
My name is David Bienvenu, and I work on mail&news for the Mozilla
Foundation. I'm trying to make calls to gssapi32.dll from Mozilla code,
to add MIT Kerberos support to Mozilla Mail and Thunderbird (My
understanding is that using SSPI on Windows won't work with MIT's KDC,
and I want to support MIT's KDC since I think that's widely used). I
took Mozilla's existing negotiateuth code (
http://bonsai.mozilla.org/rview.cgi?cvsroot=/cvsroot&dir=mozilla/extensions/negotiateauth&module=default&rev=
) and flipped some makefile switches so that we'd use GSSAPI on Windows,
like we do successfully for linux and mac. I had to add gssapi32 to the
list of libraries we look for. After that, our gssapi code found the
right entry points and was able to call them successfully. But, the out
parameters to those calls, e.g., gss_indicate_mechs_ptr, initially look
OK, but as I execute code after the call, the values become corrupted,
and we crash. For example, calling gss_release_oid_set_ptr crashes
because the gss_OID_set mech_set either gets nulled out, or corrupted in
weird ways. It's bizarre to step through the vc 6.0 debugger and
eventually see the local variables change value even though the
disassembled code doesn't change the local vars. I'm wondering if you
have any idea what could be going on, or point me to someone who might
know. I would suspect some sort of calling convention problem, but we're
using the standard cdecl calling convention.
The gssapi32.dll in windows/system32 has a version of 1.2.3.0, created
3/20/2002. I believe the Kerberos version is 2.1.2.0, which is what the
institution I'm trying to help uses. I'm using the vc 6.0 dev tools, and
we compile with fairly vanilla flags, /Zi, basically. This is a debug
build of Mozilla.
thx for any pointers you can give,
- David Bienvenu
More information about the krbdev
mailing list