Kill running processes on upgrades/uninstalls

The InstallValidate action of the windows installer will bring up
a dialog informing us that some currently running processes must
be terminated before installation may proceed, and offers to do so,
but does not actually kill the processes.  We have our own code to
kill running processes which did not execute, for two reasons:
it was sequenced after InstallValidate, and we did not have a current
list of processes to look for.

Add the right processes to look for and kill, and use our own
process-killing code since it actually works.

ticket: 7343 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Replace NIM with "MIT Kerberos" in installer text

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>

ticket: 7338 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Improve error translation for CCAPIv3 routines

We can't mix the KRB5 and CC error constants; standardize on the CC ones
and translate appropriately.

ticket: 7339 (new)
target_version: 1.10.4
tags: pullup
Fix KfW thread-local storage allocation issues

Allocate thread-local storage on demand; don't rely on
the DLL_THREAD_ATTACH case in DllMain() since pre-existing
threads will never execute that code.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>

ticket: 7340 (new)
target_version: 1.10.4
tags: pullup
Clean out dead code from ccapi

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>

ticket: 7237
target_version: 1.10.4
tags: pullup
Fix KfW startup shortcut installation

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>

ticket: 7341 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Do not emit debug printfs under NODEBUG

These printfs spew to the console when command-line utilities
such as 'klist' and 'aklog' are run, reducing usability.

These printfs can also cause application hangs.
On a multiprocessor machine, when PuTTY and the ccapiserver are
running on different CPUs, PuTTY appears to deadlock with three
concurrent threads inside cci_debug_printf().

ticket: 7342 (new)
target_version: 1.10.4
tags: pullup
Fix memory leak in gss_add_cred

The most recent commit to g_acquire_cred.c allocates an OID set to
pass to the mech, but never releases it.  Fix that.
Support kdc_timesync offsets in memory ccache

When using v4 file credentials caches, client clock skew offsets
obtained when running with the kdc_timesync option set are persisted in
the ccache. This allows the offsets to be used across separate contexts,
e.g. when obtaining credentials using krb5 interfaces and subsequently
importing those credentials for use in gssapi. This patch adds similar
support for memory credentials caches.

[ghudson@mit.edu: Minor style corrections.]

ticket: 7346 (new)
Add support for GSS_C_NT_COMPOSITE_EXPORT

ticket: 7347 (new)
Use separate components for shortcuts

Since the Start Menu and Desktop are different folders, we should
use different components for the shortcuts in those folders, given
that components operate at directory granularity.

Take the opportunity to use the newer style for installing shortcuts
and registry keys, and make the names more descriptive.

ticket: 7348 (new)
subject: "omfg=sucks" is not a professional registry key/value
queue: kfw
target_version: 1.10.4
tags: pullup