If we are not code signing we must define an action for _CODESIGN_SHA256
or the build system macros will be unbalanced.
Change-Id: I3c545de3c8ee809709defd12faeead358fde26dd
HCRYPTO_FALLBACK is a required definition for building lib/hcrypto.
However, it wasn't added to the Windows build system. This change
does so and enables fallback functionality.
Change-Id: I4a711c6da58e8832a61a3c0b2b8d9b10038425f0
Weak crypto is disabled on every other system. OpenAFS no longer
requires it and AuriStor doesn't need it. Turn it off.
Change-Id: I6fab2328f71d1c38a655560ab0f83b8df9b53c73
Permit an explicit version of signtool.exe to be specified via an
environment variable. Now that sha256 signatures are required the version
of signtool.exe that matches the SDK or Visual Studio version might not
be sufficient to apply code signatures.
Change-Id: I694e2b319bd692d6358ae7ce3d241da2da7648f8
This adds a new backend for libhcrypto: the OpenSSL backend.
Now libhcrypto has these backends:
- hcrypto itself (i.e., the algorithms coded in lib/hcrypto)
- Common Crypto (OS X)
- PKCS#11 (specifically for Solaris, but not Solaris-specific)
- Windows CNG (Windows)
- OpenSSL (generic)
The ./configure --with-openssl=... option no longer disables the use of
hcrypto. Instead it enables the use of OpenSSL as a (and the default)
backend in libhcrypto. The libhcrypto framework is now always used.
OpenSSL should no longer be used directly within Heimdal, except in the
OpenSSL hcrypto backend itself, and files where elliptic curve (EC)
crypto is needed.
Because libhcrypto's EC support is incomplete, we can only use OpenSSL
for EC. Currently that means separating all EC-using code so that it
does not use hcrypto, thus the libhx509/hxtool and PKINIT EC code has
been moved out of the files it used to be in.
NTMakefile.version defines company names and build options.
Do not require third parties to commit their modifications
within the Heimdal repo.
Change-Id: Ifb4d82e05f40023a2c29bd5cb4c3445c0bd876d3
Windows file resources can be marked as Private, Special, Debug
and Pre-release. Extend the Heimdal Assembly name to include
designations for these various build options to ensure that
private, special, debug and pre-release builds do not conflict
with the assembly name reserved for public releases. This permits
a private, special, debug and pre-release build to be installed
side-by-side with the final release without interference.
Change-Id: I569ce2ff911ddbaebd81ba2e8b477ba6fb520502
Quote path names in case there are ever spaces
Prepend $(MKDIR) rule is "-" to avoid failures if the output
directories already exist.
Change-Id: I1e5cfb408042617a73edeeae99eb269a061ba61d
Although rk_mkdir can be provided on all platforms there is no
reason to require that it be used by unconditionally mapping
mkdir -> rk_mkdir
Change-Id: Ic149500037abf446434332bf6ba67dfb3906cd72
Add strtoll()/strtoull() to lib/roken
Add stdint.h to lib/roken (Windows only)
Add logic to detect whether to use lib/roken's stdint.h based on
Visual Studio version
Add include of stdint.h in generated ASN.1 code
Export missing symbols for 64-bit integers in lib/asn1
Export missing symbols for FAST
Add missing sources to kdc/NTMakefile
Fix issue in kuserok
Fix bsearch issues
Heimdal does not have any backward compatibility issues unlike
MIT. There is no reason to restrict out interfaces to using
32-bit time of 32-bit Windows. Our supported compilers default
to 64-bit time_t. Use it.
Change-Id: I931c547841c17897d7d55a61459519cb99973385
Breakout the version data from windows/NTMakefile.config
and move it to windows/NTMakefile.version. This new file
contains only version data. This permits version data to
be safely referenced by third party components.
In addition, add version range information for those versions
of Heimdal for which this release is a compatible upgrade. If
there is a forward incompatible change to the assembly ABI, it
is not a compatible upgrade. This version data is used to specify
the Windows assembly redirect range.
Change-Id: Ic9f156212599cc4277e2be812f29a6497801046c
The pname to uid functionality at present assumes there is
an implementation of getpwnam() and that the local user
identifier is an integer. On Windows, the local user identifier
is a SId. Add NO_LOCALNAME as a build option so that Windows
(for now) can build without providing a getpwnam() implementation.
Change-Id: I04cfd6d2cd52e6228733f1da1dab420b453e6566
When building the x64 installer, we can optionally include 32-bit
components as well. This requires that the 32-bit build to be already
completed. The resulting multiplatform installer will install
both sets of components.
This is enabled by the environment variable MULTIPLATFORM_INSTALLER.