]> git.ipfire.org Git - thirdparty/krb5.git/log
thirdparty/krb5.git
11 years agoFix calloc check in krb5_authdata_context_init
Greg Hudson [Fri, 18 Jul 2014 18:51:13 +0000 (14:51 -0400)] 
Fix calloc check in krb5_authdata_context_init

(cherry picked from commit 4abfd7bc3819a66f77a1cf121b7608af624ecb6e)

ticket: 7973
version_fixed: 1.12.2
status: resolved

11 years agoFix race in util/profile/Makefile.in
Greg Hudson [Thu, 17 Oct 2013 18:02:14 +0000 (14:02 -0400)] 
Fix race in util/profile/Makefile.in

$(BUILDTOP)/include/profile.h was being updated by two different
rules, which could collide with make -j.  Use a dependency from
includes instead of a redundant rule.

(cherry picked from commit 4d3827ac1b0e9e6447a132c57f3e2d74d3dfe8a9)

ticket: 7967
version_fixed: 1.12.2
status: resolved

11 years agoFix several memory leaks in LDAP KDB modules
Greg Hudson [Wed, 11 Jun 2014 03:53:31 +0000 (23:53 -0400)] 
Fix several memory leaks in LDAP KDB modules

Fix memory leaks discovered by running valgrind over kdbtest, and some
related leaks.  Many of them result from not calling ldap_msgfree
after an unsuccessful search (as the OpenLDAP documentation requires)
or after an exception following a search, so many of the fixes move or
add ldap_msgfree calls to cleanup labels.

ldap_osa_free_princ_ent was not used, and could not be used because it
frees the container while krb5_lookup_tl_kadm_data uses a
caller-allocated container.  Change it to leave the container alone,
but to correctly destroy xdrs.  Use it in krb5_ldap_put_principal
where princ_ent was leaked.

In krb5_ldap_put_principal, subtreelist is declared twice in interior
scopes and not properly freed; move it to function scope and free it
up in the cleanup label.  Also in krb5_ldap_put_principal, avoiding
decoding multiple KBR5_TL_KADM_DATA values (which we don't expect to
see) as later decodes would cause earlier decodes to leak.

In krb5_encode_krbsecretkey, fix a leak of the krb5_data container and
also add an error check when calling asn1_encode_sequence_of_keys;
otherwise we would dereference a null pointer if we run out of memory
encoding keys (very unlikely).

(cherry picked from commit bfd2a69193ddc1b324d48a7da6455cfbda54fc09)

ticket: 7941
version_fixed: 1.12.2
status: resolved

11 years agoFix build on systems without RTM_OLD*
Ben Kaduk [Thu, 3 Jul 2014 14:42:21 +0000 (10:42 -0400)] 
Fix build on systems without RTM_OLD*

For example, FreeBSD has removed RTM_OLDADD and RTM_OLDDEL from its API
in March 2014, with the message:
Garbage collect long time obsoleted (or never used) stuff from routing API

Only attempt to define behavior for these cases if they are defined.

(cherry picked from commit fd352d41a79013114708e99510b6be3836200237)

ticket: 7955
version_fixed: 1.12.2
status: resolved

11 years agoFix unlikely null dereference in TGS client code
Neng Xue [Mon, 30 Jun 2014 21:04:56 +0000 (14:04 -0700)] 
Fix unlikely null dereference in TGS client code

If krb5_get_tgs_ktypes fails (due to an out-of-memory condition or an
error re-reading the profile), k5_make_tgs_req will dereference a null
pointer.  Check the return value before dereferencing defenctypes.

[ghudson@mit.edu: clarified commit message]

(cherry picked from commit 81e503c09ad9aef4a0afc6bf66a0269cde2151f3)

ticket: 7952
version_fixed: 1.12.2
status: resolved

11 years agoFix KDC worker process argument parsing
Greg Hudson [Wed, 18 Jun 2014 16:58:39 +0000 (12:58 -0400)] 
Fix KDC worker process argument parsing

To create worker processes, the KDC shuts down realms, forks off the
worker processes, then reinitializes realms in each child.
Reinitializing realms requires making a second pass over the
command-line arguments.  To do this with getopt, optind must be
reinitialized to 1 for each pass; otherwise, no options will be seen
the second time around.

(cherry picked from commit 1776fd19120d230115527febbd22979eb64ee1ff)

ticket: 7945
version_fixed: 1.12.2
status: resolved

11 years agoHandle invalid RFC 1964 tokens [CVE-2014-4341...]
Greg Hudson [Thu, 19 Jun 2014 17:49:16 +0000 (13:49 -0400)] 
Handle invalid RFC 1964 tokens [CVE-2014-4341...]

Detect the following cases which would otherwise cause invalid memory
accesses and/or integer underflow:

* An RFC 1964 token being processed by an RFC 4121-only context
  [CVE-2014-4342]

* A header with fewer than 22 bytes after the token ID or an
  incomplete checksum [CVE-2014-4341 CVE-2014-4342]

* A ciphertext shorter than the confounder [CVE-2014-4341]

* A declared padding length longer than the plaintext [CVE-2014-4341]

If we detect a bad pad byte, continue on to compute the checksum to
avoid creating a padding oracle, but treat the checksum as invalid
even if it compares equal.

CVE-2014-4341:

In MIT krb5, an unauthenticated remote attacker with the ability to
inject packets into a legitimately established GSSAPI application
session can cause a program crash due to invalid memory references
when attempting to read beyond the end of a buffer.

    CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:P/E:POC/RL:OF/RC:C

CVE-2014-4342:

In MIT krb5 releases krb5-1.7 and later, an unauthenticated remote
attacker with the ability to inject packets into a legitimately
established GSSAPI application session can cause a program crash due
to invalid memory references when reading beyond the end of a buffer
or by causing a null pointer dereference.

    CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:P/E:POC/RL:OF/RC:C

[tlyu@mit.edu: CVE summaries, CVSS]

(cherry picked from commit fb99962cbd063ac04c9a9d2cc7c75eab73f3533d)

ticket: 7949
version_fixed: 1.12.2
status: resolved

11 years agoFix unlikely null dereference in mk_cred()
Nalin Dahyabhai [Wed, 25 Jun 2014 16:56:42 +0000 (12:56 -0400)] 
Fix unlikely null dereference in mk_cred()

If krb5_encrypt_keyhelper() returns an error, the ciphertext structure
may contain a non-zero length, but it will already have freed the
pointer to its data, making encrypt_credencpart()'s subsequent attempt
to clear and free the memory fail.  Remove that logic.

Based on a patch from Jatin Nansi.

(cherry picked from commit 476284de8dc9a52b5544445cb1b316a417ae88f0)

ticket: 7948
version_fixed: 1.12.2
status: resolved

11 years agoFix error checking in PKINIT authdata creation
Greg Hudson [Sat, 14 Jun 2014 15:23:08 +0000 (11:23 -0400)] 
Fix error checking in PKINIT authdata creation

In create_identifiers_from_stack: check for allocation errors from
PKCS7_ISSUER_AND_SERIAL_new and M_ASN1_INTEGER_dup.  Use
PKCS7_ISSUER_AND_SERIAL_free to more concisely clean up the OpenSSL
issuer variable, and make sure that any partially processed value is
cleaned up on error.  Use calloc to allocate krb5_cas so that all of
its pointers are initially nulled, so that
free_krb5_external_principal_identifier can operate on it safely in
case of error.  Eliminate the retval variable as it was not used
safely.  Rename the error label from "cleanup" to "oom" and separate
it from the successful return path (which has nothing to clean up).

(back ported from commit 09246e64e20f079bef6163e9e1d0ecda7917b8c2)

ticket: 7943
version_fixed: 1.12.2
status: resolved

11 years agoConsolidate DB option documentation
Greg Hudson [Mon, 16 Jun 2014 19:46:09 +0000 (15:46 -0400)] 
Consolidate DB option documentation

Document DB options in the kadmin/kadmin.local man page, in their own
section.  Refer to that section from the documentation of the -x
parameter of each other command which supports DB options.  Add
documentation for the "dbname" DB2 option.

(cherry picked from commit 1cddc360c25386a55dc2f2d44056c88721784dd6)

ticket: 7946
version_fixed: 1.12.2
status: resolved

11 years agoImprove PKINIT certificate documentation
Greg Hudson [Fri, 6 Jun 2014 21:41:51 +0000 (17:41 -0400)] 
Improve PKINIT certificate documentation

Describe how to use a commercially-issued server certificate for
anonymous PKINIT.  Separate the KDC and client configuration
instructions so that the steps necessary for anonymous PKINIT are not
combined with the additional steps necessary for regular PKINIT.
Describe kpServerAuth as the EKU used in commercially issued server
certificates, not as the value used by Microsoft (which does not
appear to be true according to [MS-PKCA]).

(cherry picked from commit 677c7753923e5efa078074611d4474fbcc10f6a1)

ticket: 7931
version_fixed: 1.12.2
status: resolved

11 years agoDo not document pkinit_win2k
Greg Hudson [Fri, 6 Jun 2014 21:57:40 +0000 (17:57 -0400)] 
Do not document pkinit_win2k

This variable was never used in the PKINIT code as it was contributed;
there was only code to read its value.

(cherry picked from commit e161636590429aa78a3f04a8bbe0a36dda48a8ab)

ticket: 7932
version_fixed: 1.12.2
status: resolved

11 years agoAdd missing profile functions to libkrb5 exports
Greg Hudson [Wed, 4 Jun 2014 20:18:21 +0000 (16:18 -0400)] 
Add missing profile functions to libkrb5 exports

profile_flush_to_buffer, profile_flush_to_file, profile_free_buffer,
profile_init_flags, and profile_init_vtable are all public profile
functions, but are inaccessible to libkrb5 applications on some
platforms because they were never added to the export list.  Add them
now.

(libprofile functions have never been part of the Windows DLL export
list, so do not change krb5_32.def at this time.)

(cherry picked from commit dc1a76ccc5d3a6972d0f21d38389ff39e54f283a)

ticket: 7930
version_fixed: 1.12.2
status: resolved

11 years agoDo not loop on add_cred_from and other new methods
Sam Hartman [Wed, 4 Jun 2014 16:06:27 +0000 (12:06 -0400)] 
Do not loop on add_cred_from and other new methods

Several new GSS-API methods were added but GSSAPI_ADD_METHOD was
called to add them rather than GSSAPI_ADD_METHOD_NOLOOP.  This means
that the implementation from the GSS-API mechglue would be used if the
mechanism had no implementation.  As a result, the mechglue will call
into itself exhausting the call stack in an endless loop when one of
these methods is called.

(cherry picked from commit 41d38531043b99e8daa334f2b6ddf376adf1e878)

ticket: 7926
version_fixed: 1.12.2
status: resolved

11 years agoTreat LDAP KrbKey salt field as optional
Greg Hudson [Fri, 23 May 2014 23:58:41 +0000 (19:58 -0400)] 
Treat LDAP KrbKey salt field as optional

Per the ASN.1 definition, the KrbKey salt field is optional.  Since
1.7, we have been treating it as mandatory in the encoder; since 1.11,
we have been treating it as mandatory in the decoder.  Mostly by luck,
we have been encoding a salt type of 0 when key_data_ver is 1, but we
really should not be looking at key_data_type[1] or key_data_length[1]
in this situation.  Treat the salt field as optional in the encoder
and decoder.  Although the previous commit ensures that we continue to
always encode a salt (without any dangerous assumptions about
krb5_key_data constructors), this change will allow us to decode key
data encoded by 1.6 without salt fields.

This also fixes issue #7918, by properly setting key_data_ver to 2 if
a salt type but no salt value is present.  It is difficult to get the
decoder to actually assign 2 to key_data_ver just because the salt
field is there, so take care of that in asn1_decode_sequence_of_keys.

Adjust kdbtest.c to match the new behavior by setting key_data_ver to
2 in both test keys.

(cherry picked from commit fb5cd8df0dbd04dac4f610e68cba5b80a3cb8d48)

ticket: 7919
version_fixed: 1.12.2
status: resolved

11 years agoAlways include salt in LDAP KrbKey encoding
Greg Hudson [Sun, 25 May 2014 02:58:26 +0000 (22:58 -0400)] 
Always include salt in LDAP KrbKey encoding

In the LDAP KDB module, ensure that every krb5_key_data we pass to
asn1_encode_sequence_of_keys includes a salt type, for compatibility
with the decoder in unpatched krb5 1.11 and 1.12.

This is not a behavior change by itself; since 1.7 the encoder has
always included a KrbKey salt field because it erroneously treats that
field as non-optional.  (Luckily, the encoded salt always happens to
have salt type 0 because krb5_key_data constructors start with zeroed
memory.)  The next commit will fix the encoder and decoder to properly
treat the KrbKey salt field as optional, so we need this change to
ensure that our encodings remain compatible.

Also fix the ASN.1 tests to set key_data_ver correctly for the sample
test key data.

(cherry picked from commit 1825455ede7e61ab934b16262fb5b12b78a52f1a)

ticket: 7919
version_fixed: 1.12.2
status: resolved

11 years agoDo not document pkinit_mapping_file
Greg Hudson [Sun, 1 Jun 2014 14:41:27 +0000 (10:41 -0400)] 
Do not document pkinit_mapping_file

This feature was never implemented in the PKINIT code as it was
contributed; there was only stub support for reading the filename.

(cherry picked from commit 8da21b0ec18cf9306a8c1b3410d5c6ab36acdd21)

ticket: 7928
version_fixed: 1.12.2
status: resolved

11 years agoChange example module name in host_config.rst
Greg Hudson [Tue, 27 May 2014 17:01:49 +0000 (13:01 -0400)] 
Change example module name in host_config.rst

Don't use "otp" as the example clpreauth module name in
host_config.rst, since we now ship an effectively built-in otp
clpreauth module.  Instead use "mypreauth".

(cherry picked from commit 26a43afbc214e8d24cf261f245007192eccb7ed5)

ticket: 7920
version_fixed: 1.12.2
status: resolved

11 years agoProperly handle PKCS11 label in PKINIT
Greg Hudson [Fri, 23 May 2014 02:31:26 +0000 (22:31 -0400)] 
Properly handle PKCS11 label in PKINIT

The CK_TOKEN_INFO label field is defined to be zero-filled, but it may
not be zero-terminated if all bytes of the field are used.  Use only
length-counted operations to process it.  Also avoid underrunning the
buffer pointer if the label is empty or contains only whitespace.

(cherry picked from commit f8b42ef541a463f56720ec9358dd07716b04c5e2)

ticket: 7917
version_fixed: 1.12.2
status: resolved

11 years agoDon't blindly use PKCS11 slot IDs in PKINIT
Greg Hudson [Thu, 22 May 2014 23:18:34 +0000 (19:18 -0400)] 
Don't blindly use PKCS11 slot IDs in PKINIT

Passing invalid slot IDs to C_OpenSession can cause some PKCS #11
implementations (such as the Solaris one) to crash.  If a PKINIT
identity specifies a slotid, use it to filter the result of
C_GetSlotList, but don't try it if it does not appear in the list.

(cherry picked from commit ac406bac3d73a7e4efcc74adbb90c722457da969)

ticket: 7916
version_fixed: 1.12.2
status: resolved

11 years agoFix fencepost error in krad timeout handler
Greg Hudson [Sat, 17 May 2014 14:48:50 +0000 (10:48 -0400)] 
Fix fencepost error in krad timeout handler

(cherry picked from commit f4fce5afd8c4bb5e46aa7041f10118026c5152f0)

ticket: 7911
version_fixed: 1.12.2
status: resolved

11 years agoAdd tests for krb5int_c_combine_keys
Greg Hudson [Tue, 20 May 2014 18:52:44 +0000 (14:52 -0400)] 
Add tests for krb5int_c_combine_keys

krb5int_c_combine_keys is used only by SAM-2 preauth with neither the
send-encrypted-sad nor use-sad-as-key flags, so it isn't covered by
any automated function tests.  Add some unit tests to make sure that
it works and returns the expected results for two randomly generated
test vectors.

(cherry picked from commit 6e8b2fba84df2ef74ce071330b4c3f843f4b7541)

ticket: 7914
version_fixed: 1.12.2
status: resolved

11 years agoFix krb5int_c_combine_keys
Ken Hornstein [Tue, 20 May 2014 18:50:22 +0000 (14:50 -0400)] 
Fix krb5int_c_combine_keys

When krb5int_c_combine_keys was updated to use the new crypto
interface, a small bug was introduced.  It turns out the temporary
keyblock created needs to have its enctype set; otherwise, when
krb5int_derive_keyblock() is called later, it will fail with
KRB5_BAD_ENCTYPE.

(cherry picked from commit 89803a5a781107365d5a4534eebf48dbaf010f96)

ticket: 7914
version_fixed: 1.12.2
status: resolved

11 years agoFix invalid JSON handling in KDC OTP module
Greg Hudson [Sun, 18 May 2014 21:57:25 +0000 (17:57 -0400)] 
Fix invalid JSON handling in KDC OTP module

If the OTP configuration for a principal contains invalid JSON, the
KDC OTP module calls k5_json_get_tid on a null pointer, causing the
KDC process to crash.  Fix this bug by checking the return value of
k5_json_decode in decode_config_json.

(cherry picked from commit dab1c234e15afdc64dfe776bdbc65bbc17d07e12)

ticket: 7912
version_fixed: 1.12.2
status: resolved

11 years agoCheck for asprintf failure in kdb5_util create
Tomas Kuthan [Thu, 10 Apr 2014 13:16:06 +0000 (15:16 +0200)] 
Check for asprintf failure in kdb5_util create

In add_admin_princ, remove build_name_with_realm and call asprintf
directly instead.  Check for asprintf failure to avoid passing an
undefined pointer to krb5_parse_name.

[ghudson@mit.edu: rewrite commit message]

(cherry picked from commit f5645d30cf83398640c386a612eb6f07c543286f)

ticket: 7902
version_fixed: 1.12.2
status: resolved

11 years agoFix leak in kadm5_flush with LDAP KDB
Tomas Kuthan [Wed, 2 Apr 2014 15:48:04 +0000 (17:48 +0200)] 
Fix leak in kadm5_flush with LDAP KDB

Due to an inverted test in adb_policy_init, kadm5_flush calls
krb5_db_open twice.  With the DB2 KDB module, the second open is a
no-op, but with the LDAP module, a new DB handle is allocated and the
old one is leaked.

[ghudson@mit.edu: rewrote commit message]

(cherry picked from commit 372e4cb6f5d4a603e6e3157c7b5d354953836136)

ticket: 7897
version_fixed: 1.12.2
status: resolved

11 years agoGet getopt from unistd.h (not getopt.h) in tests
Greg Hudson [Fri, 28 Mar 2014 16:33:43 +0000 (12:33 -0400)] 
Get getopt from unistd.h (not getopt.h) in tests

POSIX defines getopt to be declared in unistd.h, and HP-UX (as of
version 11.31) does not appear to have getopt.h.  In test programs
which currently include getopt.h and aren't currently built on
Windows, include unistd.h or just assume we will get it via k5-int.h.

(cherry picked from commit 613c62d689c31a325d51be88657dedd17af3cf81)

ticket: 7894
version_fixed: 1.12.2
status: resolved

11 years agoFix GSS krb5 initial sequence number gap handling
Tomas Kuthan [Thu, 6 Mar 2014 12:05:24 +0000 (13:05 +0100)] 
Fix GSS krb5 initial sequence number gap handling

Since #2040, the dummy queue element inserted by g_order_init no
longer compares less than the initial sequence number, so we fail when
the first few sequence numbers are received out of order.  Properly
detect when a sequence number fits between the dummy element and the
first real queue element.

[ghudson@mit.edu: rewrote commit message]

(cherry picked from commit 13a9cb721194c8aa4ccf6ed6ef23e3ac8dd24037)

ticket: 7872
version_fixed: 1.12.2
status: resolved

11 years agoUpdate example kadmin getprinc enctype display
Greg Hudson [Wed, 26 Mar 2014 19:57:08 +0000 (15:57 -0400)] 
Update example kadmin getprinc enctype display

In kadmin_local.rst, update the example to reflect the new way we
display enctypes after #5014.

(cherry picked from commit 3890d1dff87a839efec38a77dcc88574ed65f4a9)

ticket: 7890
version_fixed: 1.12.2
status: resolved

11 years agoFix returning KDB_NOENTRY in find_alternate_tgs()
Nalin Dahyabhai [Thu, 20 Feb 2014 21:01:49 +0000 (16:01 -0500)] 
Fix returning KDB_NOENTRY in find_alternate_tgs()

After searching for a cross-realm TGS entry to provide to a client as a
referral, if we're all set to return a success code but aren't actually
returning an entry, we should be returning an error.  We might not do so
because we don't compare the right value against NULL.

This corrects an error in a redundant check in the patch for
CVE-2013-1417.  The error in the check cannot occur in practice
because the other part of the patch for CVE-2013-1417 prevents it, but
static analyzers can flag the erroneous check.

[tlyu@mit.edu: edit commit message]

(cherry picked from commit 90cbf4eb60d8ec3c083195ba4a050a31ea36be0b)

ticket: 7881
version_fixed: 1.12.2
status: resolved

11 years agoFix unlikely double free in PKINIT client code
Greg Hudson [Thu, 13 Mar 2014 22:34:22 +0000 (18:34 -0400)] 
Fix unlikely double free in PKINIT client code

In pa_pkinit_gen_req, if the cleanup handler is reached with non-zero
retval and non-null out_data, out_data is freed, then dereferenced,
then freed again.  This can only happen if one of the small fixed-size
malloc requests fails after pkinit_as_req_create succeeds, so it is
unlikely to occur in practice.

(cherry picked from commit cc002d6c1ccfc08356d01ba83e72a46855d0302c)

ticket: 7878
version_fixed: 1.12.2
status: resolved

11 years agoDon't leak the per-request preauth context
Nalin Dahyabhai [Tue, 11 Mar 2014 17:33:23 +0000 (13:33 -0400)] 
Don't leak the per-request preauth context

Currently, per-request preauth module data is only cleared when we
successfully obtain initial credentials.  Make sure to clear it at the
end of the operation even if we failed to get creds.

[ghudson@mit.edu: expanded commit message]

(cherry picked from commit a47c4e68308331a630480cb62c2b7711432e0123)

ticket: 7793
version_fixed: 1.12.2
status: resolved

11 years agoMention k5login_authoritative in k5login docs
Ben Kaduk [Thu, 13 Mar 2014 19:11:49 +0000 (15:11 -0400)] 
Mention k5login_authoritative in k5login docs

In particular, it is set by default.  This can lead to confusing
behavior wherein adding a k5login file removes a user's remote
access.

Make an example more concrete to account for this case.

(cherry picked from commit 8cdc21ef051f43ea8dcabf42540d5cff13b5adeb)

ticket: 7876
version_fixed: 1.12.2
status: resolved

11 years agoFix memory leak in krb5_verify_init_creds
Nalin Dahyabhai [Mon, 17 Feb 2014 22:14:20 +0000 (17:14 -0500)] 
Fix memory leak in krb5_verify_init_creds

When copying most of the credentials from one cache to another in
copy_creds_except (called from get_vfy_cred, from
krb5_verify_init_creds), we need to free all of the credentials that
we read, not just the ones we copied.

[ghudson@mit.edu: edited commit message]

(cherry picked from commit 27b136d2e3181e787b2d4a03ee712d5d5137f5cd)

ticket: 7875
version_fixed: 1.12.2
status: resolved

11 years agoInitialize err variable in krb5_sendto_kdc
Nalin Dahyabhai [Tue, 11 Mar 2014 17:26:32 +0000 (13:26 -0400)] 
Initialize err variable in krb5_sendto_kdc

When we get an KRB5_KDC_UNREACH error back from k5_sendto, we check if
the err variable we passed for use by our message handler has been set
to KDC_ERR_SVC_UNAVAILABLE.  If k5_sendto doesn't receive any
response, though, the handler isn't called, so we're reading an
uninitialized variable.  Initialize it to a value other than
KDC_ERR_SVC_UNAVAILABLE to be sure.

[ghudson@mit.edu: initialize err just before calling k5_sendto; edit
commit message]

(cherry picked from commit 1ed3f68c2394fbb48731bba4e4e9a60c8b925ca5)

ticket: 7874
version_fixed: 1.12.2
status: resolved

11 years agoUpdate iprop_master_ulogsize documentation
Greg Hudson [Fri, 7 Mar 2014 15:37:48 +0000 (10:37 -0500)] 
Update iprop_master_ulogsize documentation

When we removed the maximum number of ulog entries (#7368), we did not
update the documentation for that parameter in kdc.conf.  Reported by
Richard Basch.

(cherry picked from commit 5fa7e666bd81a2222b155bdf3f0c3fc1bc3fabf5)

ticket: 7849
version_fixed: 1.12.2
status: resolved

11 years agoCheck for malloc failure in process_chpw_request
Greg Hudson [Sun, 2 Mar 2014 23:12:54 +0000 (18:12 -0500)] 
Check for malloc failure in process_chpw_request

(cherry picked from commit 4356deefa2d2fe0bc7b52f3b62a387c7ec1eb369)

ticket: 7866
version_fixed: 1.12.2
status: resolved

11 years agoConditionalize use of LDAP_OPT_DEBUG_LEVEL
Greg Hudson [Fri, 28 Feb 2014 15:17:29 +0000 (10:17 -0500)] 
Conditionalize use of LDAP_OPT_DEBUG_LEVEL

The LDAP debug level option (#7551) causes a build failure with the
Solaris LDAP library, which does not have LDAP_OPT_DEBUG_LEVEL.

(cherry picked from commit 0364d0da094be0fbf3a9a08b79b6e23eaaf0d2d7)

ticket: 7870
version_fixed: 1.12.2
status: resolved

11 years agoCorrect docs for "kdb5_util load" switches
Jeff D'Angelo [Fri, 28 Feb 2014 14:47:30 +0000 (09:47 -0500)] 
Correct docs for "kdb5_util load" switches

Remove obsolete parenthetical statement in the description of the
"-update" switch to "kdb5_util load".  Using the "-update" flag to
load a second dump made using the "-ov" switch is no longer necessary
now that the "-r13" format is the default.  Add statement that the
"-b7" dump format was the default for versions prior to 1.2.2 (to
match the statement from "dump" section).

[tlyu@mit.edu: commit message]

(cherry picked from commit 2d0f2fa48df1ea81363de5c78ab7e8cf1ab6d214)

ticket: 7865
version_fixed: 1.12.2
status: resolved

11 years agoAvoid duplicate "/etc/krb5.conf" in profile path
Tom Yu [Tue, 25 Feb 2014 22:35:35 +0000 (17:35 -0500)] 
Avoid duplicate "/etc/krb5.conf" in profile path

If configure gets run with --sysconfdir=/etc, "/etc/krb5.conf" shows
up twice in the profile path, which causes its contents to be read
twice.  This can cause some confusing and possibly problematic
behavior.

Add some logic to configure.in to avoid adding the duplicate entry for
"/etc/krb5.conf".

Reported independently by Denis Vlasenko and Fredrik Tolf.

(back ported from commit 8df1965d1ccdbcb8d74a3e68ad35d7579db9ac44)

ticket: 3277
version_fixed: 1.12.2
status: resolved

11 years agoSupport referrals from Windows Server 2003
Nate Rosenblum [Mon, 23 Dec 2013 21:21:44 +0000 (13:21 -0800)] 
Support referrals from Windows Server 2003

Although RFC 6806 Section 7 requires servers to indicate a client
referral in a WRONG_REALM message, Microsoft Windows Server 2003
returns this information in a message with error code
PRINCIPAL_UNKNOWN.  Failure to follow the referral in these messages
prevents referral chasing in Windows Server 2003 forests.  Detect
referral messages of this type by checking for a non-empty
client.realm field in the response, and activate the referral logic in
these cases.

[tlyu@mit.edu: style, comments, and commit message]

(cherry picked from commit 3093b92734adfe2deb9ad6bad5a221acc967fd8b)

ticket: 7856
version_fixed: 1.12.2
status: resolved

11 years agoUpdate doc build instructions
Tom Yu [Fri, 14 Feb 2014 20:59:51 +0000 (15:59 -0500)] 
Update doc build instructions

Documentation build instructions in doc/README were out of date.
Update them.

(cherry picked from commit bfc8f194ae431fc4fadaa431a2a636b4e9b025dd)

ticket: 7864
version_fixed: 1.12.2
status: resolved

11 years agoFix SAM-2 preauth when password argument is used
Greg Hudson [Wed, 12 Feb 2014 01:00:51 +0000 (20:00 -0500)] 
Fix SAM-2 preauth when password argument is used

sam2_process accesses gak_data to get the password, so that it can do
string-to-key with the etype in the SAM-2 challenge.  When #7642
changed gic_pwd.c to use struct gak_password instead of krb5_data,
sam2_process wasn't altered to match.  We don't see a problem when the
password is read through the prompter (as with kinit), because the
password winds up in the storage field at the beginning of the
gak_password structure.  But when a password is supplied as a
parameter (as with ksu), the storage field is empty and we get the
wrong answer from sam2_process.

(cherry picked from commit 3bedfe7c3724b0d22c72d1684f1cf76cfb600fdd)

ticket: 7862
version_fixed: 1.12.2
status: resolved

11 years agoTest SPNEGO acceptor response to MS krb5 mech OID
Greg Hudson [Tue, 4 Feb 2014 01:59:54 +0000 (20:59 -0500)] 
Test SPNEGO acceptor response to MS krb5 mech OID

In t_spnego.c, add code to make a SPNEGO request with the erroneous
Microsoft OID value and examine the response to make sure that it uses
the same OID value as the request did.  The token and tmp variables
were unused, so rename them to itok and atok for the purpose of the
new test code.

(cherry picked from commit 53cfb8327c452bd72a8e915338fb5ec838079cd3)

ticket: 7858
version_fixed: 1.12.2
status: resolved

11 years agoProperly reflect MS krb5 mech in SPNEGO acceptor
Greg Hudson [Tue, 4 Feb 2014 02:11:34 +0000 (21:11 -0500)] 
Properly reflect MS krb5 mech in SPNEGO acceptor

r25590 changed negotiate_mech() to return an alias into the acceptor's
mech set, with the unfortunate side effect of transforming the
erroneous Microsoft krb5 mech OID into the correct krb5 mech OID,
meaning that we answer with a different OID than the requested one.
Return an alias into the initiator's mech set instead, and store that
in mech_set field the SPNEGO context.  The acceptor code only uses
mech_set to hold the allocated storage pointed into by internal_mech,
so this change is safe.

(cherry picked from commit 8255613476d4c1583a5e810b50444f188fde871f)

ticket: 7858
version_fixed: 1.12.2
status: resolved

11 years agoFix kpropd -x
Greg Hudson [Sun, 26 Jan 2014 23:38:11 +0000 (18:38 -0500)] 
Fix kpropd -x

A missing break in the switch statement caused kpropd -x to error out
with a usage message.

(cherry picked from commit 75b2ec88c4d75e7215322d2f0019307310cc9701)

ticket: 7854
version_fixed: 1.12.2
status: resolved

11 years agoCheck for unstable ulog in ulog_get_entries
Greg Hudson [Sun, 26 Jan 2014 22:23:53 +0000 (17:23 -0500)] 
Check for unstable ulog in ulog_get_entries

If a process terminates in the middle of a logged database update, it
will release its lock and leave the ulog in the KDB_UNSTABLE state.
kadmind should notice this when it calls ulog_get_entries, but right
now it only checks for the KDB_CORRUPT state (which is never set any
more) and does not recover.  Check for any state other than KDB_STABLE
and recover by resetting the ulog and forcing full resyncs to slaves.

(cherry picked from commit 91ef7d4c3f892b99630422a71780788f2d1c04d7)

ticket: 7853
version_fixed: 1.12.2
status: resolved

11 years agoReinitialize ulog when wrapping serial number
Greg Hudson [Tue, 21 Jan 2014 15:58:04 +0000 (10:58 -0500)] 
Reinitialize ulog when wrapping serial number

When we wrap the serial number, reinitialize the ulog so that kdb_num
starts counting from 1, instead of leaving the ulog in a weird state
where kdb_num == ulogentries but kdb_last_sno == 1 and the serial
numbers in the circular array aren't necessarily contiguous.

(cherry picked from commit 3c147860df11d8ef24dabf07d32f36915f3b640c)

ticket: 7839
version_fixed: 1.12.2
status: resolved

11 years agoAllow empty store in gss_acquire_cred_from
Greg Hudson [Thu, 16 Jan 2014 16:49:04 +0000 (11:49 -0500)] 
Allow empty store in gss_acquire_cred_from

There is no reason to deny a zero-length cred store, so don't check
for it in val_acq_cred_args or val_add_cred_args.

(cherry picked from commit 970304b558a360e08d8421ef92245d2df0ac5e49)

ticket: 7836
version_fixed: 1.12.2
status: resolved

11 years agoAvoid assertion failure in error_message
Greg Hudson [Thu, 16 Jan 2014 16:32:10 +0000 (11:32 -0500)] 
Avoid assertion failure in error_message

r17942 added a call to get_thread_buffer in the first part of
error_message, prior to the call to com_err_initialize.  This can
cause an assertion failure from k5_getspecific if error_message is
called on a system error before any other com_err functions are
called.  Move the initialization call earlier to prevent this.

(cherry picked from commit 6bdaa746fec1cf29adcbe5b8e65c4b8993770b84)

ticket: 7822
version_fixed: 1.12.2
status: resolved

11 years agoClean up rcache if GSS krb5 acquire_cred fails
Greg Hudson [Wed, 15 Jan 2014 19:41:54 +0000 (14:41 -0500)] 
Clean up rcache if GSS krb5 acquire_cred fails

The error handler in acquire_cred_context didn't release the rcache,
which would cause it to leak if we failed after acquire_accept_cred.

(cherry picked from commit 9df0c4bdce6b88a01af51e4bbb9a365db00256d5)

ticket: 7818
version_fixed: 1.12.2
status: resolved

11 years agoGet time offsets for all keyring ccaches
Greg Hudson [Thu, 16 Jan 2014 22:48:54 +0000 (17:48 -0500)] 
Get time offsets for all keyring ccaches

Move the time offset lookup from krb5_krcc_resolve to make_cache, so
that we fetch time offsets for caches created by
krb5_krcc_ptcursor_next.

(cherry picked from commit e99c688913a7761c6adea9488ea9355f43539883)

ticket: 7820
version_fixed: 1.12.2
status: resolved

11 years agoUpdate copyright year
Tom Yu [Thu, 16 Jan 2014 01:42:47 +0000 (20:42 -0500)] 
Update copyright year

11 years agoAdd missing change to README
Tom Yu [Thu, 16 Jan 2014 00:57:01 +0000 (19:57 -0500)] 
Add missing change to README

11 years agoUpdate for krb5-1.12.1-postrelease
Tom Yu [Thu, 16 Jan 2014 00:55:52 +0000 (19:55 -0500)] 
Update for krb5-1.12.1-postrelease

11 years agoUpdates for krb5-1.12.1 krb5-1.12.1-final
Tom Yu [Wed, 15 Jan 2014 23:24:20 +0000 (18:24 -0500)] 
Updates for krb5-1.12.1

11 years agomake update-po
Tom Yu [Thu, 16 Jan 2014 00:17:08 +0000 (19:17 -0500)] 
make update-po

11 years agoSort file list for msgfmt
Tom Yu [Wed, 15 Jan 2014 23:40:57 +0000 (18:40 -0500)] 
Sort file list for msgfmt

The list of input files for msgfmt was unsorted find output, resulting
in excessively large changes when running "make update-po".

(cherry picked from commit f131c5a4e266d07753a1f219d35c1bf82d98c0fb)

ticket: 7821
version_fixed: 1.12.1
status: resolved

11 years agomake depend
Tom Yu [Wed, 15 Jan 2014 23:07:09 +0000 (18:07 -0500)] 
make depend

11 years agoRemove mentions of krb5-send-pr
Tom Yu [Tue, 14 Jan 2014 20:43:35 +0000 (15:43 -0500)] 
Remove mentions of krb5-send-pr

Start the process of deprecating krb5-send-pr.  In practice, it causes
frustration for some users, and free-form email is good enough for
most bug reports.

Continue to install krb5-send-pr for now, but plan to remove it from
the tree in the future, probably replaced by a script that instructs
the user to send email manually.

(cherry picked from commit e972ce069dd45aad74e4f4853570ab27cfea05c2)

ticket: 5566
version_fixed: 1.12.1
status: resolved

11 years agoFix typo in sphinx manpage output
Tom Yu [Tue, 14 Jan 2014 21:13:44 +0000 (16:13 -0500)] 
Fix typo in sphinx manpage output

Some versions of the sphinx manpage writer have a typo in the name
'reStructuredText' written into the comments.  Add a sed command to
fix this.

(cherry picked from commit 4d30cc5d0838f6b5b3873046b0dfe72df2bdad11)

ticket: 7817
version_fixed: 1.12.1
status: resolved

11 years agoRestrict AES-NI support to ELF platforms for now
Greg Hudson [Fri, 10 Jan 2014 16:54:13 +0000 (11:54 -0500)] 
Restrict AES-NI support to ELF platforms for now

Since we explicitly specify the ELF object format when building
iaesx86.s or iaesx64.s, we need to restrict it to operating systems we
know to be ELF platforms.  Otherwise we can break the build on OS X,
which uses the Mach-O object format.

(cherry picked from commit 220066d9544a1fb1d6100f18f3ada7265799e97b)

ticket: 7812
version_fixed: 1.12.1
status: resolved

11 years agoAvoid text relocations in iaesx86.s
Tom Yu [Fri, 10 Jan 2014 20:04:32 +0000 (15:04 -0500)] 
Avoid text relocations in iaesx86.s

Use PC-relative addressing to avoid runtime text relocations on i386.

Adapted patch from Nalin Dahyabhai.

(cherry picked from commit 3847aa109e8ff3f2781d53315f81e8d29ee35892)

ticket: 7815
version_fixed: 1.12.1
status: resolved

11 years agoWork around Linux session keyring write behavior
Greg Hudson [Thu, 9 Jan 2014 05:18:44 +0000 (00:18 -0500)] 
Work around Linux session keyring write behavior

If the session keyring matches the user session keyring, write
explicitly to the user session keyring.  Otherwise the kernel might
create a new session keyring for the process, making the resulting
cache collection invisible to other processes.

(cherry picked from commit 0642afa544b00054048775d0b9796923bf018e22)

ticket: 7814
version_fixed: 1.12.1
status: resolved

11 years agoMark AESNI files as not needing executable stacks
Greg Hudson [Fri, 3 Jan 2014 18:50:48 +0000 (13:50 -0500)] 
Mark AESNI files as not needing executable stacks

Some Linux systems now come with facilities to mark the stack as
non-executable, making it more difficult to exploit buffer overrun
bugs.  For this to work, object files built from assembly need a
section added to note whether they require an executable stack.

Patch from Dhiru Kholia with comments added.  More information at:
https://bugzilla.redhat.com/show_bug.cgi?id=1045699
https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart

(cherry picked from commit c64e39c69a9a7ee32c00b0cf7918f6274a565544)

ticket: 7813
version_fixed: 1.12.1
status: resolved

11 years agoTest bogus KDC-REQs
Tom Yu [Wed, 8 Jan 2014 22:45:29 +0000 (17:45 -0500)] 
Test bogus KDC-REQs

Send encodings that are invalid KDC-REQs, but pass krb5_is_as_req()
and krb5_is_tgs_req(), to make sure that the KDC recovers correctly
from failures in decode_krb5_as_req() and decode_krb5_tgs_req().  Also
send an encoding that isn't a valid KDC-REQ.

(back ported from commit dae7693f8bf970d89d4c697f3d66a7d458281b93)

ticket: 7811
version_fixed: 1.12.1
status: resolved

11 years agoFix possible null deref in previous
Tom Yu [Wed, 1 Jan 2014 00:41:12 +0000 (19:41 -0500)] 
Fix possible null deref in previous

My rework of the do_tgs_req.c patch introduced a null deref if
decode_krb5_tgs_req() failed.

(cherry picked from commit 30589b2a1636de9f9b68591f0e546cb0fa21989f)

ticket: 7802
version_fixed: 1.12.1
status: resolved

11 years agoLog service princ in KDC more reliably
rbasch [Mon, 16 Dec 2013 15:54:41 +0000 (10:54 -0500)] 
Log service princ in KDC more reliably

Under some error conditions, the KDC would log "<unknown server>" for
the service principal because service principal information is not yet
available to the logging functions.  Set the appropriate variables
earlier.

do_as_req.c: After unparsing the client, immediately unparse the
server before searching for the client principal in the KDB.

do_tgs_req.c: Save a pointer to the client-requested service
principal, to make sure it gets logged if an error happens before
search_sprinc() successfully completes.

[tlyu@mit.edu: commit message; fix TGS to catch more error cases]

(cherry picked from commit f37067776f9431879769f3874fdab6120ba3f155)

ticket: 7802

11 years agoAvoid keyctl purge in keyring ccache tests
Greg Hudson [Fri, 20 Dec 2013 20:19:06 +0000 (15:19 -0500)] 
Avoid keyctl purge in keyring ccache tests

keyctl purge was added in keyutils 1.5 (released in March 2011).  Use
keyctl unlink to clean up keys instead, as it is more universal.

(cherry picked from commit 94da4584645475272abec6259d1666e34bd59594)

ticket: 7810
version_fixed: 1.12.1
status: resolved

11 years agoUse an extended com_err hook in klist
Greg Hudson [Fri, 20 Dec 2013 16:06:52 +0000 (11:06 -0500)] 
Use an extended com_err hook in klist

Add an adapted version of extended_com_err_fn from kinit to klist and
use it.  In do_ccache(), rely on the ccache type to set a reasonable
message if krb5_cc_set_flags() or krb5_cc_get_principal() fails due to
a nonexistent or unreadable ccache, and don't confuse the user with
the name of the ccache operation that failed.

(cherry picked from commit ae027dd69fc80cca549c9198d10afad389f30873)

ticket: 7809
version_fixed: 1.12.1
status: resolved

11 years agoSet an error message when keyring get_princ fails
Nalin Dahyabhai [Thu, 5 Dec 2013 18:54:09 +0000 (13:54 -0500)] 
Set an error message when keyring get_princ fails

When attempting to use a keyring cache that doesn't exist, set an error
message when we fail to read a principal name, as we do when we return
the same error code when using a file ccache.

[ghudson: removed unnecessary check for d->name nullity.]

(cherry picked from commit c25fc42e8eac7350209df61e4a7b9960d17755ca)

ticket: 7809

11 years agoTest for verto_set_flags in system libverto
Greg Hudson [Fri, 20 Dec 2013 04:47:22 +0000 (23:47 -0500)] 
Test for verto_set_flags in system libverto

libkrad relies on verto_set_flags, which was added to libverto in
release 0.2.4.  Make sure the system libverto has this function before
choosing it over the built-in version.

(cherry picked from commit a47d639770f32418c6e3fa8a0503019c9b376d2a)

ticket: 7808
version_fixed: 1.12.1
status: resolved

11 years agoFix typo that broke 'make clean'
Zhanna Tsitkov [Fri, 20 Dec 2013 16:06:19 +0000 (11:06 -0500)] 
Fix typo that broke 'make clean'

(cherry picked from commit 28633f186a943721b6948875ca85a4a34bc87da4)

ticket: 7807
version_fixed: 1.12.1
status: resolved

11 years agoAdd a test program for krb5_copy_context
Greg Hudson [Wed, 18 Dec 2013 18:08:25 +0000 (13:08 -0500)] 
Add a test program for krb5_copy_context

This test program isn't completely proof against the kind of mistakes
we've made with krb5_copy_context in the past, but it at least
exercises krb5_copy_context and can detect some kinds of bugs.

(cherry picked from commit b78c3c8c5025aec870d20472f80d4a652062f921)

ticket: 7807

11 years agoFix krb5_copy_context
Tom Yu [Wed, 8 Jan 2014 22:40:19 +0000 (17:40 -0500)] 
Fix krb5_copy_context

krb5_copy_context has been broken since 1.8 (it broke in r22456)
because k5_copy_etypes crashes on null enctype lists.  Subsequent
additions to the context structure were not reflected in
krb5_copy_context, creating double-free bugs.  Make k5_copy_etypes
handle null input and account for all new fields in krb5_copy_context.
Reported by Arran Cudbard-Bell.

(back ported from commit c452644d91d57d8b05ef396a029e34d0c7a48920)

ticket: 7807

11 years agoClarify klist -s documentation
Greg Hudson [Tue, 17 Dec 2013 21:56:41 +0000 (16:56 -0500)] 
Clarify klist -s documentation

The documentation for klist -s erroneously suggests that it doesn't
affect the exit status behavior and that it merely checks for the
existence of the ccache (only mentioning the expired ticket check at
the end).  Make it clearer and simpler, but avoid going into a lot of
detail about the nature of the expiration check.

(cherry picked from commit bf1d3c7b0b060be4b3e9e793b633c07e489ac76f)

ticket: 7806
version_fixed: 1.12.1
status: resolved

11 years agoFix GSS krb5 acceptor acquire_cred error handling
Greg Hudson [Mon, 16 Dec 2013 20:37:56 +0000 (15:37 -0500)] 
Fix GSS krb5 acceptor acquire_cred error handling

When acquiring acceptor creds with a specified name, if we fail to
open a replay cache, we leak the keytab handle.  If there is no
specified name and we discover that there is no content in the keytab,
we leak the keytab handle and return the wrong major code.  Memory
leak reported by Andrea Campi.

(cherry picked from commit decccbcb5075f8fbc28a535a9b337afc84a15dee)

ticket: 7805
version_fixed: 1.12.1
status: resolved

11 years agoFix memory leak in SPNEGO initiator
Simo Sorce [Fri, 13 Dec 2013 17:00:41 +0000 (12:00 -0500)] 
Fix memory leak in SPNEGO initiator

If we eliminate a mechanism from the initiator list because
gss_init_sec_context fails, free the memory for that mech OID before
removing it from the list.

[ghudson@mit.edu: clarified commit message]

(cherry picked from commit 1cda48a7ed4069cfc052f974ec3d76a9137c8c5a)

ticket: 7803
version_fixed: 1.12.1
status: resolved

11 years agoFix SPNEGO one-hop interop against old IIS
Greg Hudson [Tue, 10 Dec 2013 17:04:18 +0000 (12:04 -0500)] 
Fix SPNEGO one-hop interop against old IIS

IIS 6.0 and similar return a zero length reponse buffer in the last
SPNEGO packet when context initiation is performed without mutual
authentication.  In this case the underlying Kerberos mechanism has
already completed successfully on the first invocation, and SPNEGO
does not expect a mech response token in the answer.  If we get an
empty mech response token when the mech is complete during
negotiation, ignore it.

[ghudson@mit.edu: small code style and commit message changes]

(cherry picked from commit 37af638b742dbd642eb70092e4f7781c3f69d86d)

ticket: 7797
version_fixed: 1.12.1
status: resolved

11 years agoAvoid malloc(0) in SPNEGO get_input_token
Greg Hudson [Fri, 6 Dec 2013 23:56:56 +0000 (18:56 -0500)] 
Avoid malloc(0) in SPNEGO get_input_token

If we read a zero-length token in spnego_mech.c's get_input_token(),
set the value pointer to NULL instead of calling malloc(0).

(cherry picked from commit 13fd26e1863c79f616653f6a10a58c01f65fceff)

ticket: 7794
version_fixed: 1.12.1
status: resolved

11 years agoFix S4U2Self against non-FAST KDCs
Greg Hudson [Fri, 6 Dec 2013 01:32:05 +0000 (20:32 -0500)] 
Fix S4U2Self against non-FAST KDCs

When we added FAST TGS support in 1.11, we broke S4U2Self against KDCs
which don't support FAST, because the S4U2Self padata is only present
within the FAST request.  For now, duplicate that padata in the outer
request so that both FAST and non-FAST KDCs can see it.

(cherry picked from commit 55c3a5f69919c2b5435bac0cb48ab09b11be869c)

ticket: 7791
version_fixed: 1.12.1
status: resolved

11 years agoTest SPNEGO error message in t_s4u.py
Greg Hudson [Wed, 18 Dec 2013 21:03:16 +0000 (16:03 -0500)] 
Test SPNEGO error message in t_s4u.py

Now that #7045 is fixed, we can check for the correct error message
from t_s4u2proxy_krb5 with --spnego.

(cherry picked from commit 4faca53e3a8ee213d43da8998f6889e7bfd36248)

ticket: 7045
version_fixed: 1.12.1
status: resolved

11 years agoLet SPNEGO display mechanism errors
Simo Sorce [Tue, 17 Dec 2013 21:15:14 +0000 (16:15 -0500)] 
Let SPNEGO display mechanism errors

To avoid potential recursion we use a thread local variable that tells
us whether the ancestor was called via spnego_gss_display_name().  If
we detect recursion, we assume that we returned a com_err code like
ENOMEM and call error_message(); in the worst case that will result in
an "Unknown error" message.

[ghudson@mit.edu: Edited comments and commit message; removed an
unneeded line of code.]

(cherry picked from commit d160bc733a3dbeb6d84f4e175234ff18738d9f66)

ticket: 7045

11 years agoUpdate for krb5-1.12-postrelease
Tom Yu [Wed, 11 Dec 2013 03:08:12 +0000 (22:08 -0500)] 
Update for krb5-1.12-postrelease

11 years agoUpdates for krb5-1.12 krb5-1.12-final
Tom Yu [Tue, 10 Dec 2013 21:48:54 +0000 (16:48 -0500)] 
Updates for krb5-1.12

11 years agomake depend
Tom Yu [Tue, 10 Dec 2013 21:48:14 +0000 (16:48 -0500)] 
make depend

11 years agoUpdate man pages
Tom Yu [Tue, 10 Dec 2013 17:33:07 +0000 (12:33 -0500)] 
Update man pages

11 years agoBetter keysalt docs
Tom Yu [Mon, 9 Dec 2013 20:48:02 +0000 (15:48 -0500)] 
Better keysalt docs

Add a new section to kdc_conf.rst to describe keysalt lists, and
update other documentation to better distinguish enctype lists from
keysalt lists.

(cherry picked from commit 23a75649277afc24a9dfea199689e18129fa390c)

ticket: 7608
version_fixed: 1.12
status: resolved

11 years agoFix error message quotations in install_kdc.rst
Tom Yu [Tue, 3 Dec 2013 19:47:51 +0000 (14:47 -0500)] 
Fix error message quotations in install_kdc.rst

Some error messages that kprop could print were quoted incorrectly in
install_kdc.rst.

Also fix minor typos.

(cherry picked from commit 68d7fcf11553c29a2e0c28a57896fbce4a3ef611)

ticket: 7785
version_fixed: 1.12
status: resolved

11 years agoUpdate for krb5-1.12-beta2-postrelease
Tom Yu [Wed, 27 Nov 2013 21:28:37 +0000 (16:28 -0500)] 
Update for krb5-1.12-beta2-postrelease

11 years agoUpdates for krb5-1.12-beta2 krb5-1.12-beta2
Tom Yu [Wed, 27 Nov 2013 20:54:45 +0000 (15:54 -0500)] 
Updates for krb5-1.12-beta2

11 years agoUpdate man pages
Tom Yu [Wed, 27 Nov 2013 20:54:27 +0000 (15:54 -0500)] 
Update man pages

11 years agoBump libgssrpc minor version
Tom Yu [Wed, 27 Nov 2013 20:15:14 +0000 (15:15 -0500)] 
Bump libgssrpc minor version

Bump minor version for the new log_badauth2 interfaces.

(cherry picked from commit af5f5d63efe938c568a33bfb64ba5154982d6fb2)

ticket: 7770
status: resolved

11 years agoCorrectly log IPv6 addresses in kadmind
Greg Hudson [Mon, 25 Nov 2013 16:46:47 +0000 (11:46 -0500)] 
Correctly log IPv6 addresses in kadmind

Define client_addr() in server_stubs.c and use it consistently in that
file and ipropd_svc.c to get the client address from a transport
handle.  In it, call getpeername() on the client socket and use
inet_ntop() on the result, instead of using inet_ntoa() on the IPv4
socket address.  Provide a log_badauth2 callback to GSSRPC, so that we
get a transport handle instead of an IPv4 socket address, and use
client_addr() within it instead of inet_ntoa().

(cherry picked from commit 5384f45e728957da20ecf82d8cf567945a2bbf6e)

ticket: 7770
version_fixed: 1.12
status: resolved

11 years agoAdd new versions of log_badauth gssrpc callbacks
Greg Hudson [Mon, 25 Nov 2013 16:33:35 +0000 (11:33 -0500)] 
Add new versions of log_badauth gssrpc callbacks

libgssrpc supports two callbacks for gss_accept_sec_context failures
on servers (one for AUTH_GSS and one for AUTH_GSSAPI), which are
IPv4-specific.  Provide an alternate version which supplies the
transport handle instead of the address, so that we can get the
address via the file descriptor for TCP connections.

(cherry picked from commit 4c57a429760a3b3aa89938a13708742675f9548b)

ticket: 7770

11 years agoUpdate doc for current kdb5_util dump version
Tom Yu [Fri, 22 Nov 2013 23:23:52 +0000 (18:23 -0500)] 
Update doc for current kdb5_util dump version

kdb5_util.rst incorrectly describes the current default dump format
version as 6 when it should be 7.  Reported by Jeff D'Angelo.

(cherry picked from commit f0d7309a20665ac16a22856e0c8cffdb156f2d24)

ticket: 7777
version_fixed: 1.12
status: resolved

11 years agoEdit ccache_def.rst
Greg Hudson [Fri, 22 Nov 2013 21:53:35 +0000 (16:53 -0500)] 
Edit ccache_def.rst

Re-fill to 70 columns.  Replace non-ascii apostrophes with ASCII ones.
Edit wording slightly.

(cherry picked from commit 482869d393807d02668cf49ce74666d682cf77a6)

ticket: 7776
version_fixed: 1.12
status: resolved

11 years agoAdded a new ccache doc to "Kerberos V5 concepts"
Zhanna Tsitkov [Fri, 22 Nov 2013 19:02:57 +0000 (14:02 -0500)] 
Added a new ccache doc to "Kerberos V5 concepts"

This is to add a short introductory document on credential
caches to the Concepts section of Kerberos documentation.

(cherry picked from commit 251f94621328277044e3ae1a10ecd3ddfdda1dbb)

ticket: 7776

11 years agoImprove default ccache name API documentation
Greg Hudson [Thu, 21 Nov 2013 22:30:54 +0000 (17:30 -0500)] 
Improve default ccache name API documentation

Document the lifetime and caching behavior of the
krb5_cc_default_name() return value.  Document that
krb5_cc_set_default_name() may be called with NULL to purge the cached
value.  Correct a typo in the krb5_cc_default() summary and explicitly
reference krb5_cc_default_name().

(cherry picked from commit 3e5fe754b9f9742d1c9b1564633d4172277166db)

ticket: 7775
version_fixed: 1.12
status: resolved

11 years agoCorrect kadm5.acl back-reference documentation
Greg Hudson [Thu, 21 Nov 2013 21:22:48 +0000 (16:22 -0500)] 
Correct kadm5.acl back-reference documentation

In kadm5.acl, *N in the target principal name refers to the Nth
wildcard in the acting principal pattern, not the Nth component.

(cherry picked from commit 39bac22ed7f5ff583e92d082b34f0c5a2a3cad4c)

ticket: 7774
version_fixed: 1.12
status: resolved