pam-krb5 4.6 released

Russ Allbery rra at
Sat Jun 2 23:24:37 EDT 2012

I'm pleased to announce release 4.6 of pam-krb5.

pam-krb5 is a Kerberos PAM module for either MIT Kerberos or Heimdal.  It
supports ticket refreshing by screen savers, configurable authorization
handling, authentication of non-local accounts for network services,
password changing, and password expiration, as well as all the standard
expected PAM features.  It works correctly with OpenSSH, even with
ChallengeResponseAuthentication and PrivilegeSeparation enabled, and
supports extensive configuration either by PAM options or in krb5.conf or
both.  PKINIT is supported with recent versions of both MIT Kerberos and
Heimdal and FAST is supported with recent MIT Kerberos.

Changes from previous release:

    Add an anon_fast option that attempts anonymous authentication
    (generally implemented via anonymous PKINIT inside the Kerberos
    library) and then, if successful, uses those credentials for FAST
    armor.  If fast_ccache and anon_fast are both specified, anonymous
    authentication will be used as a fallback if the specified FAST ticket
    cache doesn't exist.  Based on patches from Yair Yarom.

    Add a user_realm option to only set the realm for unqualified user
    principals.  This differs from the existing realm option in that realm
    also changes the default realm for authorization decisions and for
    verification of credentials.  Update the realm option documentation to
    clarify the differences and remove incorrect information.  Patch from
    Roland C. Dowdeswell.

    Add a no_prompt option to suppress the PAM module's prompt for the
    user's password and defer all prompting to the Kerberos library.  This
    allows the Kerberos library to have complete control of the prompting
    process, which may be desireable if authentication mechanisms other
    than password are in use.  Be aware that, with this option set, the
    PAM module has no control over the contents of the prompt and cannot
    store the user's password in the PAM data.  Based on a patch by Yair

    Add a silent option to force the module to behave as if the
    application had passed in PAM_SILENT and suppress text messages and
    errors from the Kerberos library.  Patch from Yair Yarom.

    Add preliminary support for Kerberos trace logging via a trace option
    that enables trace logging if supported by the underlying Kerberos
    library.  The option takes as an argument the file name to which to
    log trace output.  This option does not yet work with any released
    version of Kerberos, but may work with the next release of MIT

    MIT Kerberos does not add a colon and space to its password prompts,
    but Heimdal does.  pam-krb5 previously unconditionally added a colon
    and space, resulting in doubled colons with Heimdal.  Work around this
    inconsistency by not adding the colon and space if already present.

    Fix alt_auth_map support to preserve the realm of the authentication
    identity when forming the alternate authentication principal, matching
    the documentation.

    Document that the alt_auth_map format may contain a realm to force all
    mapped principals to be in that realm.  In that case, don't add the
    realm of the authentication identity.  Note that this can be used as a
    simple way to attempt authentication in an alternate realm first and
    then fall back to the local realm, although any complex attempt at
    authentication in multiple realms should instead run the module
    multiple times with different realm settings.

    Avoid a NULL pointer dereference if krb5_init_context fails.

    Fix initialization of time values in the module configuration on
    platforms (like S/390X) where krb5_deltat is not equivalent to long.

    Close a memory leak when search_k5login is set but the user has no
    .k5login file.

    Close several memory leaks in alt_auth_map support.

    Suppress bogus error messages about unknown option for the realm
    option.  The option was being parsed and honored despite the error.

    Retry authentication under try_first_pass on several other errors in
    addition to decrypt integrity check errors to handle a wider array of
    possible "password incorrect" error messages from the KDC.

    Update to rra-c-util 4.4:

    * Replacement strndup now works with non-nul-terminated strings.
    * New Kerberos test setup that simplifies writing tests.
    * Add -D_FORTIFY_SOURCE=2 to the make warnings flags.
    * Use --deps flag to krb5-config by default.
    * Suppress __alloc_size__ attribute with older versions of gcc.
    * Suppress attribute warnings for non-gcc compilers.

    Update to C TAP Harness 1.12:

    * Add bstrndup to the basic C TAP library.
    * Only use feature-test macros when requested or built with gcc -ansi.
    * New tests/tap/macros.h header with some common definitions.
    * Drop is_double from the C TAP library to avoid requiring -lm.
    * Avoid using local in the shell library.

You can download it from:


This package is maintained using Git; see the instructions on the above
page to access the Git repository.

Debian packages have been uploaded to Debian unstable.

Please let me know of any problems or feature requests not already listed
in the TODO file.

Russ Allbery (rra at             <>

More information about the Kerberos mailing list