NTMakefile.version defines company names and build options.
Do not require third parties to commit their modifications
within the Heimdal repo.
Change-Id: Ifb4d82e05f40023a2c29bd5cb4c3445c0bd876d3
Remove third party plugins from installers now that they must be part
of the assemblies.
Add support for thirdparty heimdal-assemblies.wxs and heimdal-policy.wxs
files.
Change-Id: Idb29ebcf39b14ebcd2b01dc8c53b9bb7fbb8eaab
Note that the explanation of how to set CODESIGN_PKT is located
in windows/README.
Remove dead code.
Add an @arch@ substitution rule which is replaced by either "32" or "64"
depending upon $(CPU).
Change-Id: Ia009209aa7837109669172dcd841db846dcc9127
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
patchset b9d7e33a2f introduced some
garbage at the beginning of the include/NTMakefile. remove it.
Change-Id: Ia24ea3a03aa9ed10b8076112b6486e23f1c36b7c
The multiplatform installer must include the 32-bit command
merge module. When Heimdal.Command was split out into a separate
merge module it was left out.
Change-Id: I07b06d6dfff66e61869f1d8c81bb0f1bce281501
LoadLibrary() is unable to load DLLs which are being loaded from
a global side by side assembly directory. Instead, use
LoadLibraryEx() with LOAD_WITH_ALTERED_SEARCH_PATH
This permits a DLL to be loaded from the WinSxs tree when a fully
qualified path is provided.
Change-Id: I0e5da1a8610c6b571f73c0e7b0beabeecbbb3b77
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
Heimdal plugins are not safe on windows. Plugins are bound to a
specific assembly and if the plugin assembly is not the same as
the Heimdal DLL that is loading the plugin heap corruption will
occur.
Change-Id: Icf43a989684c4aacd3c4a225482a9bed9b60e29d
Patchset 1ad02ec31a removed the
createAndRemoveOnUninistall actions from a number of registry keys.
Get the same behavior with the ForceDeleteOnUninstall Wix 3.x Attribute.
Change-Id: I8c0623fa39055844d10035cbffb3870cc2d39ec6
It's not ready to always be run. First, it's slow. Second, it tortures
the system. Third, it doesn't look for signs of failure. Fourth, if it
did it'd fail: because something about the racing is causing the KDC to
think that the foo principal doesn't exist.
We *really* need a ccache instance ID tag. In fact, we should probably
never krb5_cc_initialize() a ccache that doesn't have such a tag. But
for now cred_delete() is now safe enough.
If we're racing enough we could complain about symlinks where there were
none. This was very surprising. Make it surprise less.
We should really #ifndef O_NOFOLLOW that code chunk too, for the obvious
reason that we don't need to worry about symlinks if we have and use
O_NOFOLLOW.
Also, since all uses of fcc_open() use O_NOFOLLOW we should move that
into fcc_open(). Ditto O_BINARY and O_CLOEXEC.
Patchset 58ff480763 calls write() and read()
on rk_socket_t objects which on Windows are SOCKETs not C RTL file
descriptors. This patchset uses krb5_net_write() and krb5_net_read()
in place of the direct write() and read() operations.
Change-Id: I3f7d4756357d432e4e62910f9a36824eb188b6e4
Windows plugins must be loaded from the same directory as the
heimdal.dll in order to ensure that "DLL Hell" is not revisited.
Since plugins cannot be grouped in a directory by "module" name
the plugins must have a name of the form:
plugin_<module>_<name>.dll
Construct the "plugin_<module>_" prefix string dynamically and
test for both the prefix and the ".dll" extension when building
the list of plugins to load.
Change-Id: I0ff7bf7287f8fb38061c226f0844d7d0f1fb59ec
rename callback() to cc_plugin_register_to_context() and document
its purpose.
The parameter that is the cc_ops structure is 'plugctx' not 'plug'.
This is critical because 'plug' is the common_plugin_model structure
and casting the wrong object leads to random behavior including
crashes.
The test to exit without action was reversed.
With these changes ccache plugins can be registered on each
krb5_init_context() operation.
Change-Id: I295ea91759f69b36ac13b1bfff87306d40df4a26