[2210] in Kerberos_V5_Development
Windows status
daemon@ATHENA.MIT.EDU (Doug Engert)
Fri Feb 7 11:54:15 1997
Date: Fri, 7 Feb 1997 10:52:14 -0600
From: Doug Engert <DEEngert@anl.gov>
To: "Richard Basch" <basch@lehman.com>
Cc: tytso@MIT.EDU, deengert@anl.gov, krbdev@MIT.EDU
In-Reply-To: <199702071418.JAA10025@badger.lehman.com>
Richard Basch writes:
>
> There is one problem with the Win16 code... it appears that the
> forwarding of credentials in krb5_16.dll must be broken; I get a GPF in
> krb5_16.dll when I try to run telnet.exe and specify forwarded
> credentials. As far as I can tell, everything else is fine (encryption
> works). And, the win32 version seems to work.
> --
I had that too. It is an *OLD* problem, in mk_cred.c which passes
a int to krb5_mk_ncred_basic which expects a krb5_int32. Since there
is no prototype for the krb5_mk_ncred_basic it has the wrong data on
the stack.
-----------------------------------------------------------------
From: Doug Engert <DEEngert@anl.gov>
To: krb5-bugs@mit.edu
Subject: k5b6 Windows bug
Date: Tue, 9 Jul 96 08:23:11 CDT
I got ticket forwarding from a windows 3.1 system working this
morning, after I applied the attached change.
krb5_mk_ncred_basic is expecting a krb5_int32, but the krb5_mk_ncred
has ncred defined as an int. With Windows 16 bit mode, since there is
not prototype for the internal function, a 16 bit value is pased on
the stack, while a 32 bit is expected.
Suggested fixes include: define ncred as krb5_int32, add a prototype,
or type cast the parameter.
*** ,mk_cred.c Wed Mar 20 22:20:12 1996
--- mk_cred.c Tue Jul 9 07:53:05 1996
***************
*** 299,305 ****
}
/* Setup creds structure */
! if ((retval = krb5_mk_ncred_basic(context, ppcreds, ncred, keyblock,
&replaydata, plocal_fulladdr,
premote_fulladdr, pcred))) {
goto error;
--- 299,305 ----
}
/* Setup creds structure */
! if ((retval = krb5_mk_ncred_basic(context, ppcreds, (krb5_int32)ncred, key
block,
&replaydata, plocal_fulladdr,
premote_fulladdr, pcred))) {
goto error;