]> eyrie.org Git - kerberos/pam-krb5.git/log
kerberos/pam-krb5.git
23 months agoGenerate testing krb5.conf files for more tests main
Russ Allbery [Wed, 29 Jun 2022 18:23:21 +0000 (11:23 -0700)]
Generate testing krb5.conf files for more tests

Ensure that tests have a krb5.conf file with a default realm set,
since otherwise they may fail for reasons other than the test is
designed to detect.

Fixes #25.

2 years agoMerge pull request #23 from rra/dependabot/github_actions/actions/checkout-3
Russ Allbery [Thu, 10 Mar 2022 04:23:59 +0000 (20:23 -0800)]
Merge pull request #23 from rra/dependabot/github_actions/actions/checkout-3

Bump actions/checkout from 2 to 3

2 years agoBump actions/checkout from 2 to 3
dependabot[bot] [Mon, 7 Mar 2022 16:05:56 +0000 (16:05 +0000)]
Bump actions/checkout from 2 to 3

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agoAdd TODO link to the web page
Russ Allbery [Sun, 17 Oct 2021 23:12:18 +0000 (16:12 -0700)]
Add TODO link to the web page

DocKnot 5.00 stopped generating TODO links by default, but
pam-krb5 still uses a TODO file.  Add the link back in.

2 years agoRelease 4.10 release/4.11
Russ Allbery [Sun, 17 Oct 2021 22:23:00 +0000 (15:23 -0700)]
Release 4.10

2 years agoAdd Makefile rule to regenerate the man page
Russ Allbery [Sun, 17 Oct 2021 22:21:38 +0000 (15:21 -0700)]
Add Makefile rule to regenerate the man page

The manual page is normally generated by the bootstrap script and
included in release tarballs, but that meant it would not be
regenerated when the POD source was modified.  Add an explicit
Makefile rule for it to address this problem.

2 years agoRemove Autoconf backup files on make distclean
Russ Allbery [Sun, 17 Oct 2021 22:12:37 +0000 (15:12 -0700)]
Remove Autoconf backup files on make distclean

Add the comment from rra-c-util for MAINTAINERCLEANFILES and
remove config.h.in~ and configure~ on make distclean.

2 years agoUpdate formatting for rra-c-util 10.0
Russ Allbery [Sun, 17 Oct 2021 22:06:42 +0000 (15:06 -0700)]
Update formatting for rra-c-util 10.0

rra-c-util 10.0 will use slightly different clang-format options
to align with INN.  Adopt those for pam-krb5.

2 years agoUpdate to rra-c-util 10.0
Russ Allbery [Wed, 6 Oct 2021 03:44:23 +0000 (20:44 -0700)]
Update to rra-c-util 10.0

* Support Autoconf 2.71 without warnings.
* Tests written in Perl now require Perl 5.10 or later.

2 years agoClean up bugs in PAM_DATA_SILENT
Russ Allbery [Sat, 25 Sep 2021 21:53:28 +0000 (14:53 -0700)]
Clean up bugs in PAM_DATA_SILENT

We still need to free the Kerberos context, we just don't want to
destroy the cache.  Also fix a memory leak in the PAM testing
parser.

2 years agoSupport PAM_DATA_SILENT with pam_end
Russ Allbery [Sat, 25 Sep 2021 21:44:34 +0000 (14:44 -0700)]
Support PAM_DATA_SILENT with pam_end

Properly support calling pam_end with PAM_DATA_SILENT by not deleting
the underlying ticket cache.  This flag is used when the application
is closing the PAM session after a fork to free memory resources, but
doesn't intend to free resources external to the process because
another process may still depend on them.  Thanks to Andrew G. Morgan
for the report.

Fixes #21

2 years agoFix indentation in docknot.yaml
Russ Allbery [Sun, 28 Mar 2021 20:02:25 +0000 (13:02 -0700)]
Fix indentation in docknot.yaml

2 years agoStop guessing at the module installation path
Russ Allbery [Wed, 15 Sep 2021 18:48:25 +0000 (11:48 -0700)]
Stop guessing at the module installation path

Stop attempting to guess the correct PAM module installation path on
Linux systems when --prefix is set to /usr and instead document that
--libdir will probably need to be set explicitly.  The previous logic
is now broken on Debian usrmerge systems and the guesswork seems too
fragile to maintain.

3 years agoSimplify GitHub Actions testing
Russ Allbery [Sat, 20 Mar 2021 22:22:36 +0000 (15:22 -0700)]
Simplify GitHub Actions testing

We don't need to run the full test suite separately for Clang
builds, since we're not expecting different behavior, just different
warnings.  Build with both Clang and GCC in one ci/test pass and
only matrix the Kerberos version.

3 years agoRelease 4.10 release/4.10
Russ Allbery [Sat, 20 Mar 2021 19:37:13 +0000 (12:37 -0700)]
Release 4.10

3 years agoUpgrade to DocKnot 4.01
Russ Allbery [Sat, 20 Mar 2021 19:31:27 +0000 (12:31 -0700)]
Upgrade to DocKnot 4.01

Upgrade the DocKnot configuration to the new YAML syntax and
regenerate all of the package documentation.

3 years agoAdd dependabot configuration for GitHub Actions
Russ Allbery [Mon, 15 Mar 2021 05:23:42 +0000 (22:23 -0700)]
Add dependabot configuration for GitHub Actions

3 years agoFix make warnings build
Russ Allbery [Mon, 15 Mar 2021 05:18:19 +0000 (22:18 -0700)]
Fix make warnings build

The rra-c-util update requires changing KRB5_CPPFLAGS_GCC to
KRB5_CPPFLAGS_WARNINGS in the warnings target.

3 years agoUpdate to rra-c-util 9.0 and C TAP Harness 4.7
Russ Allbery [Mon, 15 Mar 2021 04:51:36 +0000 (21:51 -0700)]
Update to rra-c-util 9.0 and C TAP Harness 4.7

Update to rra-c-util 9.0:

* Check that at least one Kerberos header file was found and works.
* Use AS_ECHO in all Autoconf macros in preference to echo.
* Fix portability of reallocarray on NetBSD systems.
* Stop providing a replacement for a broken snprintf.

Update to C TAP Harness 4.7:

* Fix warnings with GCC 10.

3 years agoAvoid double free of ctx->princ in a failure case
Russ Allbery [Sat, 30 Jan 2021 19:55:44 +0000 (11:55 -0800)]
Avoid double free of ctx->princ in a failure case

When re-retrieving the authenticated principal from the current cache,
ensure the stored principal in the authentication context is always
either valid or NULL.  Otherwise, a failure of krb5_cc_get_principal
could result in a double free.  Thanks to Michael Muehle for the
report.

Fixes #20

4 years agoFix domain_realm configuration for CI for MIT
Russ Allbery [Mon, 18 May 2020 01:37:57 +0000 (18:37 -0700)]
Fix domain_realm configuration for CI for MIT

Set the proper domain_realm mapping for the MIT KDC setup for CI,
rather than setting it up for the Heimdal realm.

4 years agoUpdate documentation metadata and regenerate
Russ Allbery [Mon, 18 May 2020 01:10:30 +0000 (18:10 -0700)]
Update documentation metadata and regenerate

Note that pam-krb5 uses the Lancaster conensus so that the testing
instructions will be generated, and mark it as supporting valgrind
testing.

4 years agoIgnore some branches for GitHub Actions
Russ Allbery [Mon, 18 May 2020 01:07:12 +0000 (18:07 -0700)]
Ignore some branches for GitHub Actions

Don't attempt to build the branches used for Debian packaging.

4 years agoRemove obsolete comment from ci/test
Russ Allbery [Mon, 18 May 2020 01:06:53 +0000 (18:06 -0700)]
Remove obsolete comment from ci/test

Remove a comment that only applies to C TAP Harness.

4 years agoRemove deprecating settings from TODO
Russ Allbery [Tue, 31 Mar 2020 03:52:19 +0000 (20:52 -0700)]
Remove deprecating settings from TODO

I'm never going to do this.  Even if they duplicate standard
Kerberos options, it's easy enough to continue to support this.

4 years agoFix clang warnings with portable/snprintf.c
Russ Allbery [Tue, 31 Mar 2020 03:35:20 +0000 (20:35 -0700)]
Fix clang warnings with portable/snprintf.c

Suppress warnings for __attribute__((fallthrough)) for older
versions of Clang.

4 years agoAdd new security advisory to metadata release/4.9
Russ Allbery [Sun, 29 Mar 2020 18:37:44 +0000 (11:37 -0700)]
Add new security advisory to metadata

4 years agoImprove the ci directory documentation
Russ Allbery [Sun, 29 Mar 2020 06:21:35 +0000 (23:21 -0700)]
Improve the ci directory documentation

Change the format to Markdown for better formatting on GitHub and
add documentation for the KDC setup scripts.

4 years agoAdd a test for minimum_uid
Russ Allbery [Sun, 29 Mar 2020 06:11:13 +0000 (23:11 -0700)]
Add a test for minimum_uid

4 years agoFix memory handling issues found by clang
Russ Allbery [Sun, 29 Mar 2020 05:49:39 +0000 (22:49 -0700)]
Fix memory handling issues found by clang

Fix an edge-case memory leak in pam_chauthtok when prompting for a new
password for an ignored user.  Add a new test that exercises that code
path.

Refactor a couple of other places with correct memory management that
confused Clang Static Analyzer to make the code more straightforward.

4 years agoUpdate distribution file list
Russ Allbery [Sun, 29 Mar 2020 04:56:29 +0000 (21:56 -0700)]
Update distribution file list

4 years agoFix cppcheck errors with pkinit_auth
Russ Allbery [Sun, 29 Mar 2020 04:39:52 +0000 (21:39 -0700)]
Fix cppcheck errors with pkinit_auth

Restructure the code so that there is only one preprocessor
conditional block, avoiding various cppcheck warnings.

4 years agoSuppress fallthrough warnings with clang 10
Russ Allbery [Sun, 29 Mar 2020 04:28:38 +0000 (21:28 -0700)]
Suppress fallthrough warnings with clang 10

clang 10 (and possibly clang 9) requires an __attribute__ marker
to suppress fallthrough warnings and no longer supports a special
comment.  Adjust portable/snprintf.c accordingly.

4 years agoRelease 4.9
Russ Allbery [Sun, 29 Mar 2020 04:06:48 +0000 (21:06 -0700)]
Release 4.9

4 years agoAdd CVE for buffer overflow security fix
Russ Allbery [Mon, 23 Mar 2020 04:17:58 +0000 (21:17 -0700)]
Add CVE for buffer overflow security fix

4 years agoRedo support for use_pkinit for MIT Kerberos
Russ Allbery [Mon, 23 Mar 2020 03:47:48 +0000 (20:47 -0700)]
Redo support for use_pkinit for MIT Kerberos

Use krb5_get_prompt_types instead, which eliminates the need to
define a responder function and simplifies the code.

4 years agoDon't check files ending in *.o for SPDX notices
Russ Allbery [Mon, 23 Mar 2020 03:07:43 +0000 (20:07 -0700)]
Don't check files ending in *.o for SPDX notices

This normally isn't an issue because the test skips binary files,
but sometimes object files fool the binary file check, so explicitly
exclude them.

4 years agoUpdate comment about nul-terminating prompt responses
Russ Allbery [Tue, 3 Mar 2020 08:38:48 +0000 (00:38 -0800)]
Update comment about nul-terminating prompt responses

Document that the need for this is probably an urban legend, but
that I'm retaining it out of an abundance of caution.

4 years agoFix buffer overflow in prompting, further cleanup
Russ Allbery [Tue, 3 Mar 2020 07:57:02 +0000 (23:57 -0800)]
Fix buffer overflow in prompting, further cleanup

SECURITY: All previous versions of this module could overflow the
buffer provided by the underlying Kerberos library for the response to
a prompt by writing a single nul character past the end of the buffer.

Return more accurate errors from the Kerberos prompter function if it
was unable to prompt for the password.  This may translate into better
debug log messages and, in some situations, returning the slightly
more accurate PAM_AUTHINFO_UNAVAIL instead of PAM_AUTH_ERR.

4 years agoMerge pull request #17 from jhutz/prompt-mapped
Russ Allbery [Sun, 29 Mar 2020 03:50:03 +0000 (20:50 -0700)]
Merge pull request #17 from jhutz/prompt-mapped

Make map_principal() visible outside alt-auth.c

4 years agoAdd full CI testing of MIT Kerberos
Russ Allbery [Sun, 29 Mar 2020 02:27:29 +0000 (19:27 -0700)]
Add full CI testing of MIT Kerberos

Attempt to install an MIT Kerberos KDC and create users and
certificates so that all tests will run in GitHub Workflows when
testing under MIT Kerberos.

4 years agoMake map_principal() visible outside alt-auth.c
James Cassidy [Fri, 22 Mar 2013 15:40:19 +0000 (11:40 -0400)]
Make map_principal() visible outside alt-auth.c

4 years agoAdd CVEs for security fixes in 3.13
Russ Allbery [Sun, 8 Mar 2020 22:36:45 +0000 (15:36 -0700)]
Add CVEs for security fixes in 3.13

4 years agoAdd CI testing against a real Heimdal server
Russ Allbery [Mon, 2 Mar 2020 08:27:14 +0000 (00:27 -0800)]
Add CI testing against a real Heimdal server

When testing against Heimdal, automate setting up a Heimdal KDC in
the test VM and storing the necessary configuration to do full
Kerberos testing.

4 years agoClean up PAM response freeing
Russ Allbery [Mon, 2 Mar 2020 07:45:39 +0000 (23:45 -0800)]
Clean up PAM response freeing

Refactor the code to free PAM responses into its own function.
Properly free the PAM responses to the selection of a PKINIT
identity, closing a memory leak.  Use explicit_bzero to overwrite
any possible secrets, where available.

4 years agoClean up PAM prompt construction
Russ Allbery [Mon, 2 Mar 2020 07:18:54 +0000 (23:18 -0800)]
Clean up PAM prompt construction

Simplify the code for constructing PAM prompts a little more.

4 years agoClean up the password prompting code
Russ Allbery [Mon, 2 Mar 2020 07:01:19 +0000 (23:01 -0800)]
Clean up the password prompting code

Make the password prompt generation code more straightforward at
the cost of an extra memory allocation.

4 years agoRemove Travis CI configuration
Russ Allbery [Mon, 2 Mar 2020 06:02:23 +0000 (22:02 -0800)]
Remove Travis CI configuration

Delete the Travis CI configuration, change the documentation
metadata to indicate that GitHub Actions are now being used,
and regenerate the documentation to update the status badge.

4 years agoOnly run cppcheck on one CI build
Russ Allbery [Mon, 2 Mar 2020 05:58:48 +0000 (21:58 -0800)]
Only run cppcheck on one CI build

cppcheck checks all branches of preprocessors anyway, so no need
to run it more than once.

4 years agoFix the name of the cppcheck suppression
Russ Allbery [Mon, 2 Mar 2020 05:56:13 +0000 (21:56 -0800)]
Fix the name of the cppcheck suppression

4 years agoFix the cppcheck suppression yet again
Russ Allbery [Mon, 2 Mar 2020 05:53:47 +0000 (21:53 -0800)]
Fix the cppcheck suppression yet again

4 years agoUpdate requirements documentation
Russ Allbery [Mon, 2 Mar 2020 05:50:58 +0000 (21:50 -0800)]
Update requirements documentation

Mention MIT Kerberos 1.12 for use_pkinit support and be clearer
about where the module is tested (only Linux).

4 years agoFix build on Heimdal
Russ Allbery [Mon, 2 Mar 2020 05:50:33 +0000 (21:50 -0800)]
Fix build on Heimdal

Some of the new MIT responder code was not hidden properly behind
conditional compilation.

4 years agoFix cppcheck errors
Russ Allbery [Mon, 2 Mar 2020 05:42:30 +0000 (21:42 -0800)]
Fix cppcheck errors

Fix a couple of errors that cppcheck only detects in the older
version run by GitHub Actions, and update the suppression for
the verify label.

4 years agoFix the name of the PAM library for CI
Russ Allbery [Mon, 2 Mar 2020 05:37:46 +0000 (21:37 -0800)]
Fix the name of the PAM library for CI

4 years agoInstall PAM libraries for CI
Russ Allbery [Mon, 2 Mar 2020 05:36:41 +0000 (21:36 -0800)]
Install PAM libraries for CI

4 years agoFix selection of Kerberos for CI
Russ Allbery [Mon, 2 Mar 2020 05:33:21 +0000 (21:33 -0800)]
Fix selection of Kerberos for CI

Looks like sudo on GitHub Actions doesn't pass environment
variables, so use the KERBEROS environment variable for
ci/test instead.

4 years agoAdd configuration for GitHub workflows
Russ Allbery [Mon, 2 Mar 2020 05:29:09 +0000 (21:29 -0800)]
Add configuration for GitHub workflows

Build with both GCC and Clang for both MIT Kerberos and Heimdal.
Drive the CI build with scripts in the ci directory.

4 years agoRemove completed TODO items
Russ Allbery [Mon, 2 Mar 2020 05:22:15 +0000 (21:22 -0800)]
Remove completed TODO items

4 years agoClean up the top level
Russ Allbery [Mon, 2 Mar 2020 05:19:26 +0000 (21:19 -0800)]
Clean up the top level

Move all the module code into the module directory and the man
page into the docs directory to look more like my other packages.

4 years agoWork around duplicate PKCS12 prompt
Russ Allbery [Mon, 2 Mar 2020 05:16:59 +0000 (21:16 -0800)]
Work around duplicate PKCS12 prompt

For some reason, MIT Kerberos prompts twice for the PKCS12
passphrase.  Work around this in the test script and add a note
to TODO.

Also note the untested prompting for PKINIT identity in TODO.

4 years agoFix module/basic test without default realm
Russ Allbery [Mon, 2 Mar 2020 04:55:10 +0000 (20:55 -0800)]
Fix module/basic test without default realm

Ensure the module/basic test will run properly when the system
krb5.conf file does not specify a default realm.  Reported by TBK.

Closes #15

4 years agoAdd a note that PKINIT identity selection is untested
Russ Allbery [Mon, 2 Mar 2020 04:28:47 +0000 (20:28 -0800)]
Add a note that PKINIT identity selection is untested

4 years agoAdd a test for PIN prompting
Russ Allbery [Mon, 2 Mar 2020 04:27:35 +0000 (20:27 -0800)]
Add a test for PIN prompting

If the openssl command-line utility is found during the build and
pam-krb5 is built with MIT Kerberos, prompting for a PKINIT PIN will
be tested by building a PKCS12 file from the provided PKINIT test
configuration.

4 years agoSupport use_pkinit with MIT Kerberos
Russ Allbery [Mon, 2 Mar 2020 01:31:04 +0000 (17:31 -0800)]
Support use_pkinit with MIT Kerberos

Support use_pkinit with MIT Kerberos 1.12 or later.  Be aware that
this option is implemented by using a responder without a prompter,
and thus any informational messages from the Kerberos libraries or KDC
during authentication will not be displayed.  (Debian Bug#871699)

4 years agoAdd missing markup for a PAM option in documentation
Russ Allbery [Mon, 2 Mar 2020 01:11:39 +0000 (17:11 -0800)]
Add missing markup for a PAM option in documentation

4 years agoUpdate to rra-c-util 8.2
Russ Allbery [Sun, 2 Feb 2020 22:07:56 +0000 (14:07 -0800)]
Update to rra-c-util 8.2

* Fix support for configuring the test suite with a krb5.conf file.

4 years agoReject excessively long passwords
Russ Allbery [Mon, 20 Jan 2020 06:30:42 +0000 (22:30 -0800)]
Reject excessively long passwords

Reject passwords as long or longer than PAM_MAX_RESP_SIZE (normally
512 octets), since extremely long passwords can be used for a denial
of service attack via the Kerberos string to key function.  Thanks to
Florian Best for pointing out this issue and suggesting a good fix.

4 years agoClean up ENTRY and EXIT macros
Russ Allbery [Mon, 20 Jan 2020 05:41:49 +0000 (21:41 -0800)]
Clean up ENTRY and EXIT macros

Use the do/while format to protect the statements, which allows
clang to format them correctly.

4 years agoRegenerate documentation files
Russ Allbery [Mon, 20 Jan 2020 04:41:01 +0000 (20:41 -0800)]
Regenerate documentation files

Update for some documentation changes and add badges for Travis-CI
status and the Debian package version.

4 years agoFix spelling errors found with codespell
Russ Allbery [Mon, 20 Jan 2020 04:39:04 +0000 (20:39 -0800)]
Fix spelling errors found with codespell

4 years agoUpdate to rra-c-util 8.2 (unreleased)
Russ Allbery [Mon, 20 Jan 2020 03:10:56 +0000 (19:10 -0800)]
Update to rra-c-util 8.2 (unreleased)

Fix spelling errors caught by codespell.

4 years agoSplit module/fast test into two components
Russ Allbery [Sun, 19 Jan 2020 03:56:45 +0000 (19:56 -0800)]
Split module/fast test into two components

Test keytab-based FAST authentication separately from anonymous
FAST, since the latter has to be excluded from valgrind testing.
This also simplifies some of the skipping logic.

4 years agoUpdate to new mechanism of valgrind testing
Russ Allbery [Sun, 19 Jan 2020 02:19:50 +0000 (18:19 -0800)]
Update to new mechanism of valgrind testing

Use the C TAP Harness support for valgrind testing and mark the
tests that can be run under valgrind.  Fix problems in one module
that knew too much about the contents of the test temporary
directory.  Exclude the tests that use the pkinit.so module, since
they cause valgrind to go into an infinite loop.

4 years agoAdd SPDX-License-Identifier to all files
Russ Allbery [Sat, 18 Jan 2020 23:29:40 +0000 (15:29 -0800)]
Add SPDX-License-Identifier to all files

4 years agoFix warnings when building with Clang
Russ Allbery [Sat, 18 Jan 2020 22:36:59 +0000 (14:36 -0800)]
Fix warnings when building with Clang

4 years agoAdd cppcheck static analysis
Russ Allbery [Sat, 18 Jan 2020 22:24:47 +0000 (14:24 -0800)]
Add cppcheck static analysis

Add a check-cppcheck target and fix all the issues uncovered by it
(including adding one suppression).

4 years agoReformat code with clang-format 10 and .clang-format
Russ Allbery [Sat, 18 Jan 2020 22:01:34 +0000 (14:01 -0800)]
Reformat code with clang-format 10 and .clang-format

4 years agoUpdate dist for Travis-CI, enable verbose tests
Russ Allbery [Sat, 18 Jan 2020 21:41:08 +0000 (13:41 -0800)]
Update dist for Travis-CI, enable verbose tests

Also redo the branch handling so that release tags are also tested.

4 years agoUpdate to rra-c-util 8.1 and C TAP Harness 4.6
Russ Allbery [Sat, 18 Jan 2020 21:38:56 +0000 (13:38 -0800)]
Update to rra-c-util 8.1 and C TAP Harness 4.6

Update to rra-c-util 8.1:

* Drop support for Perl 5.6.
* Reformat all C source using clang-format 10.
* Remove bogus snprintf tests.
* Fix misplaced va_end in the pam-util putil_log_failure function.
* Skip checking for krb5-config on the path if a prefix was given.
* Add SPDX-License-Identifier headers to all substantial source files.

Update to C TAP Harness 4.6:

* Fixed malloc error checking in bstrndup.
* Fix (harmless) allocation error in runtests driver.
* Add support for valgrind testing via test list options.
* Report test failures as left and right, not wanted and seen.
* Fix is_string comparisons involving NULL pointers and "(null)".
* Add SPDX-License-Identifier headers to all substantial source files.

6 years agoFix va_end placement in pam-util/logging.c
Russ Allbery [Sat, 2 Jun 2018 03:13:55 +0000 (20:13 -0700)]
Fix va_end placement in pam-util/logging.c

Fixed by importing the current version from rra-c-util.

6 years agoRemove spurious thread in debian/summary metadata
Russ Allbery [Sun, 31 Dec 2017 05:41:03 +0000 (21:41 -0800)]
Remove spurious thread in debian/summary metadata

6 years agoRelease 4.8 release/4.8
Russ Allbery [Sun, 31 Dec 2017 03:30:53 +0000 (19:30 -0800)]
Release 4.8

6 years agoConvert documentation to DocKnot, add README.md
Russ Allbery [Sun, 31 Dec 2017 03:07:38 +0000 (19:07 -0800)]
Convert documentation to DocKnot, add README.md

Add all of the metadata for DocKnot documentation generation, and
regenerate README using DocKnot 1.02.  Add a README.md file, mostly
for GitHub.

6 years agoAdd clang to Travis-CI testing
Russ Allbery [Sat, 30 Dec 2017 19:09:42 +0000 (11:09 -0800)]
Add clang to Travis-CI testing

6 years agoUpdate to rra-c-util 7.0 and C TAP Harness 4.2
Russ Allbery [Sat, 30 Dec 2017 19:08:22 +0000 (11:08 -0800)]
Update to rra-c-util 7.0 and C TAP Harness 4.2

Update to rra-c-util 7.0:

* Support a warning build under Clang.
* Avoid zero-length allocations in reallocarray and vector.

Update to C TAP Harness 4.2:

* Avoid zero-length allocations in breallocarray.
* Add is_blob and is_bool functions.
* Use C_TAP_SOURCE and C_TAP_BUILD environment variables in tests.

Compile cleanly under GCC 7 and Clang warnings and Clang's static
analyzer.

6 years agoImprove ticket cache and krb5.conf documentation
Russ Allbery [Sun, 17 Sep 2017 22:05:13 +0000 (15:05 -0700)]
Improve ticket cache and krb5.conf documentation

Better document that the default Kerberos library ticket cache
location is not used (and why), and how to set configuration
parameters in krb5.conf.  Thanks, Matthew Gabeler-Lee.  (Debian
Bug#872943)

6 years agoSet credential options properly to verify expired passwords
Russ Allbery [Sat, 12 Aug 2017 03:00:35 +0000 (20:00 -0700)]
Set credential options properly to verify expired passwords

When verifying that an expired password can still be used to get
kadmin/changepw credentials, correctly set the credential options for
getting password change credentials, not for getting initial
credentials.  This should fix password change issues when, for
example, krb5.conf requests that all tickets be proxiable but
kadmin/changepw doesn't allow proxiable credentials.  Thanks to
Florian Best for the bug report.

6 years agoUpdate krb5_get_init_creds_opt_set_change_password_prompt comment
Russ Allbery [Sat, 12 Aug 2017 02:37:31 +0000 (19:37 -0700)]
Update krb5_get_init_creds_opt_set_change_password_prompt comment

This function is now available in Heimdal, so update the comment
in portable/krb5.h.

6 years agoFix expired password tests to work with Heimdal 7.0.1 and later
Russ Allbery [Sat, 12 Aug 2017 02:36:24 +0000 (19:36 -0700)]
Fix expired password tests to work with Heimdal 7.0.1 and later

6 years agoRun configure before make in Travis
Russ Allbery [Fri, 11 Aug 2017 04:08:18 +0000 (21:08 -0700)]
Run configure before make in Travis

6 years agoDocument PKINIT test configuration
Russ Allbery [Fri, 11 Aug 2017 03:24:22 +0000 (20:24 -0700)]
Document PKINIT test configuration

Document the test suite configuration files required to run the PKINIT
tests.

6 years agoAdd configuration for Travis-CI testing
Russ Allbery [Fri, 11 Aug 2017 02:51:29 +0000 (19:51 -0700)]
Add configuration for Travis-CI testing

6 years agoRename autogen to bootstrap
Russ Allbery [Fri, 11 Aug 2017 02:49:08 +0000 (19:49 -0700)]
Rename autogen to bootstrap

Rename the script to bootstrap from a Git checkout to bootstrap,
matching the emerging consensus in the Autoconf world.

6 years agoUpdate to rra-c-util 6.3 and C TAP Harness 3.4
Russ Allbery [Fri, 11 Aug 2017 02:45:45 +0000 (19:45 -0700)]
Update to rra-c-util 6.3 and C TAP Harness 3.4

Update to rra-c-util 6.3:

* Fix new warnings in GCC 7.
* Probe for warning flags instead of hard-coding a list.
* New test for obsolete URLs and email addresses.
* Remove unused portable replacements for strlcpy and strlcat.
* Use C_TAP_SOURCE and C_TAP_BUILD environment variables in tests.
* Fix portability defines for anonymous principal strings.
* Clear errno on pam_modutil_getpwnam to improve other testing.
* Add portability defines for macOS's PAM implementation.
* Add new Autoconf macro to probe for pam_strerror const usage.
* Support Solaris 10's included Kerberos.

Update to C TAP Harness 3.4:

* Fix segfault in runtests with an empty test list.
* Display verbose test results with -v or C_TAP_VERBOSE.
* Test infrastructure builds cleanly with Clang warnings.

7 years agoFix typo in auth.c comment
Russ Allbery [Sun, 28 May 2017 01:46:11 +0000 (18:46 -0700)]
Fix typo in auth.c comment

8 years agoDocument that defer_pwchange doesn't work with Heimdal
Russ Allbery [Sun, 29 Nov 2015 01:34:50 +0000 (17:34 -0800)]
Document that defer_pwchange doesn't work with Heimdal

Fixes #4.  Thanks to Florian Best for the report.

8 years agoRework better Heimdal PKINIT error reporting
Russ Allbery [Sun, 16 Aug 2015 23:29:46 +0000 (16:29 -0700)]
Rework better Heimdal PKINIT error reporting

Move the error reporting into a separate function, and maintain
backward compatibility with older versions of Heimdal that don't
have the new status codes.  Don't break the try_pkinit handling,
and continue not to report messages for missing PKINIT keys under
try_pkinit but not use_pkinit.

8 years agoMerge pull request #1 from HenryJacques/error_messages
Russ Allbery [Sun, 16 Aug 2015 22:56:51 +0000 (15:56 -0700)]
Merge pull request #1 from HenryJacques/error_messages

Add more friendly error messages with pkinit

8 years agoAdd more friendly error messages with pkinit
HenryJacques [Mon, 20 Jul 2015 10:20:57 +0000 (12:20 +0200)]
Add more friendly error messages with pkinit

This PR depends on whether the HX509_PKCS11_* code are defined in hx509_err.h.
Those are introduced in the Heimdal's PR #136 (https://github.com/heimdal/heimdal/pull/136)