-# krb5-strength 3.1
+# krb5-strength
-Copyright 2016 Russ Allbery <eagle@eyrie.org>. Copyright 2006-2007,
-2009-2010, 2012-2014 The Board of Trustees of the Leland Stanford Junior
-University. Copyright 1993 Alec Muffett. This software is distributed
-under a BSD-style license. Please see the section [License](#license)
-below for more information.
+[![Build
+status](https://github.com/rra/krb5-strength/workflows/build/badge.svg)](https://github.com/rra/krb5-strength/actions)
+[![Debian
+package](https://img.shields.io/debian/v/krb5-strength/unstable)](https://tracker.debian.org/pkg/krb5-strength)
+
+Copyright 2016, 2020, 2023 Russ Allbery <eagle@eyrie.org>. Copyright
+2006-2007, 2009-2010, 2012-2014 The Board of Trustees of the Leland
+Stanford Junior University. Copyright 1993 Alec Muffett. This software
+is distributed under a BSD-style license. Please see the section
+[License](#license) below for more information.
## Blurb
For Heimdal, you may use either the external password quality check tool,
installed as heimdal-strength, or the plugin as you choose. It has been
tested with Heimdal 1.2.1 and later, but has not recently been tested with
-versions prior to 1.5.
+versions prior to 7.0.
For MIT Kerberos, version 1.9 or higher is required for the password
quality plugin interface. MIT Kerberos does not support an external
For building a CDB or SQLite dictionary, use the provided
`krb5-strength-wordlist` program. For CDB dictionries, the `cdb` utility
must be on your `PATH`. For SQLite, the DBI and DBD::SQLite Perl modules
-are required. `krb5-strength-wordlist` requires Perl 5.006 or later.
+are required. `krb5-strength-wordlist` requires Perl 5.010 or later.
For a word list to use as source for the dictionary, you can use
`/usr/share/dict/words` if it's available on your system, but it would be
The password history program, heimdal-history, requires Perl 5.010 or
later plus the following CPAN modules:
-* DB_File::Lock
+* Const::Fast
* Crypt::PBKDF2
+* DB_File::Lock
* Getopt::Long::Descriptive
* IPC::Run
-* JSON
-* Readonly
+* JSON::MaybeXS
and their dependencies.
-To run the test suite, you will need Perl 5.010 or later and the
-dependencies of the `heimdal-history` program. The following additional
-Perl modules will also be used by the test suite if present:
-
-* Perl6::Slurp
-* Test::MinimumVersion
-* Test::Perl::Critic
-* Test::Pod
-* Test::Spelling
-* Test::Strict
-
-All are available on CPAN. Some tests will be skipped if the modules are
-not available.
-
-To enable tests that don't detect functionality problems but are used to
-sanity-check the release, set the environment variable `RELEASE_TESTING`
-to a true value. To enable tests that may be sensitive to the local
-environment or that produce a lot of false positives without uncovering
-many problems, set the environment variable `AUTHOR_TESTING` to a true
-value.
-
To bootstrap from a Git checkout, or if you change the Automake files and
need to regenerate Makefile.in, you will need Automake 1.11 or later. For
bootstrap or if you change configure.ac or any of the m4 files it includes
and need to regenerate configure or config.h.in, you will need Autoconf
-2.64 or later. You will also need Perl 5.010 or later and the DBI,
-DBD::SQLite, JSON, Perl6::Slurp, and Readonly modules (from CPAN) to
-generate man pages and bootstrap the test suite data from a Git checkout.
+2.64 or later. Perl is also required to generate manual pages from a
+fresh Git checkout. You will also need Perl 5.010 or later and the
+Const::Fast, DBI, DBD::SQLite, JSON::MaybeXS, and Perl6::Slurp modules
+(from CPAN) to bootstrap the test suite data from a Git checkout.
## Building and Installation
You can also individually set the paths to the include directory and the
library directory with `--with-krb5-include` and `--with-krb5-lib`. You
-may need to do this if Autoconf can't figure out whether to use lib,
-lib32, or lib64 on your platform.
+may need to do this if Autoconf can't figure out whether to use `lib`,
+`lib32`, or `lib64` on your platform.
-To not use krb5-config and force library probing even if there is a
-krb5-config script on your path, set PATH_KRB5_CONFIG to a nonexistent
+To not use `krb5-config` and force library probing even if there is a
+`krb5-config` script on your path, set `PATH_KRB5_CONFIG` to a nonexistent
path:
```
Pass `--enable-silent-rules` to configure for a quieter build (similar to
the Linux kernel). Use `make warnings` instead of `make` to build with
-full GCC compiler warnings (requires a relatively current version of GCC).
+full GCC compiler warnings (requires either GCC or Clang and may require a
+relatively current version of the compiler).
You can pass the `--enable-reduced-depends` flag to configure to try to
minimize the shared library dependencies encoded in the binaries. This
Do this instead of running the test program directly since it will ensure
that necessary environment variables are set up.
+To run the test suite, you will need Perl 5.010 or later and the
+dependencies of the `heimdal-history` program. The following additional
+Perl modules will also be used by the test suite if present:
+
+* Perl6::Slurp
+* Test::MinimumVersion
+* Test::Perl::Critic
+* Test::Pod
+* Test::Spelling
+* Test::Strict
+
+All are available on CPAN. Some tests will be skipped if the modules are
+not available.
+
+To enable tests that don't detect functionality problems but are used to
+sanity-check the release, set the environment variable `RELEASE_TESTING`
+to a true value. To enable tests that may be sensitive to the local
+environment or that produce a lot of false positives without uncovering
+many problems, set the environment variable `AUTHOR_TESTING` to a true
+value.
+
## Support
The [krb5-strength web
The krb5-strength package as a whole is covered by the following copyright
statement and license:
-> Copyright 2016
+> Copyright 2016, 2020, 2023
> Russ Allbery <eagle@eyrie.org>
>
> Copyright 2006-2007, 2009-2010, 2012-2014
> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> DEALINGS IN THE SOFTWARE.
>
-> Developed by Derrick Brashear and Ken Hornstein of Sine Nomine Associates,
-> on behalf of Stanford University.
+> Developed by Daria Phoebe Brashear and Ken Hornstein of Sine Nomine
+> Associates, on behalf of Stanford University.
>
> The embedded version of CrackLib (all files in the `cracklib`
> subdirectory) is covered by the Artistic license. See the file
required notices, and detailed information about the licensing of each
file, are recorded in the LICENSE file.
+Files covered by a license with an assigned SPDX License Identifier
+include SPDX-License-Identifier tags to enable automated processing of
+license information. See https://spdx.org/licenses/ for more information.
+
For any copyright range specified by files in this package as YYYY-ZZZZ,
the range specifies every single year in that closed interval.