[krbdev.mit.edu #1586] Please modify definition of CREDENTIALS for Windows build

Jeffrey Altman [Kermit Project] jaltman at columbia.edu
Tue Jun 10 12:47:16 EDT 2003


Sam Hartman via RT wrote:

> Hi.  If you are trying to get this change in for 1.3 please fully
> describe what breaks and when, so we can make a determination as to
> whether this is something we include.

The basic problem is this:

krb524 code uses the declaration of CREDENTIALS found in 
kerberosIV/krb.h whereas the callers should be using the definition 
found in the Windows Krb4 krb.h.

Unfortunately, there is a header conflict which occurs when trying to 
build apps including Leash for Windows.  In order to build properly the 
krb5/src/include and krb5/src/kerberoIV directories are included prior 
to the krb4/include directory.  Part of this has to do with com_err.h. 
Its been this way for a long time and there was apparently no harm done 
until the krb524 code was added.  Now I am seeing stack damage after the 
call to krb5_524 function to convert the creds.  One of the parameters 
is a CREDENTIALS struct which is allocated on the stack.

I am tracing down the problem but it is hard because the errors only 
occur in the release build and not the debug build.

In any case, making the change to the CREDENTIALS structure definition 
to match the Windows version when building for Windows cannot hurt 
anything.  All it will do is ensure that programs developed for Windows 
will use the correct definition regardless of which version of the krb.h 
  header file they include.

- Jeff





More information about the krb5-bugs mailing list