svn rev #24533: trunk/src/ appl/ ccapi/lib/ ccapi/lib/mac/ ccapi/lib/win/ ccapi/server/win/ ...

Jeffrey Altman jaltman at
Thu Nov 25 16:54:53 EST 2010

On 11/25/2010 3:28 PM, ghudson at wrote:
> Commit By: ghudson
> Log Message:
> ticket: 6826
> subject: Fix Windows build
> target_version: 1.9
> tags: pullup
> Repair the Windows build.  Tested with the prepare-on-Unix method.

I am very glad to see that this work in being performed.

Please be sure that all exported functions that are removed from a DLL
are replaced with a stub that returns and error code.  Also, make sure
that ordinal numbers are assigned to all functions listed in the .DEF
file.  Functions with unassigned ordinals are alphabetized by name and
assigned unused ordinal values from lowest to highest.  A failure to
make these changes prevents an application built against version X from
working with version Y.

> Some specific changes include:
> * Removed the IPC finalizer (no longer used after r20787) from
>   ccapi/lib/ccapi_ipc.c, as it was creating a difficult dependency
>   chain for the pingtest build in ccapi/test.  Also updated pingtest
>   to use the k5_ipc_stream interfaces since cci_stream is gone.
> * Reverted the apparently non-functional r20277.

I'm not sure what versions of Windows MIT intends to support.
The issue that 20277 was intended to address (regardless of whether or
not the author's code was correct) is still present.  The version of
ntsecapi.h required to produce a correct build needs to be from version
6.0 of the SDK or above.

> * klist -V prints just "Kerberos for Windows", since it has no access
>   to PACKAGE_NAME and PACKAGE_VERSION from autoconf.  This should be
>   addressed correctly.

It should print its own file version number from the compiled resource data.

> * krb5, telnet, gssftp, and NIM are removed from the build.

will these items be removed from the source repository?

> * Some files had CRLFs; these were replaced with LFs and the
>   svn:eol-style property set on the files.  Otherwise the CRLFs became
>   CRCRLFs after the zip transfer.
> * Windows does not have opendir/readdir, so added Windows code to
>   prof_parse.c for includedir.  Probable fodder for a libkrb5support
>   portability shim.

do we need another cross platform portability library?   Heimdal's roken
is extremely well supported and is license compatible.  I recommend you
import the portions of it that you require as an external third party
library just as openafs has.  See the openafs src/external/heimdal/roken
directory.  The effort required to port it to Windows has already been

Jeffrey Altman

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: OpenPGP digital signature
Url :

More information about the krbdev mailing list