]> git.ipfire.org Git - thirdparty/krb5.git/log
thirdparty/krb5.git
6 years agoUpdate for krb5-1.15.5-postrelease krb5-1.15
Greg Hudson [Mon, 7 Jan 2019 22:56:56 +0000 (17:56 -0500)] 
Update for krb5-1.15.5-postrelease

6 years agoUpdate for krb5-1.15.5 krb5-1.15.5-final
Greg Hudson [Mon, 7 Jan 2019 17:15:57 +0000 (12:15 -0500)] 
Update for krb5-1.15.5

6 years agoUpdate man pages
Greg Hudson [Mon, 7 Jan 2019 16:47:46 +0000 (11:47 -0500)] 
Update man pages

6 years agoUpdate copyright years to 2019
Greg Hudson [Mon, 7 Jan 2019 16:24:59 +0000 (11:24 -0500)] 
Update copyright years to 2019

(cherry picked from commit 7e127ebdbf88dccae9f9e5427e90319981a69266)

6 years agoFix double-close in ksu get_authorized_princ_names
Robbie Harwood [Tue, 18 Dec 2018 20:18:13 +0000 (15:18 -0500)] 
Fix double-close in ksu get_authorized_princ_names

If list_union() fails due to an allocation failure, then close_time()
will attempt to fclose users_fp and login_fp a second time.

This bug was originally introduced in commit
be95b52c2d0c21b1fe92f9f90166fc2fa8eecc95, and has been present in
every krb5 release since 1.1.

(cherry picked from commit 0b8c6f3e1e8e561aa56a7d4e2171320119991dae)

ticket: 8768
version_fixed: 1.15.5

6 years agoRemove incorrect KDC assertion
Isaac Boukris [Sat, 15 Dec 2018 09:56:36 +0000 (11:56 +0200)] 
Remove incorrect KDC assertion

The assertion in return_enc_padata() is reachable because
kdc_make_s4u2self_rep() may have previously added encrypted padata.
It is no longer necessary because the code uses add_pa_data_element()
instead of allocating a new list.

CVE-2018-20217:

In MIT krb5 1.8 or later, an authenticated user who can obtain a TGT
using an older encryption type (DES, DES3, or RC4) can cause an
assertion failure in the KDC by sending an S4U2Self request.

[ghudson@mit.edu: rewrote commit message with CVE description]

(cherry picked from commit 94e5eda5bb94d1d44733a49c3d9b6d1e42c74def)

ticket: 8767
version_fixed: 1.15.5

6 years agoDon't include all MEMORY ccaches in collection
Greg Hudson [Wed, 1 Aug 2018 19:53:12 +0000 (15:53 -0400)] 
Don't include all MEMORY ccaches in collection

In the MEMORY ccache implementation, only yield a cache in the
per-type cursor if it is the context default cache, matching the
behavior of FILE after commit 45360c9688ca963f75a2480f2cf818424fc3dc7b
(ticket 6955).

(cherry picked from commit 49bb627fed70c5258c151c5135ac3d95ed1ee55d)

ticket: 8720
version_fixed: 1.15.5

6 years agoUpdate for krb5-1.15.4-postrelease
Greg Hudson [Fri, 2 Nov 2018 04:45:39 +0000 (00:45 -0400)] 
Update for krb5-1.15.4-postrelease

6 years agoUpdate for krb5-1.15.4 krb5-1.15.4-final
Greg Hudson [Thu, 1 Nov 2018 22:36:44 +0000 (18:36 -0400)] 
Update for krb5-1.15.4

6 years agomake update-po
Greg Hudson [Thu, 1 Nov 2018 22:23:50 +0000 (18:23 -0400)] 
make update-po

6 years agoUpdate man pages
Greg Hudson [Thu, 1 Nov 2018 22:23:31 +0000 (18:23 -0400)] 
Update man pages

6 years agomake depend
Greg Hudson [Thu, 1 Nov 2018 22:22:59 +0000 (18:22 -0400)] 
make depend

6 years agoFix leak on error in kadm5 randkey handling
Greg Hudson [Thu, 25 Oct 2018 15:56:58 +0000 (11:56 -0400)] 
Fix leak on error in kadm5 randkey handling

An attempt to change the kadmin/history key with the -keepold flag
would leak the KDB entry and keysalt tuple as it returned an error.
Use the cleanup handler instead of returning directly.  Reported by
Bean Zhang.

(cherry picked from commit c4bdb3a1c890149a472ed98a94cf85316b143265)

ticket: 8759
version_fixed: 1.15.4

6 years agoFix incorrect TRACE usages to use {str}
Robbie Harwood [Thu, 27 Sep 2018 21:45:59 +0000 (17:45 -0400)] 
Fix incorrect TRACE usages to use {str}

(cherry picked from commit 3023a7d253c3052897b3d77d2f7ce992ff93e913)

ticket: 8743
version_fixed: 1.15.4

6 years agoDon't rely on default realm in S4U2Self client
Isaac Boukris [Sat, 15 Sep 2018 07:28:48 +0000 (10:28 +0300)] 
Don't rely on default realm in S4U2Self client

When converting server principal to enterprise name (to be possibly
used for cross-realm), ignore the realm when reparsing, to avoid a
spurious error if a default realm isn't configured.

[ghudson@mit.edu: added rewritten test case; edited commit message]

(cherry picked from commit 13967567ca65a306c2d5fcb4a4aff71fb422cd80)

ticket: 8741
version_fixed: 1.15.4

6 years agoFix memory bugs in gss_add_cred() extension case
Greg Hudson [Thu, 13 Sep 2018 20:31:36 +0000 (16:31 -0400)] 
Fix memory bugs in gss_add_cred() extension case

If gss_add_cred() is called with both an input_cred_handle and an
output_cred_handle, it creates a new credential with the elements of
the input credential plus the requested element.  Making a shallow
copy of mechs_array and cred_array from the old credential creates
aliased pointers which become invalid when one of the two credentials
is released, leading to use-after-free and double-free errors.

Instead, make a full copy of the input cred for this case.  Make this
copy at the beginning so that union_cred can always be modified in
place (and freed on error using gss_release_cred() if we created it),
removing the need for new_union_cred, new_mechs_array, and
new_cred_array.  Use a stack object for target_mechs to simplify
cleanup and reduce the number of failure cases.

GSSAPI provides no facility for copying a credential; since we mostly
use the GSSAPI as our SPI for mechanisms, we have no simple way to
copy mechanism creds when copying the union cred.  Use
gss_export_cred() and gss_import_cred() if the mechanism provides
them; otherwise fall back to gss_inquire_cred() and
gss_acquire_cred().

(cherry picked from commit 288cbada833dc6af7d43dd308563b48b73347dfb)

ticket: 8734
version_fixed: 1.15.4

6 years agoAlways honor desired_name in gss_add_cred()
Greg Hudson [Sat, 15 Sep 2018 00:35:50 +0000 (20:35 -0400)] 
Always honor desired_name in gss_add_cred()

Remove the conditionalization around the desired_name processing in
gss_add_cred_from(), so that we always honor the requested name.

(cherry picked from commit 6d4eb6eb473c93f0db05409195448364382760a9)

ticket: 8737
version_fixed: 1.15.4

6 years agoFix memory leak in gss_add_cred() creation case
Greg Hudson [Thu, 13 Sep 2018 15:29:46 +0000 (11:29 -0400)] 
Fix memory leak in gss_add_cred() creation case

If gss_add_cred() is called with no input_cred_handle, it creates a
new credential with one element.  At the end of the function, use the
created credential as the output container, rather than creating a
second one and leaking the first.

Add a test program for gss_add_cred() and run it.

(cherry picked from commit 9e32161dc307a323fd36fd59e252583fe7b90526)

ticket: 8729
version_fixed: 1.15.4

6 years agoCheck mech cred in gss_inquire_cred_by_mech()
Greg Hudson [Thu, 13 Sep 2018 21:03:36 +0000 (17:03 -0400)] 
Check mech cred in gss_inquire_cred_by_mech()

If gss_inquire_cred_by_mech() is called with a mechanism and there is
no corresponding mechanism credential in the union cred, return
GSS_S_NO_CRED (as Heimdal does) instead of interrogating the mechanism
about the default credential.

(cherry picked from commit 8ea7e36661cfa6d8acb2b1af615870092a408cce)

ticket: 8736
version_fixed: 1.15.4

6 years agoCheck strdup return in kadm5_get_config_params()
Greg Hudson [Tue, 28 Aug 2018 01:10:53 +0000 (21:10 -0400)] 
Check strdup return in kadm5_get_config_params()

When copying the realm string, if strdup() returns NULL, fail out with
ENOMEM instead of pretending the realm wasn't specified.  When copying
KRB5_DEFAULT_SUPPORTED_ENCTYPES, if strdup() returns NULL, fail out
with ENOMEM instead of crashing.  Reported by Bean Zhang.

(cherry picked from commit c0af219be218c02e72160ecd0521bc5b9bad546f)

ticket: 8727
version_fixed: 1.15.4

6 years agoCorrectly handle fallback in KDC OTP callback
Robbie Harwood [Tue, 3 Oct 2017 18:28:47 +0000 (14:28 -0400)] 
Correctly handle fallback in KDC OTP callback

In otp_state.c:callback(), avoid invoking the failure callback when we
fall back to the next token.  Since request_send() consumes the
request, don't try to free it.

[ghudson@mit.edu: added test case; edited commit message]

(cherry picked from commit 09c9b7d6f64767429e90ad11a529e6ffa9538043)

ticket: 8708
version_fixed: 1.15.4

6 years agoFix OTP secret file leak and whitespace removal
Greg Hudson [Tue, 26 Jun 2018 16:47:10 +0000 (12:47 -0400)] 
Fix OTP secret file leak and whitespace removal

In read_secret_file() in the OTP kdcpreauth module, add a cleanup
label and free filename on exit.  Also fix the whitespace stripping
code to correctly find the end offset, and use size_t rather than int
offsets.  The leak was reported by Bean Zhang.

(cherry picked from commit 396c736c0add2e13f4a9aaaefc9c86445b701953)

ticket: 8704
version_fixed: 1.15.4

6 years agoFix option parsing on Windows
Greg Hudson [Wed, 16 May 2018 04:52:08 +0000 (21:52 -0700)] 
Fix option parsing on Windows

Commit 8f9ade8ec50cde1176411085294f85ecfb2820a4 (ticket 8391) moved
the built-in getopt() and getopt_long() implementations from a static
library in util/windows to util/support, where (on Windows) it is
built into k5sprt32.dll or k5sprt64.dll.  The getopt() interface uses
global variables opterr, optind, optopt, and optarg, each renamed via
macro to have a k5_ prefix when we use the built-in implementation.
Data objects exported from DLLs need special handling in Windows; they
must be marked as DATA in the DLL .def file, and they must be declared
with "__declspec(dllimport)" in calling code.  Without this handling,
optind begins with a garbage value and getopt_long() returns -1
immediately, so client programs always behave as if they have no
arguments.

Stop unnecessarily declaring optind and optarg in client programs.
Declare the getopt() global variables with __declspec(dllimport) on
Windows, except when compiling getopt.c itself.  When creating
libkrb5support.exports on Windows (this file is later used by
lib/Makefile.in to create k5sprt32.def), add a DATA tag to the data
objects.

(cherry picked from commit 63246cf3513a0e8bdfc734db985af14c8c5170c5)

ticket: 8684
version_fixed: 1.15.4

6 years agoDisable canonicalization in ccselect tests
Greg Hudson [Wed, 4 Jul 2018 16:11:45 +0000 (16:11 +0000)] 
Disable canonicalization in ccselect tests

DNS canonicalization can interfere with the fallback tests by changing
"localhost" to have multiple components, or (less likely) changing the
parent domain of foo.krbtest.com or foo.krbtest2.com.

(cherry picked from commit b5457d8fb719a583b89e1ace186301a144e2c4c9)

6 years agoEscape curly braces in def-check.pl regexes
Greg Hudson [Sat, 5 May 2018 17:40:37 +0000 (13:40 -0400)] 
Escape curly braces in def-check.pl regexes

Recent versions of Perl issue a warning or error when an unescaped
open curly brace is used in a position where it might introduce a
quantifier in a regular expression.  Escape all regexp literal curly
braces in def-check.pl.

(cherry picked from commit 523e4ab050b13404a6929cc56ef873de8023e25c)

ticket: 8677
version_fixed: 1.15.4

6 years agoFix bugs with concurrent use of MEMORY ccaches
Greg Hudson [Sun, 1 Jul 2018 04:12:25 +0000 (00:12 -0400)] 
Fix bugs with concurrent use of MEMORY ccaches

A memory ccache iterator stores an alias into the cache object's
linked list of credentials.  If the cache is reinitialized while the
iterator is active, the alias becomes invalid.  Also, multiple handles
referencing the same memory ccache all use aliases to the same data
object; if one of the handles is destroyed, the other contains a
dangling pointer.

Fix the first issue by adding a generation counter to the cache and to
cursors, incremented each time the cache is initialized or destroyed.
Check the generation on each cursor step and end the iteration if the
list was invalidated.  Fix the second issue by adding a reference
count to the cache object, counting one reference for the table slot
and one for each open handle.  Empty the cache object on each destroy
operation, but only release the object when the last handle to it is
destroyed or closed.

Add regression tests for the two issues to t_cc.c.

The first issue was reported by Sorin Manolache.

(cherry picked from commit 146dadec8fe7ccc4149eb2e3f577cc320aee6efb)

ticket: 8202
version_fixed: 1.15.4

7 years agoUpdate for krb5-1.15.3-postrelease 831/head
Greg Hudson [Fri, 4 May 2018 14:27:23 +0000 (10:27 -0400)] 
Update for krb5-1.15.3-postrelease

7 years agoUpdate for krb5-1.15.3 krb5-1.15.3-final
Greg Hudson [Thu, 3 May 2018 18:24:15 +0000 (14:24 -0400)] 
Update for krb5-1.15.3

7 years agomake update-po
Greg Hudson [Thu, 3 May 2018 17:00:03 +0000 (13:00 -0400)] 
make update-po

7 years agoUpdate man pages
Greg Hudson [Thu, 3 May 2018 16:59:41 +0000 (12:59 -0400)] 
Update man pages

7 years agoSet error message on KCM get_princ failure
Robbie Harwood [Fri, 27 Apr 2018 17:51:39 +0000 (13:51 -0400)] 
Set error message on KCM get_princ failure

This matches the expected behavior from other ccache types.  Most
notably, the KEYRING equivalent was added in
c25fc42e8eac7350209df61e4a7b9960d17755ca

(cherry picked from commit 58f60f3df7a625ccdcce23dfadd52dc335fd8da7)

ticket: 8675
version_fixed: 1.15.3

7 years agoFix doubled "kadmind:" in kadmind fail_to_start()
Greg Hudson [Mon, 23 Apr 2018 18:54:17 +0000 (14:54 -0400)] 
Fix doubled "kadmind:" in kadmind fail_to_start()

Commit 779a335f4e2deb2d76caf7d0dd3de847a040c050 added the
fail_to_start() helper in ovsec_kadmd.c, accidentally sending the
program name to stderr twice.  Remove one of them.

(cherry picked from commit 047d6641bc74696b7cbba0daf56abe632a1b8940)

ticket: 8669
version_fixed: 1.15.3

7 years agoFix KDC null dereference on large TGS replies
Robbie Harwood [Fri, 20 Apr 2018 20:16:02 +0000 (16:16 -0400)] 
Fix KDC null dereference on large TGS replies

For TGS requests, dispatch() doesn't set state->active_realm, which
leads to a NULL dereference in finish_dispatch() if the reply is too
big for UDP.  Prior to commit 0a2f14f752c32a24200363cc6b6ae64a92f81379
the active realm was a global and was set when process_tgs_req()
called setup_server_realm().

Move TGS decoding out of process_tgs_req() so that we can set
state->active_realm before any errors requiring response.  Add a test
case.

[ghudson@mit.edu: edited commit message; added test case; reduced code
duplication; removed server handle from process_tgs_req() parameters]

(cherry picked from commit 6afa8b4abf8f7c5774d03e6b15ee7288ad68d725)

ticket: 8666
version_fixed: 1.15.3

7 years agoContinue after KRB5_CC_END in KCM cache iteration
Fabiano FidĂȘncio [Wed, 28 Mar 2018 16:27:06 +0000 (18:27 +0200)] 
Continue after KRB5_CC_END in KCM cache iteration

The KCM server returns KRB5_CC_END in response to a GET_CACHE_BY_UUID
request to indicate that the specified ccache uuid no longer exists.
In krb5_ptcursor_next(), ignore this error and continue the iteration,
as the Heimdal KCM client code does.

In addition to addressing the case where a third party deletes a cache
between the GET_CACHE_UUID_LIST request and when we reach that uuid in
the iteration, this change also fixes a bug in kdestroy -A where the
caller deletes the primary cache and we later request it by uuid when
iterating over the list.

[ghudson@mit.edu: rewrote commit message; edited comment]

(cherry picked from commit 49087f5e6309f298f8898c35af6f4ade418ced60)

ticket: 8658
version_fixed: 1.15.3

7 years agoFix capaths "." values on client
Greg Hudson [Sat, 3 Mar 2018 18:44:00 +0000 (13:44 -0500)] 
Fix capaths "." values on client

Commit b72aef2c1cbcc76f7fba14ddc54a4e66e7a4e66c (ticket 6966)
introduced k5_client_realm_path() for use on the client in place of
krb5_walk_realm_tree(), but failed to handle the special case of a
capaths "." value as is done in the latter function.  Correct that
omission and add a test case.

(cherry picked from commit f8d0877f848563d07152a0ee191fe82846fdb8f1)

ticket: 8646
version_fixed: 1.15.3

7 years agoFix KDC encrypting key memory leak on some errors
Greg Hudson [Tue, 27 Feb 2018 16:56:58 +0000 (11:56 -0500)] 
Fix KDC encrypting key memory leak on some errors

Commit 0ba5ccd7bb3ea15e44a87f84ca6feed8890f657d separated the
allocation and destruction of encrypting_key, causing it to leak when
any of the intervening calls jump to the cleanup label.  Currently the
leak manifests on transited or authdata failures.  Move encrypting_key
destruction to the cleanup label so that it can't leak.  Reported by
anedvedicky@gmail.com.

(cherry picked from commit 1bcf2742d504a22b7354251bbc1e19c3dacd95f3)

ticket: 8645
version_fixed: 1.15.3

7 years agoFix memory leak in KDC PKINIT code
sashan [Tue, 20 Feb 2018 22:03:36 +0000 (23:03 +0100)] 
Fix memory leak in KDC PKINIT code

Commit e5c77a11341a79e6af1e5aef7c587a5b75a9e378 introduced a memory
leak of the client public key in server_process_dh().  Free
client_pubkey on success as well as failure.

(cherry picked from commit cefc250efd71515dd665b606bcb993e617068758)

ticket: 8644
version_fixed: 1.15.3

7 years agoFix flaws in LDAP DN checking
Greg Hudson [Fri, 12 Jan 2018 16:43:01 +0000 (11:43 -0500)] 
Fix flaws in LDAP DN checking

KDB_TL_USER_INFO tl-data is intended to be internal to the LDAP KDB
module, and not used in disk or wire principal entries.  Prevent
kadmin clients from sending KDB_TL_USER_INFO tl-data by giving it a
type number less than 256 and filtering out type numbers less than 256
in kadm5_create_principal_3().  (We already filter out low type
numbers in kadm5_modify_principal()).

In the LDAP KDB module, if containerdn and linkdn are both specified
in a put_principal operation, check both linkdn and the computed
standalone_principal_dn for container membership.  To that end, factor
out the checks into helper functions and call them on all applicable
client-influenced DNs.

CVE-2018-5729:

In MIT krb5 1.6 or later, an authenticated kadmin user with permission
to add principals to an LDAP Kerberos database can cause a null
dereference in kadmind, or circumvent a DN container check, by
supplying tagged data intended to be internal to the database module.
Thanks to Sharwan Ram and Pooja Anil for discovering the potential
null dereference.

CVE-2018-5730:

In MIT krb5 1.6 or later, an authenticated kadmin user with permission
to add principals to an LDAP Kerberos database can circumvent a DN
containership check by supplying both a "linkdn" and "containerdn"
database argument, or by supplying a DN string which is a left
extension of a container DN string but is not hierarchically within
the container DN.

(cherry picked from commit e1caf6fb74981da62039846931ebdffed71309d1)

ticket: 8643
version_fixed: 1.15.3

7 years agoAlways set appdefault_get() output argument
Nehal J Wani [Sun, 28 Jan 2018 08:02:57 +0000 (03:02 -0500)] 
Always set appdefault_get() output argument

gcc 7 cannot determine that appdefault_get() always sets *ret_value
when it returns zero, so issues a "may be used uninitialized" warning
in its caller.  Set *ret_value at the beginning of the function body
in accordance with current practices.

[ghudson@mit.edu: clarified commit message]

(cherry picked from commit 364c608911af2f227695bb527d4e42f091ee8bd3)

ticket: 8639
version_fixed: 1.15.3

7 years agoMerge duplicate subsections in profile library
Robbie Harwood [Tue, 10 Apr 2018 19:55:41 +0000 (15:55 -0400)] 
Merge duplicate subsections in profile library

Modify profile_add_node() to return the existing node, rather than
making a new one, when adding subsection configuration.

This fixes an issue where the first instance of a subsection will hide
the second instance entirely.  In particular, it was previously
impossible to split realm-specific configuration across multiple
config files.

[ghudson@mit.edu: adjusted style, added test case]

(cherry picked from commit efab9fa5a6d23c486467264e20b58bf5a9c60f0c)

ticket: 7863
version_fixed: 1.15.3

7 years agoUpdate copyright years to 2018
Michael Mattioli [Mon, 1 Jan 2018 19:45:23 +0000 (14:45 -0500)] 
Update copyright years to 2018

(cherry picked from commit ef7fc96fe51b6d4b757b925259f8c3f36d305090)

7 years agoLength check when parsing GSS token encapsulation
Greg Hudson [Sat, 11 Nov 2017 18:42:28 +0000 (13:42 -0500)] 
Length check when parsing GSS token encapsulation

gssint_get_mech_type_oid() is used by gss_accept_sec_context() to
determine the mechanism of the token.  Without length checking, it
might read a few bytes past the end of the input token buffer.  Add
length checking as well as test cases for truncated encapsulations.
Reported by Bar Katz.

(cherry picked from commit f949e990f930f48df1f108fe311c58ae3da18b24)

ticket: 8620
version_fixed: 1.15.3

7 years agoFix default enctype order in docs
Greg Hudson [Wed, 11 Oct 2017 17:19:03 +0000 (13:19 -0400)] 
Fix default enctype order in docs

Commit 4c234d8754c063177bc627c6298b85020d91c223 added the aes-sha2
enctypes to the documented default enctypes, but in the wrong order.
Reported by Weijun Wang.

(cherry picked from commit e4ffb911497ecd3348c89fb459cc8ccae40bfe42)

ticket: 8616
version_fixed: 1.15.3

7 years agoFix PKINIT cert matching data construction
Greg Hudson [Tue, 17 Oct 2017 22:50:15 +0000 (18:50 -0400)] 
Fix PKINIT cert matching data construction

Rewrite X509_NAME_oneline_ex() and its call sites to use dynamic
allocation and to perform proper error checking.

(cherry picked from commit fbb687db1088ddd894d975996e5f6a4252b9a2b4)

ticket: 8617
version_fixed: 1.15.3

7 years agoUpdate for krb5-1.15.2-postrelease
Greg Hudson [Mon, 25 Sep 2017 17:49:41 +0000 (13:49 -0400)] 
Update for krb5-1.15.2-postrelease

7 years agoUpdate for krb5-1.15.2 krb5-1.15.2-final
Greg Hudson [Mon, 25 Sep 2017 16:26:34 +0000 (12:26 -0400)] 
Update for krb5-1.15.2

7 years agomake update-po
Greg Hudson [Mon, 25 Sep 2017 15:44:23 +0000 (11:44 -0400)] 
make update-po

7 years agoUpdate man pages
Greg Hudson [Mon, 25 Sep 2017 15:43:56 +0000 (11:43 -0400)] 
Update man pages

7 years agoBump cmocka version in Travis build
Greg Hudson [Mon, 17 Jul 2017 15:43:32 +0000 (11:43 -0400)] 
Bump cmocka version in Travis build

(cherry picked from commit d7cea23604b95e790bcc581c0e8e8f77090f7718)

7 years agoPrevent null dereference with keyboard master key
Greg Hudson [Tue, 18 Jul 2017 16:29:12 +0000 (12:29 -0400)] 
Prevent null dereference with keyboard master key

If krb5_db_fetch_mkey() prompts for a master key and needs to
determine the kvno, check that the master entry contains any key data
before dereferencing the first element.  Reported by Joshua Schaeffer.

(cherry picked from commit 29c504504f0c56c861d968ba2498590bf34714cd)

ticket: 8600
version_fixed: 1.15.2

7 years agoPrevent KDC unset status assertion failures
Greg Hudson [Thu, 13 Jul 2017 16:14:20 +0000 (12:14 -0400)] 
Prevent KDC unset status assertion failures

Assign status values if S4U2Self padata fails to decode, if an
S4U2Proxy request uses invalid KDC options, or if an S4U2Proxy request
uses an evidence ticket which does not match the canonicalized request
server principal name.  Reported by Samuel Cabrero.

If a status value is not assigned during KDC processing, default to
"UNKNOWN_REASON" rather than failing an assertion.  This change will
prevent future denial of service bugs due to similar mistakes, and
will allow us to omit assigning status values for unlikely errors such
as small memory allocation failures.

CVE-2017-11368:

In MIT krb5 1.7 and later, an authenticated attacker can cause an
assertion failure in krb5kdc by sending an invalid S4U2Self or
S4U2Proxy request.

  CVSSv3 Vector: AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:H/RL:O/RC:C

(cherry picked from commit ffb35baac6981f9e8914f8f3bffd37f284b85970)

ticket: 8599
version_fixed: 1.15.2

7 years agoPreserve GSS context on init/accept failure
Greg Hudson [Fri, 14 Jul 2017 17:02:46 +0000 (13:02 -0400)] 
Preserve GSS context on init/accept failure

After gss_init_sec_context() or gss_accept_sec_context() has created a
context, don't delete the mechglue context on failures from subsequent
calls, even if the mechanism deletes the mech-specific context (which
is allowed by RFC 2744 but not preferred).  Check for union contexts
with no mechanism context in each GSS function which accepts a
gss_ctx_id_t.

CVE-2017-11462:

RFC 2744 permits a GSS-API implementation to delete an existing
security context on a second or subsequent call to
gss_init_sec_context() or gss_accept_sec_context() if the call results
in an error.  This API behavior has been found to be dangerous,
leading to the possibility of memory errors in some callers.  For
safety, GSS-API implementations should instead preserve existing
security contexts on error until the caller deletes them.

All versions of MIT krb5 prior to this change may delete acceptor
contexts on error.  Versions 1.13.4 through 1.13.7, 1.14.1 through
1.14.5, and 1.15 through 1.15.1 may also delete initiator contexts on
error.

(cherry picked from commit 56f7b1bc95a2a3eeb420e069e7655fb181ade5cf)

ticket: 8598
version_fixed: 1.15.2

8 years agoClarify "all privileges" in kadm5.acl docs
Greg Hudson [Wed, 28 Jun 2017 22:06:29 +0000 (18:06 -0400)] 
Clarify "all privileges" in kadm5.acl docs

In the kadm5.acl example, be more careful about saying "all
privileges", as the recently added extract privilege is not covered by
"*" or "x".

(cherry picked from commit 72a4b0af1a6cd07eee178cf3ff1df0e0857f5312)

ticket: 8594
version_fixed: 1.15.2

8 years agoAdd aes-sha2 to default enctypes in docs
Greg Hudson [Wed, 21 Jun 2017 17:10:51 +0000 (13:10 -0400)] 
Add aes-sha2 to default enctypes in docs

Commit d1ec317288278d10ae34fde9b2414e4fca5c52dd added aes-sha2 to the
default permitted enctype lists and the aes family, but didn't update
the documentation.  Commit 33a500ea14286b0d42c3ad63df8b88b3849b33a3
updated the documentation for the aes family, but not for the default
enctype lists.  Reported by Weijun Wang.

(cherry picked from commit 4c234d8754c063177bc627c6298b85020d91c223)

ticket: 8593
version_fixed: 1.15.2

8 years agoFix kadm5 setkey operation with LDAP KDB
Greg Hudson [Mon, 26 Jun 2017 21:31:37 +0000 (17:31 -0400)] 
Fix kadm5 setkey operation with LDAP KDB

Add mask assignments to kadm5_setv4key_principal() and
kadm5_setkey_principal_4() so that their changes to the principal are
properly written to KDB modules which use the mask flag, such as the
LDAP KDB module.  Reported by Frank Lonigro.

(cherry picked from commit f8ed1bde848a16dfda5c6558ffe4326acc37bc95)

ticket: 8589
version_fixed: 1.15.2

8 years agoFix kadm5.acl error reporting
Greg Hudson [Mon, 19 Jun 2017 15:30:38 +0000 (11:30 -0400)] 
Fix kadm5.acl error reporting

In kadm5int_acl_get_line(), increment *lnp after skipping a blank or
comment line, so that kadm5int_acl_load_acl_file() correctly reports
the line number if it fails to parse a line.

In acl_syn_err_msg, use %.10s to limit the amount of the line included
in the error message, not %10s to left-pad it with spaces if it is
shorter than ten characters.

(cherry picked from commit 3efb19294012ad38ac3a95d407e739313838c68a)

ticket: 8588
version_fixed: 1.15.2

8 years agoAdd aes-sha2 enctypes to aes family documentation
Robbie Harwood [Wed, 24 May 2017 15:55:25 +0000 (11:55 -0400)] 
Add aes-sha2 enctypes to aes family documentation

The functional portion of this change was made in commit
d1ec317288278d10ae34fde9b2414e4fca5c52dd.

(cherry picked from commit 33a500ea14286b0d42c3ad63df8b88b3849b33a3)

ticket: 8585
version_fixed: 1.15.2

8 years agoFree GSS checksum data deterministically
Tomas Kuthan [Tue, 16 May 2017 09:24:40 +0000 (11:24 +0200)] 
Free GSS checksum data deterministically

In the normal course of execution, md5.contents allocated by
kg_checksum_channel_bindings() in make_ap_req_v1() is freed in
make_gss_checksum().  But when there is a failure in
krb5_mk_req_extended() or in make_gss_checksum() before free is
called, the memory leaks.

This patch frees the memory unconditionally in make_ap_req_v1().

(cherry picked from commit 29337e7c7b796685fb6a03466d32147e17aa2d16)

ticket: 8584
version_fixed: 1.15.2

8 years agoAllow clock skew in krb5 gss_context_time()
Greg Hudson [Sat, 22 Apr 2017 20:51:23 +0000 (16:51 -0400)] 
Allow clock skew in krb5 gss_context_time()

Commit b496ce4095133536e0ace36b74130e4b9ecb5e11 (ticket #8268) adds
the clock skew to krb5 acceptor context lifetimes for
gss_accept_sec_context() and gss_inquire_context(), but not for
gss_context_time().  Add the clock skew in gss_context_time() as well.

(cherry picked from commit b0a072e6431261734e7350996a363801f180e8ea)

ticket: 8581
version_fixed: 1.15.2

8 years agoApply TCP timeouts to HTTPS (KKDCP) transport
Greg Hudson [Thu, 20 Apr 2017 19:33:10 +0000 (15:33 -0400)] 
Apply TCP timeouts to HTTPS (KKDCP) transport

We apply (as of ticket #7604) a ten-second minimum delay after a TCP
connection is accepted before creating new connections or sending UDP
packets.  Apply this timeout to HTTPS connections as well, by removing
the transport check in get_endtime().  As the endtime field is only
set by service_tcp_connect(), it will always have the value 0 for UDP
connection state objects, so there is no need to check the transport
type.

(cherry picked from commit aace82e17ed0185faa3e9cda5437a3c6a7a40b10)

ticket: 8580
version_fixed: 1.15.2

8 years agoMake RC4 string-to-key more robust
Greg Hudson [Sat, 15 Apr 2017 01:41:20 +0000 (21:41 -0400)] 
Make RC4 string-to-key more robust

krb5int_utf8cs_to_ucs2les() can read slightly beyond the end of the
input buffer if the buffer ends with an invalid UTF-8 sequence.  When
computing the RC4 string-to-key result, make a zero-terminated copy of
the input string and use krb5int_utf8s_to_ucs2les() instead.

(cherry picked from commit b8814745049b5f401e3ae39a81dc1e14598ae48c)

ticket: 8576
version_fixed: 1.15.2

8 years agoCheck for FAST in encrypted challenge client
Greg Hudson [Tue, 11 Apr 2017 21:00:01 +0000 (17:00 -0400)] 
Check for FAST in encrypted challenge client

If we reach the encrypted challenge clpreauth process method without
an armor key, error out instead of crashing.  This can happen if (a)
the KDC offers encrypted challenge even though the request doesn't use
FAST (the Heimdal KDC apparently does this), and (b) we fall back to
that preauth method before generating a preauthenticated request,
typically because of a prompter failure in encrypted timestamp.
Reported by Nico Williams.

(cherry picked from commit ff6aac3e018e80fa32df2e14446c6ed9595dfc3c)

ticket: 8573
version_fixed: 1.15.2

8 years agoFix uninitialized flags in MSLSA ccache type
Alexander Karaivanov [Mon, 24 Apr 2017 07:01:12 +0000 (09:01 +0200)] 
Fix uninitialized flags in MSLSA ccache type

The flags field in krb5_lcc_data is not initialized in
krb5_lcc_resolve(), so krb5_lcc_next_cred() can sometimes fail to
include a ticket when retrieving a ccache entry.  This results in a
"Request did not supply a ticket" error from k5_make_tgs_req() when
trying to use the credential.

[ghudson@mit.edu: condensed commit message]

(cherry picked from commit e5a78d4c90d9d6968c94b0c07f2cd3835f02aa5d)

ticket: 8567
version_fixed: 1.15.2

8 years agoFix krb5int_open_plugin_dirs() error handling
Martin Kittel [Wed, 15 Mar 2017 16:21:28 +0000 (17:21 +0100)] 
Fix krb5int_open_plugin_dirs() error handling

In krb5int_open_plugin_dirs(), if constructing filepath fails,
filepath is set to null but accessed a few lines later.  Add an error
check before calling krb5int_open_plugin().

(cherry picked from commit ec56309e95e37cb3c91bad2a696b9bd094620876)

ticket: 8565
version_fixed: 1.15.2

8 years agoIgnore dotfiles in profile includedir
Greg Hudson [Fri, 24 Mar 2017 15:07:21 +0000 (11:07 -0400)] 
Ignore dotfiles in profile includedir

Editors and filesystems may create artifacts related to .conf files
which don't change the file suffix; these artifacts generally begin
with "." so that they don't appear in normal directory listings
(e.g. ".#filename" for emacs interlock files).  Make sure to ignore
any such artifacts when processing a profile includedir directive.

(cherry picked from commit e8e1d841f8e43e4f441b451d91333a01e43c1b6f)

ticket: 8563
version_fixed: 1.15.2

8 years agoForce autoconf rebuild in maintainer rules
Greg Hudson [Tue, 14 Mar 2017 23:39:38 +0000 (19:39 -0400)] 
Force autoconf rebuild in maintainer rules

autoconf normally avoids recreating files that it does not consider
obsolete.  Since it knows nothing about patchlevel.h (which we read at
autoconf time using m4's esyscmd()), changes to patchlevel.h won't be
reflected in configure unless another input to configure has changed,
and the maintainer rule will re-run autoconf over and over again.  Fix
this issue by passing the force flag to autoconf when we invoke it
from the maintainer rule.

(cherry picked from commit 7027788ae6adbd06d5a16de6ee62e489a4dca68b)

ticket: 8560
version_fixed: 1.15.2

8 years agoFix leaks in gss_inquire_cred_by_oid()
Greg Hudson [Sun, 12 Mar 2017 16:30:59 +0000 (12:30 -0400)] 
Fix leaks in gss_inquire_cred_by_oid()

In the mechglue gss_inquire_cred_by_oid(), remove an unnecessary
allocation of ret_set which is overwritten by the first mechanism's
result.

(cherry picked from commit 0d39d46852587d36fcc5024d5766586faba9044a)

ticket: 8559
version_fixed: 1.15.2

8 years agoAllow null outputs to gss_get_name_attribute()
Isaac Boukris [Sat, 4 Mar 2017 19:23:32 +0000 (21:23 +0200)] 
Allow null outputs to gss_get_name_attribute()

In krb5_gss_get_name_attribute(), always ask for kvalue and
kdisplay_value when calling krb5_authdata_get_attribute(), as it
currently expect non-null arguments.  This change allows applications
to pass GSS_C_NO_BUFFER for the value and display_value output
parameters.  (Passing NULL for the authenticated and complete output
parameters already works.)

[ghudson@mit.edu: initialized kvalue and kdisplay_value for safety]

(cherry picked from commit 0cff20bd02c7e9b0bc88c425b58fa2d379da51b3)

ticket: 8557
version_fixed: 1.15.2

8 years agoUpdate for krb5-1.15.1-postrelease
Greg Hudson [Fri, 3 Mar 2017 17:30:58 +0000 (12:30 -0500)] 
Update for krb5-1.15.1-postrelease

8 years agoUpdate for krb5-1.15.1 krb5-1.15.1-final
Greg Hudson [Tue, 28 Feb 2017 19:51:29 +0000 (14:51 -0500)] 
Update for krb5-1.15.1

8 years agomake update-po
Greg Hudson [Thu, 2 Mar 2017 16:34:01 +0000 (11:34 -0500)] 
make update-po

8 years agoUpdate man pages
Greg Hudson [Thu, 2 Mar 2017 16:33:29 +0000 (11:33 -0500)] 
Update man pages

8 years agoUpdate copyright years to 2017
Michael Mattioli [Tue, 27 Dec 2016 22:02:04 +0000 (17:02 -0500)] 
Update copyright years to 2017

(cherry picked from commit 35cd8db0f6627324b3b3a31f29b34774f649263b)

8 years agoFix udp_preference_limit with SRV records
Greg Hudson [Tue, 28 Feb 2017 03:35:07 +0000 (22:35 -0500)] 
Fix udp_preference_limit with SRV records

In sendto_kdc:resolve_server() when resolving a server entry with a
specified transport, defer the resulting addresses if the strategy
dictates that the specified transport is not preferred.  Reported by
Jochen Hein.

(cherry picked from commit bc7594058011c2f9711f24af4fa15a421a8d5b62)

ticket: 8554
version_fixed: 1.15.1

8 years agoFix PKINIT two-component matching rule parsing
Greg Hudson [Fri, 24 Feb 2017 18:41:53 +0000 (13:41 -0500)] 
Fix PKINIT two-component matching rule parsing

In pkinit_matching.c:parse_rule_set(), apply the default relation when
parsing the second component of a rule, not the third.  Otherwise we
apply no default relation to two-component matching rules, effectively
reducing such rules to their second components.  Reported by Sumit
Bose.

(cherry picked from commit 67ae7bbe1ea7032d1cb79682be3a14e7e13ec64f)

ticket: 8553
version_fixed: 1.15.1

8 years agoDocument multi-component PKINIT client certs
Greg Hudson [Mon, 30 Jan 2017 17:30:51 +0000 (12:30 -0500)] 
Document multi-component PKINIT client certs

In pkinit.rst, note that the extensions.client file only works for
single-component client principals, and describe how to modify it for
multi-component principals.

(cherry picked from commit 8abbb9b805e457849e9e414bd2ef610ad9fc4f06)

ticket: 7940
version_fixed: 1.15.1

8 years agoAdd free_principal_e_data KDB method
Andreas Schneider [Wed, 18 Jan 2017 10:52:48 +0000 (11:52 +0100)] 
Add free_principal_e_data KDB method

Add an optional method to kdb_vftabl to free e_data pointer in a
principal entry, in case it was populated by a module using a more
complex structure than a single memory region.

[ghudson@mit.edu: handled minor version bump; simplified code; rewrote
commit message]

(cherry picked from commit 87d8d1c6da227ff9410413de39ee64e4566429e5)

ticket: 8538
version_fixed: 1.15.1

8 years agoExplicitly copy KDB vtable fields
Greg Hudson [Wed, 18 Jan 2017 16:40:49 +0000 (11:40 -0500)] 
Explicitly copy KDB vtable fields

In preparation for bumping the kdb_vftabl minor version, use explicit
field assignments when copying the module vtable to the internal copy,
so that we can conditionalize assignments for minor versions greater
than 0.

(cherry picked from commit 50605efa5058583667227223a75ca44a512f4796)

ticket: 8538
version_fixed: 1.15.1

8 years agoDocument default realm and login authorization
Greg Hudson [Wed, 25 Jan 2017 18:07:42 +0000 (13:07 -0500)] 
Document default realm and login authorization

Add documentation to host_config.rst describing what the default realm
does.  Also add documentation discussing login authorization
configuration, and give an example showing how to give login access to
principals from a realm other than the default realm.

(cherry picked from commit 16550e85a2c317c5404fa336c084381d83b90740)

ticket: 8540
version_fixed: 1.15.1

8 years agoAdd GSSAPI S4U documentation
Greg Hudson [Fri, 17 Feb 2017 18:38:19 +0000 (13:38 -0500)] 
Add GSSAPI S4U documentation

Describe how a GSS application can perform S4U2Self and S4U2Proxy
requests using the MIT krb5 GSS library.  Also add a reference to RFC
7546 at the top, and fix a reference to gssapi_krb5.h.

(cherry picked from commit 31fcadd6bef5e3fbcc986220b860a1af8c7030a1)

ticket: 8552
version_fixed: 1.15.1

8 years agoFix GSSAPI authind attribute name in docs
Matt Rogers [Tue, 3 Jan 2017 16:54:39 +0000 (11:54 -0500)] 
Fix GSSAPI authind attribute name in docs

The correct attribute name is "auth-indicators".

(cherry picked from commit e3f666fe61e94e96d3c4d449e2fa8bd69cd2ecec)

ticket: 8532
version_fixed: 1.15.1

8 years agoUse pktinfo for explicit UDP wildcard listeners
Greg Hudson [Mon, 26 Dec 2016 20:18:05 +0000 (15:18 -0500)] 
Use pktinfo for explicit UDP wildcard listeners

In net-server.c, use pktinfo on UDP server sockets if they are bound
to wildcard addresses, whether that is explicit or implicit in the
address specification.

(cherry picked from commit d005beaa72c70bc28b2b0b49b9d83eff160ca8f1)

ticket: 8530
version_fixed: 1.15.1

8 years agoFix KDC/kadmind startup on some IPv4-only systems
Greg Hudson [Mon, 26 Dec 2016 20:09:24 +0000 (15:09 -0500)] 
Fix KDC/kadmind startup on some IPv4-only systems

getaddrinfo(NULL, ...) may yield an IPv6 wildcard address on IPv4-only
systems, and creating a socket for that address may result in an
EAFNOSUPPORT error.  Tolerate that error as long as we can bind at
least one socket for the address.

(cherry picked from commit 04c2bb56f5203b296b24314810eca02f5dc7e491)

ticket: 8531
version_fixed: 1.15.1

8 years agoFix error handling in PKINIT decode_data()
Greg Hudson [Wed, 14 Dec 2016 16:25:41 +0000 (11:25 -0500)] 
Fix error handling in PKINIT decode_data()

decode_data() mixes errno values with OpenSSL return codes.  Change
its return type to int, and return 1 on success or 0 on failure.

(cherry picked from commit cc9035a7d25008bdcd9c7beb01670aa57b51d829)

ticket: 8525
version_fixed: 1.15.1

8 years agoAdd caveats to krbtgt change documentation
Greg Hudson [Sun, 4 Dec 2016 23:34:41 +0000 (18:34 -0500)] 
Add caveats to krbtgt change documentation

In database.rst, describe a couple of krbtgt rollover issues and how
to avoid them.

(cherry picked from commit 56d05e87858b672591c1e6b7869cb08e8b1e0d59)

ticket: 8524
version_fixed: 1.15.1

8 years agoAdd krbPwdPolicy attributes to kerberos.ldif
Tomas Kuthan [Fri, 2 Dec 2016 14:22:54 +0000 (15:22 +0100)] 
Add krbPwdPolicy attributes to kerberos.ldif

When LDAP backend support for policy extensions was added by
5edafa0532 (ticket 7223), the kerberos.ldif change neglected to add
the new attributes to krbPwdPolicy.

(cherry picked from commit 823e3088d835661fd718a941f602bb2972db96c8)

ticket: 8523
version_fixed: 1.15.1

8 years agoAdd some omitted things to README
Tom Yu [Fri, 6 Jan 2017 20:25:14 +0000 (15:25 -0500)] 
Add some omitted things to README

[ci skip]

8 years agoUpdate for krb5-1.15-postrelease
Tom Yu [Fri, 2 Dec 2016 23:51:25 +0000 (18:51 -0500)] 
Update for krb5-1.15-postrelease

8 years agoUpdates for krb5-1.15 krb5-1.15-final
Tom Yu [Wed, 30 Nov 2016 23:39:32 +0000 (18:39 -0500)] 
Updates for krb5-1.15

8 years agoRelicense ccapi/common/win/OldCC/autolock.hxx
Greg Hudson [Tue, 29 Nov 2016 06:46:21 +0000 (01:46 -0500)] 
Relicense ccapi/common/win/OldCC/autolock.hxx

With permission from Danilo Almeida, change the license on
autolock.hxx to the 2-clause BSD license used by MIT krb5.

(cherry picked from commit 90bfe396781c3b2a427c95dd2e58a234027ff269)

ticket: 8520
version_fixed: 1.15

8 years agoAllow slapd path configuration in t_kdb.py
Greg Hudson [Sun, 27 Nov 2016 23:37:12 +0000 (18:37 -0500)] 
Allow slapd path configuration in t_kdb.py

The upstream OpenLDAP installs slapd in libexec, which is not
typically in the path.  Also, copying the binary can sometimes cause
it to fail; for instance, in the OpenCSW package,
/opt/csw/libexec/slapd is a script which chooses a binary based on the
system architecture and the path to the script.  Allow the test runner
to set the SLAPD environment variable to specify the slapd location
and avoid the copy.

(cherry picked from commit 9290e52b7f206dcbfd9dd5d873cf9379cb9de760)

ticket: 8521 (new)
tags: pullup
target_version: 1.15-next
target_version: 1.14-next
version_fixed: 1.15

8 years agoUpdate for krb5-1.15-beta2-postrelease
Tom Yu [Wed, 16 Nov 2016 18:44:56 +0000 (13:44 -0500)] 
Update for krb5-1.15-beta2-postrelease

8 years agoUpdate for krb5-1.15-beta2 krb5-1.15-beta2
Tom Yu [Tue, 15 Nov 2016 03:10:38 +0000 (22:10 -0500)] 
Update for krb5-1.15-beta2

8 years agomake update-po
Tom Yu [Mon, 14 Nov 2016 22:27:17 +0000 (17:27 -0500)] 
make update-po

8 years agoFix declaration without type in t_shs3.c
Robbie Harwood [Thu, 10 Nov 2016 17:57:19 +0000 (12:57 -0500)] 
Fix declaration without type in t_shs3.c

(cherry picked from commit 02f15f278112f7c03fb24044de169c071a786d71)

ticket: 8516
version_fixed: 1.15

8 years agoUse zap() more consistently
Greg Hudson [Mon, 31 Oct 2016 16:10:48 +0000 (12:10 -0400)] 
Use zap() more consistently

Use zap() or zapfree() in places where we previously used memset() to
scrub memory.  Reported by Zhaomo Yang and Brian Johannesmeyer.

(cherry picked from commit d58cfa06bab766cf1354bc593deea300388072c0)

ticket: 8514
version_fixed: 1.15

8 years agoMake zap() more reliable
Greg Hudson [Mon, 31 Oct 2016 15:48:54 +0000 (11:48 -0400)] 
Make zap() more reliable

The gcc assembly version of zap() could still be optimized out under
gcc 5.1 or later, and the krb5int_zap() function could be optimized
out with link-time optimization.  Based on work by Zhaomo Yang and
Brian Johannesmeyer, use the C11 memset_s() when available, then fall
back to a memory barrier with gcc or clang, and finally fall back to
using krb5int_zap().  Modify krb5int_zap() to use a volatile pointer
in case link-time optimization is used.

(cherry picked from commit c163275f899b201dc2807b3ff2949d5e2ee7d838)

ticket: 8514
version_fixed: 1.15

8 years agoFix detection of libaceclnt for securid_sam2
Greg Hudson [Fri, 28 Oct 2016 14:13:13 +0000 (10:13 -0400)] 
Fix detection of libaceclnt for securid_sam2

The symbol we need is SD_Init(), not sd_init().

(cherry picked from commit 081ee2f7d98b939bf7b4866845d4243b5ca3992c)

ticket: 8512
version_fixed: 1.15

8 years agoAdd doxygen comments for RFC 8009, RFC 4757
Greg Hudson [Fri, 28 Oct 2016 14:26:04 +0000 (10:26 -0400)] 
Add doxygen comments for RFC 8009, RFC 4757

The aes-sha2 specification has been published as RFC 8009.  Add
Doxygen comments to the #defines for its enctype and checksum type
comments.  Also add comments for the RC4 enctype and checksum type
constants referring to RFC 4757.

(cherry picked from commit bd895523179e7f639c40527ccd0af6d22cbbf364)

ticket: 8513
version_fixed: 1.15

8 years agoClarify krb5_kt_resolve() API documentation
Greg Hudson [Fri, 7 Oct 2016 15:23:02 +0000 (11:23 -0400)] 
Clarify krb5_kt_resolve() API documentation

Explicitly say to use krb5_kt_close() like we do for most other
allocating API calls.  Note the default type.  Instead of saying "The
key table is not opened," say that the keytab file for FILE keytabs is
not opened by this call.

(cherry picked from commit 5ab2dc42b3ae8e07f5cf7eb91b43e4f2ad338728)

ticket: 8508
version_fixed: 1.15