Skip Menu |
 

Subject: Please modify definition of CREDENTIALS for Windows build
The CREDENTIALS data structure (like the Mac) was modified for the
Windows version of KRB4. When passing in different definitions of the
data structures between the two versions there become problems.

Would somebody please apply the following patch to
krb5/src/include/kerberosIV/krb.h:

124a125
Show quoted text
> #define ADDR_SZ 40
207a209,211
Show quoted text
> #ifdef _WIN32
> char address[ADDR_SZ]; /* IP Address in ticket */
> #endif

Thanks.

- Jeff
To: rt@krbdev.mit.edu
Cc: krb5-prs@mit.edu
Subject: Re: [krbdev.mit.edu #1586] Please modify definition of CREDENTIALS for Windows build
From: Sam Hartman <hartmans@mit.edu>
Date: Tue, 10 Jun 2003 12:30:10 -0400
RT-Send-Cc:

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.
Date: Tue, 10 Jun 2003 09:47:16 -0700
From: "Jeffrey Altman [Kermit Project]" <jaltman@columbia.edu>
To: rt-comment@krbdev.mit.edu
Cc: jaltman@mit.edu, krb5-prs@mit.edu
Subject: Re: [krbdev.mit.edu #1586] Please modify definition of CREDENTIALS for Windows build
RT-Send-Cc:
Download (untitled) / with headers
text/plain 1.3KiB
Sam Hartman via RT wrote:

Show quoted text
> 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
To: rt@krbdev.mit.edu
Subject: [krbdev.mit.edu #1586]krb4 credentails structures
Date: Tue, 10 Jun 2003 12:55:41 -0400 (EDT)
From: hartmans@mit.edu (Sam Hartman)
RT-Send-Cc:


It sounds like this would break the ABI for programs developed against
the krb4 library shipped in the krb5 source tree.

While we may end up breaking that ABI when we do the merge, doing so this late in the 1.3 release cycle seems wrong.
Date: Tue, 10 Jun 2003 10:34:19 -0700
From: "Jeffrey Altman [Kermit Project]" <jaltman@columbia.edu>
To: rt-comment@krbdev.mit.edu
Cc: jaltman@mit.edu, krb5-prs@mit.edu
Subject: Re: [krbdev.mit.edu #1586]krb4 credentails structures
RT-Send-Cc:
How would it break the ABI?

The changes are Windows only. The Krb5 Krb4 library is not supported
(nor shipped) on Windows at the present time.



Sam Hartman via RT wrote:

Show quoted text
> It sounds like this would break the ABI for programs developed against
> the krb4 library shipped in the krb5 source tree.
>
> While we may end up breaking that ABI when we do the merge, doing so this late in the 1.3 release cycle seems wrong.
>
To: "Jeffrey Altman [Kermit Project]" <jaltman@columbia.edu>
Cc: rt-comment@krbdev.mit.edu, jaltman@mit.edu, krb5-prs@mit.edu
Subject: Re: [krbdev.mit.edu #1586]krb4 credentails structures
From: Sam Hartman <hartmans@mit.edu>
Date: Tue, 10 Jun 2003 14:21:09 -0400
RT-Send-Cc:
Show quoted text
>>>>> "Jeffrey" == Jeffrey Altman [Kermit Project] <Jeffrey> writes:

Show quoted text
Jeffrey> How would it break the ABI? The changes are Windows
Jeffrey> only. The Krb5 Krb4 library is not supported (nor
Jeffrey> shipped) on Windows at the present time.


It's a little unclear to mea how much the krb5 krb4 library is or is
not supported on Windows. You yourself said that you had implemented
support for this library in Kermit because people were using it.

KFW does not ship this library, but the krb5 sources do support
building outside the KFW framework on Windows and in that
configuration do build the library.


When we contemplated the krb524 change, you were asked to review
whether the difference in the credential structure would be a problem.
You said that because the KFW krb4 library had a larger credentials
structure and that because it was allocated by the caller, no problem
would result.

The fact that we were concerned about the difference in the
credentials structure suggests to me that we are at least reluctant to
change it for 1.3.
Date: Tue, 10 Jun 2003 11:24:35 -0700
From: "Jeffrey Altman [Kermit Project]" <jaltman@columbia.edu>
To: Sam Hartman <hartmans@mit.edu>
Cc: rt-comment@krbdev.mit.edu, jaltman@mit.edu, krb5-prs@mit.edu
Subject: Re: [krbdev.mit.edu #1586]krb4 credentails structures
RT-Send-Cc:
Download (untitled) / with headers
text/plain 1.4KiB
I am still investigating the problem. The problem is not really caused
by the fact the CREDENTIALS definition is different in KRB5_32.DLL or
KRB4_32.DLL. The problem is that building Leash has a conflict with
attempting to bring in the correct header file since they have the same
names.

I am still not sure whether or not that is the problem. I am still
investigating.



Sam Hartman wrote:

Show quoted text
>>>>>>"Jeffrey" == Jeffrey Altman [Kermit Project] <Jeffrey> writes:
>
>
> Jeffrey> How would it break the ABI? The changes are Windows
> Jeffrey> only. The Krb5 Krb4 library is not supported (nor
> Jeffrey> shipped) on Windows at the present time.
>
>
> It's a little unclear to mea how much the krb5 krb4 library is or is
> not supported on Windows. You yourself said that you had implemented
> support for this library in Kermit because people were using it.
>
> KFW does not ship this library, but the krb5 sources do support
> building outside the KFW framework on Windows and in that
> configuration do build the library.
>
>
> When we contemplated the krb524 change, you were asked to review
> whether the difference in the credential structure would be a problem.
> You said that because the KFW krb4 library had a larger credentials
> structure and that because it was allocated by the caller, no problem
> would result.
>
> The fact that we were concerned about the difference in the
> credentials structure suggests to me that we are at least reluctant to
> change it for 1.3.
From: tlyu@mit.edu
Subject: CVS Commit
Add missing ChangeLog entry for krb.h:1.51.


To generate a diff of this commit:



cvs diff -r5.93 -r5.94 krb5/src/include/kerberosIV/ChangeLog
From: tlyu@mit.edu
Subject: CVS Commit
pullup from trunk


To generate a diff of this commit:



cvs diff -r5.93 -r5.93.2.1 krb5/src/include/kerberosIV/ChangeLog
cvs diff -r1.50 -r1.50.2.1 krb5/src/include/kerberosIV/krb.h