Do not define USE_32BIT_TIME_T

Heimdal uses 64-bit time_t.  Do not break it by defining
USE_32BIT_TIME_T in NetIdMgr.

Change-Id: Idfbed1db8214c72b1898f6d2608449082f61211b
Avoid unnecessary warnings

Use simple casts to avoid potential data loss warnings

Use _stricmp instead of stricmp.

Change-Id: I40dbb2c4c7c8574e02ee7d4f142a540b0e74e4da
Build system modifications

Rename Heimdal Compatibility Kit to Kerberos Compatibility Kit
for consistency with the 1.0 SDK.

Adjust build variable names and destination directories
to provide better integration of keystore and credprov as
well as separate dest binaries from obj binaries in the tree.

Remove some wix3 errors.

Change-Id: I1487625595d478dc576ae62a2543abf51c3cfffd
Workaround infinite cpu usage in kherr.c get_progress()

The source of the error has not been identified yet but it is
possible to prevent the 100% cpu utilization that is a side effect.
It has been noticed several times (and captured under a debugger)
that cc == TNEXTSIBLING(cc) == TPREVSIBLING(cc).  This results in
the for loop never completing.

If such a condition is noticed, fix up the cc->prev and cc->next
pointers to refer to NULL and in DEBUG builds throw an assert().

Change-Id: I96192bd62ecdc8b943eef1b6c7b669ee267892f0
Modify CODESIGN configuration to match Heimdal

SIGNTOOL   is the preferred signtool.exe.  If not specified
           signtool.exe is used and must be on the path.

SIGNTOOL_D is the product description usually the name.

SIGNTOOL_C is any set of options required for certificate/private
           key selection for code signging.

SIGNTOOL_O is any set of additional options to signtool.exe.

SIGNTOOL_T is the timestamp option.  The Verisign timestamp
           server is used by default.

Change-Id: I61dbfc8e010ec0ae58a68a9b2de824e1b78baa48
Installer corrections to permit successful build

The Keystore dlls are now in $DESTDIR\bin instead of $DESTDIR.

WiX 3.x no longer has a Product attribute in the Package schema.

Change-Id: I2db77875e5d18edac6a632426f482d3524ccac3c
add rs_state.ini to ignore list

Change-Id: I22d95022c7210995a4248adc95015686d150851a
Update Copyright to include 2013

Change-Id: I873fbac68dc50a333984580d01298b0ef868f891
dynimport: do not require krb4

Even on 32-bit builds against the MIT libraries do not fail if
a krb4 library cannot be found at runtime.

Change-Id: I9154c858a75ddf262731e35cd8547814977f952a
rework kherr_report() parameter sanity check

Avoid unnecessary acquisition of the cs_error critical section
if the sanity check fails.

Change-Id: Iabd78144746591f91f2b9e7227e7b2c16dd2b213
Wix 3.7 compatibility

replace CreateAndRemoveOnUninstall action

Change-Id: Ie85c11c4496602f6afe787de26d10e0deed7ef39
indentation for readability

Change-Id: If74b993737edae52965394c672c63472038b4ff5
heimdal.wxs: missing Win64 property

heimdalcred_dll_pdb file was missing the Win64 property

Change-Id: I68844a9db4381d79b428bff8e88220b5608a1543
Apply Common Controls Manifest to DLLs

Force the use of Common Controls v6 on all of the plugin DLLs
not just the netidmgr.exe binary.

Change-Id: I0d4780b8568b98014d93ae1d8d29dfdc8d8fda6f
Native Heimdal vs KrbCompat

Permit NetIdMgr to build against native Heimdal instead of the
KrbCompat SDK.  Specify native Heimdal by defining

  HEIMDALSDKROOT = <path-to-heimdal-sdk-root>

When present, HEIMDALSDKROOT takes precedence over KERBEROSCOMPATSDKROOT.

An internal build variable, BUILD_KRBCOMPAT, is defined if the KrbCompat
SDK is selected.

If the native Heimdal SDK is used:

 * the Heimdal merge modules including the command module are
   included within the installer.

 * Delay loading is disabled

 * Manifests for the Heimdal assembly are linked to the Heimdal plugin

If the KrbCompat SDK is used:

 * Delay loading is enabled

 * the KrbCompat merge module is included within the installer.

Change-Id: Ia8dd75f70d9ff55533f362b09818d2a67bf195c1
specify installer package platform and scope

When building the installer use the Platform property to indicate
if the installer is AMD64 or X86.

When building the installer use the InstallScope=perMachine property
to indicate how the package should be installed instead of the older
ALLUSERS property.

Change-Id: I45660632a2eaeab6592440bd192b4183a1e3ebe8
Add Symbol Store support

Change-Id: I9af7d83a8e6eb7f5b96876382fed6ed9d2191d32
Permit vc10 as a compiler version

Change-Id: I74e246fc9fc7b64242cd018e7e0955bd9fcbbf04
Revert "Do not define USE_32BIT_TIME_T"

This reverts commit 54fe41551dca8d0b3f78bd0276e49a22dd1cc410.

Unfortunately while Heimdal uses 64-bit time_t everywhere the
netidmgr dll api is uses 32-bit time_t on 32-bit Windows because
it was originally built with MIT Kerberos.
Heimdal is 64-bit time_t always

Since 32-bit NetIDMgr is built with 32-bit time_t we have to play
a dance with the Heimdal krb5funcs.c module since that must use
64-bit time_t even on 32-bit platforms.  It cannot use the kcreddb
time_t to FileTime translation functions because the exported versions
are 32-bit time_t on 32-bit systems.  Locally define copies of
the translators explicitly for krb5funcs.c.

If at a later date NetIDMgr exports a 64-bit time_t always version
of the translation functions the private functions can be replaced.

Change-Id: I53365fbcaed7d68eaac0e7a68c547d91534c41db