Check all three DES types
When asking for the strongest key, get it right
roken: do not require use of rk_mkdir on all platforms

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
Windows: use roken's rk_rename

Windows CRT rename does not unlink the target if it exists.

Change-Id: Id7bdf5729d418bb22b59ab11d0d5f31ccb7e3577
_kdc_find_etype consolidation

The 'use_strongest_session_key' block and its alternate should
have similar behavior except for the order in which the enctype
lists are processed.  This patchset attempts to consolidate the
exit processing and ensure that the inner loop enctype and key
validation is the same.

Bugs fixed:

1. In the 'use_strongest_session_key' case, the _kdc_is_weak_exception()
   test was applied during the client enctype loop which is only
   processed for acceptable enctypes.   This test is moved to the
   local supported enctypes loop so as not to filter out weak keys
   when the service principal has an explicit exception.

2. In the 'use_strongest_session_key' case, the possibility of an
   enctype having keys with more than one salt was excluded.

3. In the 'use_strongest_session_key' case, the 'key' variable was
   not reset to NULL within each loop of the client enctype list.

4. In the '!use_strongest_session_key' case, the default salt test
   and is_preauth was inconsistent with the 'use_strongest_session_key'
   block.

With this consolidation, if no enctype is selected and the service
principal is permitted to use 1DES, then 1DES is selected.  It doesn't
matter whether 'use_strongest_session_key' is in use or not.

Change-Id: Ib57264fc8bc23df64c70d39b4f6de48beeb54739
_kdc_find_etype: fix typo

Fix a type introduced by 71fb56309c63f51ce9a4e0b6d454b60ff3ea786b.

Change-Id: I0c3b6aa73cab8679b2ad1bef3969296b20c3ea7d
Merge remote-tracking branch 'uppstream/master' into kth-build

Synch with latest changes for "use_strongest".