aboutsummaryrefslogtreecommitdiff
path: root/crypto/krb5/doc/html/_sources/mitK5features.rst.txt
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/krb5/doc/html/_sources/mitK5features.rst.txt')
-rw-r--r--crypto/krb5/doc/html/_sources/mitK5features.rst.txt762
1 files changed, 0 insertions, 762 deletions
diff --git a/crypto/krb5/doc/html/_sources/mitK5features.rst.txt b/crypto/krb5/doc/html/_sources/mitK5features.rst.txt
deleted file mode 100644
index e260e8e08343..000000000000
--- a/crypto/krb5/doc/html/_sources/mitK5features.rst.txt
+++ /dev/null
@@ -1,762 +0,0 @@
-.. highlight:: rst
-
-.. toctree::
- :hidden:
-
- mitK5license.rst
-
-.. _mitK5features:
-
-MIT Kerberos features
-=====================
-
-https://web.mit.edu/kerberos
-
-
-Quick facts
------------
-
-License - :ref:`mitK5license`
-
-Releases:
- - Latest stable: https://web.mit.edu/kerberos/krb5-1.22/
- - Supported: https://web.mit.edu/kerberos/krb5-1.21/
- - Release cycle: approximately 12 months
-
-Supported platforms \/ OS distributions:
- - Windows (KfW 4.0): Windows 7, Vista, XP
- - Solaris: SPARC, x86_64/x86
- - GNU/Linux: Debian x86_64/x86, Ubuntu x86_64/x86, RedHat x86_64/x86
- - BSD: NetBSD x86_64/x86
-
-Crypto backends:
- - builtin - MIT Kerberos native crypto library
- - OpenSSL (1.0\+) - https://www.openssl.org
-
-Database backends: LDAP, DB2, LMDB
-
-krb4 support: Kerberos 5 release < 1.8
-
-DES support: Kerberos 5 release < 1.18 (See :ref:`retiring-des`)
-
-Interoperability
-----------------
-
-`Microsoft`
-
-Starting from release 1.7:
-
-* Follow client principal referrals in the client library when
- obtaining initial tickets.
-
-* KDC can issue realm referrals for service principals based on domain names.
-
-* Extensions supporting DCE RPC, including three-leg GSS context setup
- and unencapsulated GSS tokens inside SPNEGO.
-
-* Microsoft GSS_WrapEX, implemented using the gss_iov API, which is
- similar to the equivalent SSPI functionality. This is needed to
- support some instances of DCE RPC.
-
-* NTLM recognition support in GSS-API, to facilitate dropping in an
- NTLM implementation for improved compatibility with older releases
- of Microsoft Windows.
-
-* KDC support for principal aliases, if the back end supports them.
- Currently, only the LDAP back end supports aliases.
-
-* Support Microsoft set/change password (:rfc:`3244`) protocol in
- kadmind.
-
-* Implement client and KDC support for GSS_C_DELEG_POLICY_FLAG, which
- allows a GSS application to request credential delegation only if
- permitted by KDC policy.
-
-
-Starting from release 1.8:
-
-* Microsoft Services for User (S4U) compatibility
-
-
-`Heimdal`
-
-* Support for KCM credential cache starting from release 1.13
-
-Feature list
-------------
-
-For more information on the specific project see https://k5wiki.kerberos.org/wiki/Projects
-
-Release 1.7
- - Credentials delegation :rfc:`5896`
- - Cross-realm authentication and referrals :rfc:`6806`
- - Master key migration
- - PKINIT :rfc:`4556` :ref:`pkinit`
-
-Release 1.8
- - Anonymous PKINIT :rfc:`6112` :ref:`anonymous_pkinit`
- - Constrained delegation
- - IAKERB https://tools.ietf.org/html/draft-ietf-krb-wg-iakerb-02
- - Heimdal bridge plugin for KDC backend
- - GSS-API S4U extensions https://msdn.microsoft.com/en-us/library/cc246071
- - GSS-API naming extensions :rfc:`6680`
- - GSS-API extensions for storing delegated credentials :rfc:`5588`
-
-Release 1.9
- - Advance warning on password expiry
- - Camellia encryption (CTS-CMAC mode) :rfc:`6803`
- - KDC support for SecurID preauthentication
- - kadmin over IPv6
- - Trace logging :ref:`trace_logging`
- - GSSAPI/KRB5 multi-realm support
- - Plugin to test password quality :ref:`pwqual_plugin`
- - Plugin to synchronize password changes :ref:`kadm5_hook_plugin`
- - Parallel KDC
- - GSS-API extensions for SASL GS2 bridge :rfc:`5801` :rfc:`5587`
- - Purging old keys
- - Naming extensions for delegation chain
- - Password expiration API
- - Windows client support (build-only)
- - IPv6 support in iprop
-
-Release 1.10
- - Plugin interface for configuration :ref:`profile_plugin`
- - Credentials for multiple identities :ref:`ccselect_plugin`
-
-Release 1.11
- - Client support for FAST OTP :rfc:`6560`
- - GSS-API extensions for credential locations
- - Responder mechanism
-
-Release 1.12
- - Plugin to control krb5_aname_to_localname and krb5_kuserok behavior :ref:`localauth_plugin`
- - Plugin to control hostname-to-realm mappings and the default realm :ref:`hostrealm_plugin`
- - GSSAPI extensions for constructing MIC tokens using IOV lists :ref:`gssapi_mic_token`
- - Principal may refer to nonexistent policies `Policy Refcount project <https://k5wiki.kerberos.org/wiki/Projects/Policy_refcount_elimination>`_
- - Support for having no long-term keys for a principal `Principals Without Keys project <https://k5wiki.kerberos.org/wiki/Projects/Principals_without_keys>`_
- - Collection support to the KEYRING credential cache type on Linux :ref:`ccache_definition`
- - FAST OTP preauthentication module for the KDC which uses RADIUS to validate OTP token values :ref:`otp_preauth`
- - Experimental Audit plugin for KDC processing `Audit project <https://k5wiki.kerberos.org/wiki/Projects/Audit>`_
-
-Release 1.13
-
- - Add support for accessing KDCs via an HTTPS proxy server using
- the `MS-KKDCP
- <https://msdn.microsoft.com/en-us/library/hh553774.aspx>`_
- protocol.
- - Add support for `hierarchical incremental propagation
- <https://k5wiki.kerberos.org/wiki/Projects/Hierarchical_iprop>`_,
- where replicas can act as intermediates between an upstream primary
- and other downstream replicas.
- - Add support for configuring GSS mechanisms using
- ``/etc/gss/mech.d/*.conf`` files in addition to
- ``/etc/gss/mech``.
- - Add support to the LDAP KDB module for `binding to the LDAP
- server using SASL
- <https://k5wiki.kerberos.org/wiki/Projects/LDAP_SASL_support>`_.
- - The KDC listens for TCP connections by default.
- - Fix a minor key disclosure vulnerability where using the
- "keepold" option to the kadmin randkey operation could return the
- old keys. `[CVE-2014-5351]
- <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5351>`_
- - Add client support for the Kerberos Cache Manager protocol. If
- the host is running a Heimdal kcm daemon, caches served by the
- daemon can be accessed with the KCM: cache type.
- - When built on macOS 10.7 and higher, use "KCM:" as the default
- cachetype, unless overridden by command-line options or
- krb5-config values.
- - Add support for doing unlocked database dumps for the DB2 KDC
- back end, which would allow the KDC and kadmind to continue
- accessing the database during lengthy database dumps.
-
-Release 1.14
-
- * Administrator experience
-
- - Add a new kdb5_util tabdump command to provide reporting-friendly
- tabular dump formats (tab-separated or CSV) for the KDC database.
- Unlike the normal dump format, each output table has a fixed number
- of fields. Some tables include human-readable forms of data that
- are opaque in ordinary dump files. This format is also suitable for
- importing into relational databases for complex queries.
- - Add support to kadmin and kadmin.local for specifying a single
- command line following any global options, where the command
- arguments are split by the shell--for example, "kadmin getprinc
- principalname". Commands issued this way do not prompt for
- confirmation or display warning messages, and exit with non-zero
- status if the operation fails.
- - Accept the same principal flag names in kadmin as we do for the
- default_principal_flags kdc.conf variable, and vice versa. Also
- accept flag specifiers in the form that kadmin prints, as well as
- hexadecimal numbers.
- - Remove the triple-DES and RC4 encryption types from the default
- value of supported_enctypes, which determines the default key and
- salt types for new password-derived keys. By default, keys will
- only created only for AES128 and AES256. This mitigates some types
- of password guessing attacks.
- - Add support for directory names in the KRB5_CONFIG and
- KRB5_KDC_PROFILE environment variables.
- - Add support for authentication indicators, which are ticket
- annotations to indicate the strength of the initial authentication.
- Add support for the "require_auth" string attribute, which can be
- set on server principal entries to require an indicator when
- authenticating to the server.
- - Add support for key version numbers larger than 255 in keytab files,
- and for version numbers up to 65535 in KDC databases.
- - Transmit only one ETYPE-INFO and/or ETYPE-INFO2 entry from the KDC
- during pre-authentication, corresponding to the client's most
- preferred encryption type.
- - Add support for server name identification (SNI) when proxying KDC
- requests over HTTPS.
- - Add support for the err_fmt profile parameter, which can be used to
- generate custom-formatted error messages.
-
- * Developer experience:
-
- - Change gss_acquire_cred_with_password() to acquire credentials into
- a private memory credential cache. Applications can use
- gss_store_cred() to make the resulting credentials visible to other
- processes.
- - Change gss_acquire_cred() and SPNEGO not to acquire credentials for
- IAKERB or for non-standard variants of the krb5 mechanism OID unless
- explicitly requested. (SPNEGO will still accept the Microsoft
- variant of the krb5 mechanism OID during negotiation.)
- - Change gss_accept_sec_context() not to accept tokens for IAKERB or
- for non-standard variants of the krb5 mechanism OID unless an
- acceptor credential is acquired for those mechanisms.
- - Change gss_acquire_cred() to immediately resolve credentials if the
- time_rec parameter is not NULL, so that a correct expiration time
- can be returned. Normally credential resolution is delayed until
- the target name is known.
- - Add krb5_prepend_error_message() and krb5_wrap_error_message() APIs,
- which can be used by plugin modules or applications to add prefixes
- to existing detailed error messages.
- - Add krb5_c_prfplus() and krb5_c_derive_prfplus() APIs, which
- implement the RFC 6113 PRF+ operation and key derivation using PRF+.
- - Add support for pre-authentication mechanisms which use multiple
- round trips, using the the KDC_ERR_MORE_PREAUTH_DATA_REQUIRED error
- code. Add get_cookie() and set_cookie() callbacks to the kdcpreauth
- interface; these callbacks can be used to save marshalled state
- information in an encrypted cookie for the next request.
- - Add a client_key() callback to the kdcpreauth interface to retrieve
- the chosen client key, corresponding to the ETYPE-INFO2 entry sent
- by the KDC.
- - Add an add_auth_indicator() callback to the kdcpreauth interface,
- allowing pre-authentication modules to assert authentication
- indicators.
- - Add support for the GSS_KRB5_CRED_NO_CI_FLAGS_X cred option to
- suppress sending the confidentiality and integrity flags in GSS
- initiator tokens unless they are requested by the caller. These
- flags control the negotiated SASL security layer for the Microsoft
- GSS-SPNEGO SASL mechanism.
- - Make the FILE credential cache implementation less prone to
- corruption issues in multi-threaded programs, especially on
- platforms with support for open file description locks.
-
- * Performance:
-
- - On replica KDCs, poll the primary KDC immediately after
- processing a full resync, and do not require two full resyncs
- after the primary KDC's log file is reset.
-
-Release 1.15
-
-* Administrator experience:
-
- - Add support to kadmin for remote extraction of current keys
- without changing them (requires a special kadmin permission that
- is excluded from the wildcard permission), with the exception of
- highly protected keys.
-
- - Add a lockdown_keys principal attribute to prevent retrieval of
- the principal's keys (old or new) via the kadmin protocol. In
- newly created databases, this attribute is set on the krbtgt and
- kadmin principals.
-
- - Restore recursive dump capability for DB2 back end, so sites can
- more easily recover from database corruption resulting from power
- failure events.
-
- - Add DNS auto-discovery of KDC and kpasswd servers from URI
- records, in addition to SRV records. URI records can convey TCP
- and UDP servers and primary KDC status in a single DNS lookup, and
- can also point to HTTPS proxy servers.
-
- - Add support for password history to the LDAP back end.
-
- - Add support for principal renaming to the LDAP back end.
-
- - Use the getrandom system call on supported Linux kernels to avoid
- blocking problems when getting entropy from the operating system.
-
-* Code quality:
-
- - Clean up numerous compilation warnings.
-
- - Remove various infrequently built modules, including some preauth
- modules that were not built by default.
-
-* Developer experience:
-
- - Add support for building with OpenSSL 1.1.
-
- - Use SHA-256 instead of MD5 for (non-cryptographic) hashing of
- authenticators in the replay cache. This helps sites that must
- build with FIPS 140 conformant libraries that lack MD5.
-
-* Protocol evolution:
-
- - Add support for the AES-SHA2 enctypes, which allows sites to
- conform to Suite B crypto requirements.
-
-Release 1.16
-
-* Administrator experience:
-
- - The KDC can match PKINIT client certificates against the
- "pkinit_cert_match" string attribute on the client principal
- entry, using the same syntax as the existing "pkinit_cert_match"
- profile option.
-
- - The ktutil addent command supports the "-k 0" option to ignore the
- key version, and the "-s" option to use a non-default salt string.
-
- - kpropd supports a --pid-file option to write a pid file at
- startup, when it is run in standalone mode.
-
- - The "encrypted_challenge_indicator" realm option can be used to
- attach an authentication indicator to tickets obtained using FAST
- encrypted challenge pre-authentication.
-
- - Localization support can be disabled at build time with the
- --disable-nls configure option.
-
-* Developer experience:
-
- - The kdcpolicy pluggable interface allows modules control whether
- tickets are issued by the KDC.
-
- - The kadm5_auth pluggable interface allows modules to control
- whether kadmind grants access to a kadmin request.
-
- - The certauth pluggable interface allows modules to control which
- PKINIT client certificates can authenticate to which client
- principals.
-
- - KDB modules can use the client and KDC interface IP addresses to
- determine whether to allow an AS request.
-
- - GSS applications can query the bit strength of a krb5 GSS context
- using the GSS_C_SEC_CONTEXT_SASL_SSF OID with
- gss_inquire_sec_context_by_oid().
-
- - GSS applications can query the impersonator name of a krb5 GSS
- credential using the GSS_KRB5_GET_CRED_IMPERSONATOR OID with
- gss_inquire_cred_by_oid().
-
- - kdcpreauth modules can query the KDC for the canonicalized
- requested client principal name, or match a principal name against
- the requested client principal name with canonicalization.
-
-* Protocol evolution:
-
- - The client library will continue to try pre-authentication
- mechanisms after most failure conditions.
-
- - The KDC will issue trivially renewable tickets (where the
- renewable lifetime is equal to or less than the ticket lifetime)
- if requested by the client, to be friendlier to scripts.
-
- - The client library will use a random nonce for TGS requests
- instead of the current system time.
-
- - For the RC4 string-to-key or PAC operations, UTF-16 is supported
- (previously only UCS-2 was supported).
-
- - When matching PKINIT client certificates, UPN SANs will be matched
- correctly as UPNs, with canonicalization.
-
-* User experience:
-
- - Dates after the year 2038 are accepted (provided that the platform
- time facilities support them), through the year 2106.
-
- - Automatic credential cache selection based on the client realm
- will take into account the fallback realm and the service
- hostname.
-
- - Referral and alternate cross-realm TGTs will not be cached,
- avoiding some scenarios where they can be added to the credential
- cache multiple times.
-
- - A German translation has been added.
-
-* Code quality:
-
- - The build is warning-clean under clang with the configured warning
- options.
-
- - The automated test suite runs cleanly under AddressSanitizer.
-
-Release 1.17
-
-* 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.
-
-* Code quality:
-
- - Python test scripts now use Python 3.
-
- - Python test scripts now display markers in verbose output, making
- it easier to find where a failure occurred within the scripts.
-
- - The Windows build system has been simplified and updated to work
- with more recent versions of Visual Studio. A large volume of
- unused Windows-specific code has been removed. Visual Studio 2013
- or later is now required.
-
-Release 1.18
-
-* Administrator experience:
-
- - Remove support for single-DES encryption types.
-
- - Change the replay cache format to be more efficient and robust.
- Replay cache filenames using the new format end with ``.rcache2``
- by default.
-
- - setuid programs will automatically ignore environment variables
- that normally affect krb5 API functions, even if the caller does
- not use krb5_init_secure_context().
-
- - Add an ``enforce_ok_as_delegate`` krb5.conf relation to disable
- credential forwarding during GSSAPI authentication unless the KDC
- sets the ok-as-delegate bit in the service ticket.
-
-* Developer experience:
-
- - Implement krb5_cc_remove_cred() for all credential cache types.
-
- - Add the krb5_pac_get_client_info() API to get the client account
- name from a PAC.
-
-* Protocol evolution:
-
- - Add KDC support for S4U2Self requests where the user is identified
- by X.509 certificate. (Requires support for certificate lookup
- from a third-party KDB module.)
-
- - Remove support for an old ("draft 9") variant of PKINIT.
-
- - Add support for Microsoft NegoEx. (Requires one or more
- third-party GSS modules implementing NegoEx mechanisms.)
-
-* User experience:
-
- - Add support for ``dns_canonicalize_hostname=fallback``, causing
- host-based principal names to be tried first without DNS
- canonicalization, and again with DNS canonicalization if the
- un-canonicalized server is not found.
-
- - Expand single-component hostnames in hhost-based principal names
- when DNS canonicalization is not used, adding the system's first
- DNS search path as a suffix. Add a ``qualify_shortname``
- krb5.conf relation to override this suffix or disable expansion.
-
-* Code quality:
-
- - The libkrb5 serialization code (used to export and import krb5 GSS
- security contexts) has been simplified and made type-safe.
-
- - The libkrb5 code for creating KRB-PRIV, KRB-SAFE, and KRB-CRED
- messages has been revised to conform to current coding practices.
-
- - The test suite has been modified to work with macOS System
- Integrity Protection enabled.
-
- - The test suite incorporates soft-pkcs11 so that PKINIT PKCS11
- support can always be tested.
-
-Release 1.19
-
-* Administrator experience:
-
- - When a client keytab is present, the GSSAPI krb5 mech will refresh
- credentials even if the current credentials were acquired
- manually.
-
- - It is now harder to accidentally delete the K/M entry from a KDB.
-
-* Developer experience:
-
- - gss_acquire_cred_from() now supports the "password" and "verify"
- options, allowing credentials to be acquired via password and
- verified using a keytab key.
-
- - When an application accepts a GSS security context, the new
- GSS_C_CHANNEL_BOUND_FLAG will be set if the initiator and acceptor
- both provided matching channel bindings.
-
- - Added the GSS_KRB5_NT_X509_CERT name type, allowing S4U2Self
- requests to identify the desired client principal by certificate.
-
- - PKINIT certauth modules can now cause the hw-authent flag to be
- set in issued tickets.
-
- - The krb5_init_creds_step() API will now issue the same password
- expiration warnings as krb5_get_init_creds_password().
-
-* Protocol evolution:
-
- - Added client and KDC support for Microsoft's Resource-Based
- Constrained Delegation, which allows cross-realm S4U2Proxy
- requests. A third-party database module is required for KDC
- support.
-
- - kadmin/admin is now the preferred server principal name for kadmin
- connections, and the host-based form is no longer created by
- default. The client will still try the host-based form as a
- fallback.
-
- - Added client and server support for Microsoft's
- KERB_AP_OPTIONS_CBT extension, which causes channel bindings to be
- required for the initiator if the acceptor provided them. The
- client will send this option if the client_aware_gss_bindings
- profile option is set.
-
-User experience:
-
- - The default setting of dns_canonicalize_realm is now "fallback".
- Hostnames provided from applications will be tried in principal
- names as given (possibly with shortname qualification), falling
- back to the canonicalized name.
-
- - kinit will now issue a warning if the des3-cbc-sha1 encryption
- type is used in the reply. This encryption type will be
- deprecated and removed in future releases.
-
- - Added kvno flags --out-cache, --no-store, and --cached-only
- (inspired by Heimdal's kgetcred).
-
-Release 1.20
-
-* Administrator experience:
-
- - Added a "disable_pac" realm relation to suppress adding PAC
- authdata to tickets, for realms which do not need to support S4U
- requests.
-
- - Most credential cache types will use atomic replacement when a
- cache is reinitialized using kinit or refreshed from the client
- keytab.
-
- - kprop can now propagate databases with a dump size larger than
- 4GB, if both the client and server are upgraded.
-
- - kprop can now work over NATs that change the destination IP
- address, if the client is upgraded.
-
-* Developer experience:
-
- - Updated the KDB interface. The sign_authdata() method is replaced
- with the issue_pac() method, allowing KDB modules to add logon
- info and other buffers to the PAC issued by the KDC.
-
- - Host-based initiator names are better supported in the GSS krb5
- mechanism.
-
-* Protocol evolution:
-
- - Replaced AD-SIGNEDPATH authdata with minimal PACs.
-
- - To avoid spurious replay errors, password change requests will not
- be attempted over UDP until the attempt over TCP fails.
-
- - PKINIT will sign its CMS messages with SHA-256 instead of SHA-1.
-
-* Code quality:
-
- - Updated all code using OpenSSL to be compatible with OpenSSL 3.
-
- - Reorganized the libk5crypto build system to allow the OpenSSL
- back-end to pull in material from the builtin back-end depending
- on the OpenSSL version.
-
- - Simplified the PRNG logic to always use the platform PRNG.
-
- - Converted the remaining Tcl tests to Python.
-
-Release 1.21
-
-* User experience:
-
- - Added a credential cache type providing compatibility with the
- macOS 11 native credential cache.
-
-* Developer experience:
-
- - libkadm5 will use the provided krb5_context object to read
- configuration values, instead of creating its own.
-
- - Added an interface to retrieve the ticket session key from a GSS
- context.
-
-* Protocol evolution:
-
- - The KDC will no longer issue tickets with RC4 or triple-DES
- session keys unless explicitly configured with the new allow_rc4
- or allow_des3 variables respectively.
-
- - The KDC will assume that all services can handle aes256-sha1
- session keys unless the service principal has a session_enctypes
- string attribute.
-
- - Support for PAC full KDC checksums has been added to mitigate an
- S4U2Proxy privilege escalation attack.
-
- - The PKINIT client will advertise a more modern set of supported
- CMS algorithms.
-
-* Code quality:
-
- - Removed unused code in libkrb5, libkrb5support, and the PKINIT
- module.
-
- - Modernized the KDC code for processing TGS requests, the code for
- encrypting and decrypting key data, the PAC handling code, and the
- GSS library packet parsing and composition code.
-
- - Improved the test framework's detection of memory errors in daemon
- processes when used with asan.
-
-Release 1.22
-
-* User experience:
-
- - The libdefaults configuration variable "request_timeout" can be
- set to limit the total timeout for KDC requests. When making a
- KDC request, the client will now wait indefinitely (or until the
- request timeout has elapsed) on a KDC which accepts a TCP
- connection, without contacting any additional KDCs. Clients will
- make fewer DNS queries in some configurations.
-
- - The realm configuration variable "sitename" can be set to cause
- the client to query site-specific DNS records when making KDC
- requests.
-
-* Administrator experience:
-
- - Principal aliases are supported in the DB2 and LMDB KDB modules
- and in the kadmin protocol. (The LDAP KDB module has supported
- aliases since release 1.7.)
-
- - UNIX domain sockets are supported for the Kerberos and kpasswd
- protocols.
-
- - systemd socket activation is supported for krb5kdc and kadmind.
-
-* Developer experience:
-
- - KDB modules can be be implemented in terms of other modules using
- the new krb5_db_load_module() function.
-
- - The profile library supports the modification of empty profiles
- and the copying of modified profiles, making it possible to
- construct an in-memory profile and pass it to
- krb5_init_context_profile().
-
- - GSS-API applications can pass the GSS_C_CHANNEL_BOUND flag to
- gss_init_sec_context() to request strict enforcement of channel
- bindings by the acceptor.
-
-* Protocol evolution:
-
- - The PKINIT preauth module supports elliptic curve client
- certificates, ECDH key exchange, and the Microsoft paChecksum2
- field.
-
- - The IAKERB implementation has been changed to comply with the most
- recent draft standard and to support realm discovery.
-
- - Message-Authenticator is supported in the RADIUS implementation
- used by the OTP kdcpreauth module.
-
-* Code quality:
-
- - Removed old-style function declarations, to accomodate compilers
- which have removed support for them.
-
- - Added OSS-Fuzz to the project's continuous integration
- infrastructure.
-
- - Rewrote the GSS per-message token parsing code for improved
- safety.
-
-`Pre-authentication mechanisms`
-
-- PW-SALT :rfc:`4120#section-5.2.7.3`
-- ENC-TIMESTAMP :rfc:`4120#section-5.2.7.2`
-- SAM-2
-- FAST negotiation framework (release 1.8) :rfc:`6113`
-- PKINIT with FAST on client (release 1.10) :rfc:`6113`
-- PKINIT :rfc:`4556`
-- FX-COOKIE :rfc:`6113#section-5.2`
-- S4U-X509-USER (release 1.8) https://msdn.microsoft.com/en-us/library/cc246091
-- OTP (release 1.12) :ref:`otp_preauth`
-- SPAKE (release 1.17) :ref:`spake`