Welcome the new KRB5 1.17 (krb5-117).


Welcome the new KRB5 1.17 (krb5-117).

Major changes in 1.17 (2019-01-08)

Administrator experience:

  • A new Kerberos database module using the Lightning Memory-Mapped Database library (LMDB) has been added. The LMDB KDB module should be more performant and more robust than the DB2 module, and may become the default module for new databases in a future release.
  • "kdb5_util dump" will no longer dump policy entries when specific principal names are requested.

Developer experience:

  • The new krb5_get_etype_info() API can be used to retrieve enctype, salt, and string-to-key parameters from the KDC for a client principal.
  • The new GSS_KRB5_NT_ENTERPRISE_NAME name type allows enterprise principal names to be used with GSS-API functions.
  • KDC and kadmind modules which call com_err() will now write to the log file in a format more consistent with other log messages.
  • Programs which use large numbers of memory credential caches should perform better.

Protocol evolution:

  • The SPAKE pre-authentication mechanism is now supported. This mechanism protects against password dictionary attacks without requiring any additional infrastructure such as certificates. SPAKE is enabled by default on clients, but must be manually enabled on the KDC for this release.
  • PKINIT freshness tokens are now supported. Freshness tokens can protect against scenarios where an attacker uses temporary access to a smart card to generate authentication requests for the future.
  • Password change operations now prefer TCP over UDP, to avoid spurious error messages about replays when a response packet is dropped.
  • The KDC now supports cross-realm S4U2Self requests when used with a third-party KDB module such as Samba's. The client code for cross-realm S4U2Self requests is also now more robust.

User experience:

  • The new ktutil addent -f flag can be used to fetch salt information from the KDC for password-based keys.
  • The new kdestroy -p option can be used to destroy a credential cache within a collection by client principal name.
  • The Kerberos man page has been restored, and documents the environment variables that affect programs using the Kerberos library.

Changes to the FreeBSD krb5* ports include:

  • CONFLICTS updated in krb5-115 and krb5-116 taking krb5-117 in consideration.
  • The default krb5 port is now krb5-117.
  • MIT's practice is to EOL KRB5 n-2. krb5-115 is deprecated and set to expire Jan 31, 2020.


cyAuthored on
rP489736: Correct CONFLICTS.