Commit Graph

27700 Commits

Author SHA1 Message Date
Jeffrey Altman
cb2896b6e7 Windows: installer NTMakefile fix thirdparty paths
The subdirectory level was incorrect in the thirdparty assembly
tests.

Change-Id: Icbb578a5dac11b93ff7f1f5c28caf029e8805eeb
2013-09-15 11:18:02 -04:00
Jeffrey Altman
0f1b15492b Windows: Heimdal.Command.msm MULTIPLATFORM_INSTALL
When building a multiplatform installer 64-bit Heimdal.Command.msm
should not include the 32-bit components.

Change-Id: I5a3545d50edb69e982ea6b2febb45637764a8ca2
2013-09-15 11:17:59 -04:00
Jeffrey Altman
c33969febf Windows: Fix sdk install of Heimdal.Command.msm
Heimdal.Assembly.msm was installed as Heimdal.Command.msm.

Change-Id: Ie070173d9789a1e0c963699f1fd638686803a3de
2013-09-15 11:17:56 -04:00
Jeffrey Altman
3fc7531a8b Windows: heimdal-command.wxs remove plugin dirs
Change-Id: I730ff26d353adb1f725ddcc38e3ae5332af1b39c
2013-09-15 11:17:54 -04:00
Jeffrey Altman
d0b8bb27d5 Windows: krb5_cc_get_prefix_ops test drive letter
If the prefix starts with a drive letter then it is a FILE ccache.

Change-Id: I03399f8f512d555481608d2fc90c8d6ecaba73ad
2013-09-15 11:17:53 -04:00
Jeffrey Altman
bc7a1533b9 Windows: Permit thirdparty/NTMakefile.version
NTMakefile.version defines company names and build options.
Do not require third parties to commit their modifications
within the Heimdal repo.

Change-Id: Ifb4d82e05f40023a2c29bd5cb4c3445c0bd876d3
2013-09-15 01:33:33 -04:00
Jeffrey Altman
1154d5d080 Windows: installer package modifications
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
2013-09-15 01:33:31 -04:00
Jeffrey Altman
e2b84ee118 Windows: Permit third party assembly definitions
Change-Id: Ie68faab9cebbca36670500fdfe84881460686b64
2013-09-15 01:33:29 -04:00
Jeffrey Altman
f8972159cd Windows: Assembly makefile modification
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
2013-09-15 00:48:49 -04:00
Jeffrey Altman
4bd3708e6f Windows: Add clean sdk include/gssapi rule
Change-Id: Iaf2d35857dd86cb4fba30daa3cd4152f3e14bd0f
2013-09-15 00:48:48 -04:00
Jeffrey Altman
5d0f3ee927 Windows: Extned Assembly name for version options
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
2013-09-15 00:48:47 -04:00
Jeffrey Altman
6ade3b3a8b Windows: Add support for resource Trademark strings
Change-Id: I3b09fde4478c31414d55a16c460be4581a07499a
2013-09-15 00:48:46 -04:00
Jeffrey Altman
466953b6ee Windows: remove unintended text string
patchset b9d7e33a2f introduced some
garbage at the beginning of the include/NTMakefile.  remove it.

Change-Id: Ia24ea3a03aa9ed10b8076112b6486e23f1c36b7c
2013-09-15 00:48:45 -04:00
Jeffrey Altman
60aa5eb1c5 Windows: multiplatform installer 32-bit command msm
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
2013-09-13 22:19:30 -04:00
Jeffrey Altman
017e502089 roken: win32 dlopen use LoadLibraryEx AltSearchPaths
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
2013-09-13 22:19:21 -04:00
Jeffrey Altman
475a366a19 roken: win32 dladdr do not normalize paths to slash
The resulting path needs to be passed to LoadLibrary.

Change-Id: Idfc45a4af4996105a428d88d9327f0dee5510be7
2013-09-13 22:19:11 -04:00
Jeffrey Altman
2179c92245 roken: win32 dladdr kill warnings
illegal pointer cast

unused variable

Change-Id: Ie5ebd2fd6b6e1cb06fec97dcf947fc40660abd91
2013-09-13 22:19:02 -04:00
Jeffrey Altman
9f2a06a80e Windows: Construct paths for LoadLibrary with backslashes
Mixing forward and backslashes is confusing.  Use the expected
backslashes.

Change-Id: Ia775c73eca430138f677decc1975aad0a401fc53
2013-09-13 22:19:00 -04:00
Jeffrey Altman
a7c9497c5d Windows: remove unnecessary clean rule lib/heimdal
Already deleting *.* no need to delete the library separately

Change-Id: Ibdc4aa2e8c08cc9958ab8ae9e1eb155b3a828369
2013-09-13 22:18:58 -04:00
Tony Acero
b9d7e33a2f Windows: Fix perl string equality for Debug Builds
Use "eq" and not "=~"

Change-Id: Iac38ff9859ab40fc30aba0df90956b6029c04cb6
2013-09-13 22:18:57 -04:00
Jeffrey Altman
559cd780b3 Windows: must use backslash for makefile exist test
Change-Id: Ifb8c7b88be92a856073e1001ace60ac43c69eb6d
2013-09-13 22:18:55 -04:00
Jeffrey Altman
1243f2a0d3 Windows: do not fail if output directories exist
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
2013-09-13 22:18:53 -04:00
Jeffrey Altman
75a47ef142 Windows: Remove unused lib/heimdal/dllmain.c
Change-Id: Ib46aaaf0f437cb45097e106cd714c5ae5b220857
2013-09-13 22:18:46 -04:00
Jeffrey Altman
3c3e2ad5e6 Windows: ktutil.exe requires libkadmsrv and libhdb
Include libkadmsrv.dll and libhdb.dll in the assembly which are
required for ktutil.exe to load.

Change-Id: Ic72d51e72daac71683a7f7000fe084197ee3c94a
2013-09-13 22:17:43 -04:00
Jeffrey Altman
6601c6b044 Windows: Remove Plugin Directory Installer
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
2013-09-13 22:17:42 -04:00
Jeffrey Altman
630c73b225 Windows: Wix3 use ForceDeleteOnUninstall
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
2013-09-13 22:17:41 -04:00
Jeffrey Altman
9b13216c0e Windows: PLUGINDIR == BINDIR
Plugins must be in the same directory as the DLLs.

Change-Id: I982f8113208dc896d73b155cf0c22184efc1b1c1
2013-09-13 22:17:39 -04:00
Nicolas Williams
72f29bd807 Fix typo in lib/krb5/pcache.c 2013-09-12 13:32:22 -05:00
Nicolas Williams
129b4f3720 Fix warning in ! NO_AFS case 2013-09-12 12:14:42 -05:00
Nicolas Williams
36f22356c5 Add [manual] test of kinit cmd
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.
2013-09-12 12:14:41 -05:00
Nicolas Williams
c9d390acac Don't use "if (!ret)" 2013-09-12 12:14:41 -05:00
Nicolas Williams
8696739102 Add SIGINFO support for kinit cmd
Use SIGUSR1 if there's no SIGINFO, so the code isn't dead.
2013-09-12 12:14:41 -05:00
Nicolas Williams
6d5741d03b kinit cmd: back-off more slowly and warn
Also refactor AFS klog code so we do it only once on renew.
2013-09-12 12:14:41 -05:00
Nicolas Williams
79ca0dfe75 kinit should save cc configs if it krb5_cc_move()s
Also, renew_validate() should krb5_cc_new_unique() and krb5_cc_move() it
into place.
2013-09-12 12:14:41 -05:00
Nicolas Williams
8ce9a1d686 Allow batch mode in kinit with password file 2013-09-12 12:14:41 -05:00
Nicolas Williams
13c8a2c212 Make kinit cmd not exit on transient errors 2013-09-12 12:14:40 -05:00
Nicolas Williams
c5867bde0e Add options to kcpytkt and kdeltkt for exp tix 2013-09-12 12:14:40 -05:00
Nicolas Williams
d03e8cd91d Use krb5_timeofday() in kuser/copy_cred_cache.c 2013-09-12 12:14:40 -05:00
Nicolas Williams
ff0bdc9bc8 Test improved fcc_remove_cred() 2013-09-12 12:14:40 -05:00
Nicolas Williams
be816fadd4 Minor refactoring in fcache of common open flags 2013-09-12 12:14:40 -05:00
Nicolas Williams
8feed14fd0 Only gate the st_uid fcache checks 2013-09-12 12:14:40 -05:00
Nicolas Williams
a9bd3c6e50 Fix racy file ccache corruption in cred_delete()
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.
2013-09-12 12:14:39 -05:00
Nicolas Williams
e3eb1305f5 Make Refuses to open symlinks msg less spurious
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.
2013-09-12 12:14:39 -05:00
Nicolas Williams
0866ee2615 Make fcc_remove_cred() better
Don't use a memory ccache go between, just copy all but the matching
credential(s).
2013-09-12 12:14:39 -05:00
Nicolas Williams
0f1ae2d101 Use KRB5_TC_MATCH_TIMES when looking for creds 2013-09-12 12:14:39 -05:00
Nicolas Williams
ccb148eedb lib/hdb/db3.c:DB_open() needs to DB_close() more
Without this the KDC can trip the assert in DB_open().
2013-09-12 12:14:39 -05:00
Jeffrey Altman
6ae305e7a4 Fix send_to_kdc for Windows sockets
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
2013-09-12 12:36:39 -04:00
Jeffrey Altman
649a1f8ff3 krb5_sendto_context potentially uninitialized ret
Change-Id: Ia1f54f90900f78f25bb6e0573f707b4d2a7f6055
2013-09-11 01:42:16 -04:00
Jeffrey Altman
0db822a2f1 test_rfc3961.exe link to comerr.lib
Change-Id: I05941496af744a54380c04f0ecd0a9d608387980
2013-09-11 01:42:09 -04:00
Jeffrey Altman
ce3d2be1c7 _krb5_load_plugins: Windows naming rules
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
2013-09-10 22:31:43 -04:00