krb5.git
15 years agoUsing a patch from Apple, add support for GSS_C_DELEG_POLICY_FLAG,
Greg Hudson [Wed, 8 Apr 2009 16:39:33 +0000 (16:39 +0000)]
Using a patch from Apple, add support for GSS_C_DELEG_POLICY_FLAG,
which requests delegation only if the ok-as-delegate ticket flag is
set.

ticket: 6203
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22185 dc483132-0cff-0310-8789-dd5450dbe970

15 years agomk_safe and mk_priv require the local address to be set in the auth
Greg Hudson [Wed, 8 Apr 2009 15:58:24 +0000 (15:58 +0000)]
mk_safe and mk_priv require the local address to be set in the auth
context; rd_safe and rd_priv require the remote address to be set.
Create error codes for both kinds of missing addresses and stop trying
futilely to handle the cases where they are not set.

ticket: 1165

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22184 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoFall through on error return
Ezra Peisach [Wed, 8 Apr 2009 15:25:43 +0000 (15:25 +0000)]
Fall through on error return

If decoding the encoded_req_body fails, proceed goto errout instead of falling
through to fast handling.

Looks like a merge error.

Reindented code.

ticket: 6449

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22183 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoWhen getting initial credentials with a password, try the master if
Greg Hudson [Wed, 8 Apr 2009 15:22:17 +0000 (15:22 +0000)]
When getting initial credentials with a password, try the master if
preauth fails on a slave, since preauth can fail due to an out-of-date
key.  This removes a snippet added in r14939 which was considering
only hardware preauth.

ticket: 6108
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22182 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoSubject k5_utf8s_to_ucs2s could deref NULL pointer..
Ezra Peisach [Tue, 7 Apr 2009 23:59:25 +0000 (23:59 +0000)]
Subject k5_utf8s_to_ucs2s could deref NULL pointer..

Based on usage of this static function, this will never happen as
results are always malloced (and checked) by caller.  However, the
function is already coded to handle the first argument being null - so
be consistent throughout.

ticket:

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22177 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCVE-2009-0846 asn1_decode_generaltime can free uninitialized pointer
Tom Yu [Tue, 7 Apr 2009 21:22:23 +0000 (21:22 +0000)]
CVE-2009-0846 asn1_decode_generaltime can free uninitialized pointer

The asn1_decode_generaltime() function can free an uninitialized
pointer if asn1buf_remove_charstring() fails.

ticket: 6445
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22176 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCVE-2009-0847 asn1buf_imbed incorrect length validation
Tom Yu [Tue, 7 Apr 2009 21:22:20 +0000 (21:22 +0000)]
CVE-2009-0847 asn1buf_imbed incorrect length validation

asn1buf_imbed() can perform pointer arithmetic that causes the "bound"
pointer of the subbuffer to be less than the "next" pointer.  This can
lead to malloc() failure or crash.

In asn1buf_imbed(), check the length before doing arithmetic to set
subbuf->bound.  In asn1buf_remove_octetstring() and
asn1buf_remove_charstring(), check for invalid buffer pointers before
executing an unsigned length check against a (casted to size_t)
negative number.

ticket: 6444
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22175 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCVE-2009-0844 SPNEGO can read beyond buffer end
Tom Yu [Tue, 7 Apr 2009 21:22:17 +0000 (21:22 +0000)]
CVE-2009-0844 SPNEGO can read beyond buffer end

SPNEGO can read beyond the end of a buffer if the claimed DER length
exceeds the number of bytes in the input buffer. This can lead to
crash or information disclosure.

Thanks to Apple for reporting this vulnerability and providing
patches.

ticket: 6443
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22174 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoApply revised patch from Apple that ensures that a REJECT token is
Tom Yu [Tue, 7 Apr 2009 21:22:13 +0000 (21:22 +0000)]
Apply revised patch from Apple that ensures that a REJECT token is
sent on error.

ticket: 6417

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22173 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoNull pointer defref in adding info
Ezra Peisach [Tue, 7 Apr 2009 17:57:56 +0000 (17:57 +0000)]
Null pointer defref in adding info

Clearly the code is broken - and we either never use it - or callers never pass
NULL...

Detected by clang static checker.

ticket: 6442

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22172 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement KDC side of TGS FAST
Sam Hartman [Sun, 5 Apr 2009 21:11:26 +0000 (21:11 +0000)]
Implement KDC side of TGS FAST

Most of the KDC side of TGS FAST was already present.  This adds
correct generation of the reply key.

ticket: 6439
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22171 dc483132-0cff-0310-8789-dd5450dbe970

15 years agofix logic errors
Sam Hartman [Sat, 4 Apr 2009 03:03:04 +0000 (03:03 +0000)]
fix logic errors

ticket: 6436

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22170 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdjust the logic in rule_an_to_ln to avoid a "can't happen" case of
Greg Hudson [Fri, 3 Apr 2009 18:14:40 +0000 (18:14 +0000)]
Adjust the logic in rule_an_to_ln to avoid a "can't happen" case of
strchr returning null when searching for a character we know is there.
Also properly return ENOMEM if we fail to allocate selstring.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22169 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoHandle authdata encrypted in subkey
Sam Hartman [Fri, 3 Apr 2009 05:36:25 +0000 (05:36 +0000)]
Handle authdata encrypted in subkey

RFC 4120 requires that if a subkey is present in the TGS request that
authorization data be encrypted in the subkey.  Our KDC did not handle
this correctly.

ticket: 6438
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22168 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoMerge fast branch at 22166 onto trunk
Sam Hartman [Fri, 3 Apr 2009 04:03:45 +0000 (04:03 +0000)]
Merge fast branch at 22166 onto trunk

ticket: 6436

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22167 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoUnfortunately, pre-1.7 krshd fails to support keyed checksums because
Sam Hartman [Fri, 3 Apr 2009 03:33:01 +0000 (03:33 +0000)]
Unfortunately, pre-1.7 krshd fails to support keyed checksums because
it uses the wrong API and wrong key usage.  So, if the auth_context
has an explicit checksum type set, then respect that.  kcmd sets such
a checksum type.  Also, because other applications may have the same
problem, allow the config file variable if set to override the default
checksum.

* kcmd.c: Force use of rsa_md5
* init_ctx.c: do not default  to md5
* mk_req_ext.c: allow auth_context to override

ticket: 1624

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22160 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoFix krshd and krlogind to use krb5_c_verify_checksum
Tom Yu [Thu, 2 Apr 2009 23:30:28 +0000 (23:30 +0000)]
Fix krshd and krlogind to use krb5_c_verify_checksum

ticket: 1624

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22159 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoUse the preferred checksum for non-DES keys in the kdc_req path and
Sam Hartman [Wed, 1 Apr 2009 18:25:02 +0000 (18:25 +0000)]
Use the preferred checksum for non-DES keys in the kdc_req path and
all the time in the ap_req checksum path.  This breaks code to support
DCE versions prior to 1.1 but uses the correct checksum for protocol
compatibility.

ticket: 1624
Target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22154 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoMake FAST changes build when pkinit is disabled
Tom Yu [Tue, 31 Mar 2009 23:51:48 +0000 (23:51 +0000)]
Make FAST changes build when pkinit is disabled

ticket: 6436

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22153 dc483132-0cff-0310-8789-dd5450dbe970

15 years agomark export grade RC4 as weak
Sam Hartman [Tue, 31 Mar 2009 22:36:03 +0000 (22:36 +0000)]
mark export grade RC4 as weak

Set the weak enctype flag on the 40-bit RC4.

ticket: 6437
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22152 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoInitialize request state in the TGS path
Sam Hartman [Tue, 31 Mar 2009 22:35:59 +0000 (22:35 +0000)]
Initialize request state in the TGS path

ticket: 6436

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22151 dc483132-0cff-0310-8789-dd5450dbe970

15 years agomake depend
Sam Hartman [Tue, 31 Mar 2009 17:12:44 +0000 (17:12 +0000)]
make depend

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22150 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement FAST from draft-ietf-krb-wg-preauth-framework
Sam Hartman [Tue, 31 Mar 2009 17:00:41 +0000 (17:00 +0000)]
Implement FAST from draft-ietf-krb-wg-preauth-framework

Merge fast branch at 22146 onto trunk

Implement the kerberos pre-authentication framework FAST feature per
Projects/FAST on the wiki.

ticket: 6436
Target_Version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22149 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoin send_tgs.c:
Sam Hartman [Tue, 31 Mar 2009 16:50:25 +0000 (16:50 +0000)]
in send_tgs.c:
Encrypt using local_subkey not *subkey

ticket: 6393

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22148 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd PAC and principal parsing test cases
Greg Hudson [Mon, 30 Mar 2009 02:43:51 +0000 (02:43 +0000)]
Add PAC and principal parsing test cases

From Heimdal, ported by Luke, further modified by me.

ticket: 6435

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22147 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoUpdate kdb5_util man page for mkey migration project
Will Fiveash [Wed, 25 Mar 2009 21:12:58 +0000 (21:12 +0000)]
Update kdb5_util man page for mkey migration project

Updated the kdb5_util command man page to include documentation on new
subcommands added as a result of the Master Key Migration project.

Ticket: 6432
Version_Reported: 1.7
Target_Version: 1.7
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22114 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoRevert r21880 which included k5-int.h in several pkinit source files.
Greg Hudson [Tue, 24 Mar 2009 17:24:31 +0000 (17:24 +0000)]
Revert r21880 which included k5-int.h in several pkinit source files.
Instead, move the pkinit-specific KRB5_CONF macros to pkinit.h, and
add duplicate definitions of the non-pkinit-specific macros used by
the pkinit code.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22113 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoInstall kadmin and kdb headers
Greg Hudson [Fri, 20 Mar 2009 18:09:19 +0000 (18:09 +0000)]
Install kadmin and kdb headers

Add disclaimers to the kadmin and kdb headers about the weaker
stability commitments we make for their APIs, and install them for the
benefit of users who can tolerate such instability.  (The kadmin
interface is the real goal here, but the kadmin header includes kdb.h
so we need to install both.)

ticket: 6431
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22112 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoFix error handling issue in ASN.1 decoder
Greg Hudson [Tue, 17 Mar 2009 21:54:51 +0000 (21:54 +0000)]
Fix error handling issue in ASN.1 decoder

In asn1_k_decode.c, check the return value of
end_sequence_of_no_tagvars_helper.

ticket: 6427
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22107 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoVerify return code from krb5_db_set_mkey_list
Zhanna Tsitkov [Mon, 16 Mar 2009 18:00:06 +0000 (18:00 +0000)]
Verify return code from krb5_db_set_mkey_list

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22100 dc483132-0cff-0310-8789-dd5450dbe970

15 years agomake depend
Sam Hartman [Mon, 16 Mar 2009 16:54:40 +0000 (16:54 +0000)]
make depend

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22098 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement tests for authdata functions
Sam Hartman [Mon, 16 Mar 2009 16:50:30 +0000 (16:50 +0000)]
Implement tests for authdata functions

Implement some test cases for krb5_merge_authdata and
krb5int_find_authdata

ticket: 6422

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22097 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement krb5int_find_authdata
Sam Hartman [Mon, 16 Mar 2009 16:50:26 +0000 (16:50 +0000)]
Implement krb5int_find_authdata

Implement a function to find all instances of a particular ad_type in
ticket or authenticator authdata.

ticket: 6422

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22096 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement test cases for CF2
Sam Hartman [Mon, 16 Mar 2009 16:50:23 +0000 (16:50 +0000)]
Implement test cases for CF2

Implement a simple program to call KRB-FX-CF2 and print the resulting
keys.  Add to regression tests.  Also, use the PRF testing application
to confirm that CF2 generates consistent keys if called by hand.

ticket: 6421

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22095 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement KRB-FX_CF2
Sam Hartman [Mon, 16 Mar 2009 16:50:09 +0000 (16:50 +0000)]
Implement KRB-FX_CF2

Draft-ietf-krb-wg-preauth-framework defines a function KRB-FX-CF2 that
combines two keys of arbitrary enctype.  Implement this function as an
exported API.

ticket: 6421

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22094 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCall kdb_set_mkey_list from the KDC
Sam Hartman [Mon, 16 Mar 2009 16:50:04 +0000 (16:50 +0000)]
Call kdb_set_mkey_list from the KDC

In order for the kdb keytab to be used from within the KDC, the KDC
needs to set the master key list in the context.

ticket: 6424
Target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22093 dc483132-0cff-0310-8789-dd5450dbe970

15 years agokrb5_auth_con_free should support freeing a null auth_context without segfault
Sam Hartman [Mon, 16 Mar 2009 16:49:59 +0000 (16:49 +0000)]
krb5_auth_con_free should support freeing a null auth_context without segfault

If the input auth_con is NULL, return success.

ticket: 6423

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22092 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd LDAP back end support for canonical name attribute
Greg Hudson [Sun, 15 Mar 2009 04:21:12 +0000 (04:21 +0000)]
Add LDAP back end support for canonical name attribute

Add a krbCanonicalName attribute to the schema.  When looking up a
principal, if the canonical name is set and does not match the
requested name, then return the entry only if canonicalization was
requested, and use the entry's canonical name.

ticket: 6420
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22090 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoDocument alias support in LDAP back end
Greg Hudson [Sun, 15 Mar 2009 04:15:16 +0000 (04:15 +0000)]
Document alias support in LDAP back end

Add a few paragraphs to the LDAP instructions on creating aliases
through direct manipulation of the LDAP data, and briefly explain when
aliases will be used.

ticket: 6419
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22089 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImprove LDAP admin documentation
Greg Hudson [Sat, 14 Mar 2009 05:46:18 +0000 (05:46 +0000)]
Improve LDAP admin documentation

Use dc=example,dc=com as the example base DN instead of more archaic
forms.  Provide a little more cross-referencing of concepts and
mechanisms.  Add additional steps in the OpenLDAP setup instructions
for choosing DNs for the Kerberos container, KDC service, and kadmin
service.  Explain a little bit about what the Kerberos container and
realm container are.  Be clearer that using separate subtrees from the
realm container for principals is an option, not a necessity, and
don't use the base DN as an example of a separate subtree (it's
confusing).

ticket: 6418
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22088 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCVE-2009-0845 SPNEGO can dereference a null pointer
Tom Yu [Fri, 13 Mar 2009 21:16:14 +0000 (21:16 +0000)]
CVE-2009-0845 SPNEGO can dereference a null pointer

acc_ctx_new() can return an error condition without establishing a
SPNEGO context structure.  This can cause a null pointer dereference
in cleanup code in spnego_gss_accept_sec_context().

ticket: 6417
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22084 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoUse correct salt for canonicalized principals
Greg Hudson [Fri, 13 Mar 2009 03:10:12 +0000 (03:10 +0000)]
Use correct salt for canonicalized principals

In cases where the salt is derived from the client principal, use the
canonicalized principal received from the KDC to determine the salt.
Further changes are probably required for some preauth cases.

ticket: 6415
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22083 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoBetter fix: Delay setting 'outbuf' until after the header buffer might
Ken Raeburn [Thu, 12 Mar 2009 22:06:35 +0000 (22:06 +0000)]
Better fix: Delay setting 'outbuf' until after the header buffer might
have been allocated locally, and set it in both code paths instead of
just the confidentiality-requested code path.

ticket: 6412
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22082 dc483132-0cff-0310-8789-dd5450dbe970

15 years agocrash using library-allocated storage for header in wrap_iov
Ken Raeburn [Thu, 12 Mar 2009 16:48:15 +0000 (16:48 +0000)]
crash using library-allocated storage for header in wrap_iov

When allocating storage for the header buffer, update the internal
output buffer pointer as well.

ticket: 6412
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22081 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoReport verbose error messages from KDC
Greg Hudson [Wed, 11 Mar 2009 22:14:24 +0000 (22:14 +0000)]
Report verbose error messages from KDC

We were losing verbose error messages when logging from the KDC because
the context passed to krb5_klog_init did not match the realm-specific
context used for most library function calls.  Introduce a wrapper
function kdc_err which copies the error state from the call context
to the log context.  The wrapper function also knows the program name,
which removes the need to pass argv[0] around everywhere or make up
program names.

ticket: 6408
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22079 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoMake a working krb5_copy_error_message
Greg Hudson [Wed, 11 Mar 2009 22:11:06 +0000 (22:11 +0000)]
Make a working krb5_copy_error_message

The krb5_copy_error_state macro wasn't used, didn't work, and didn't
need to be a macro.  Replace it with an exported API function named
krb5_copy_error_message.

ticket: 6407
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22078 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoMake Lite Client lib link again
Zhanna Tsitkov [Wed, 11 Mar 2009 15:36:41 +0000 (15:36 +0000)]
Make Lite Client lib link again

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22077 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoMake it link again
Zhanna Tsitkov [Wed, 11 Mar 2009 15:32:14 +0000 (15:32 +0000)]
Make it link again

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22076 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoSeveral small fixes to enable the migrate mkey commands to work properly with a LDAP...
Will Fiveash [Tue, 10 Mar 2009 20:26:24 +0000 (20:26 +0000)]
Several small fixes to enable the migrate mkey commands to work properly with a LDAP KDB.  See the ticket for more details

ticket: 6405
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22073 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdded test for KRB5_NT_UNKNOWN princ type
Zhanna Tsitkov [Tue, 10 Mar 2009 14:49:43 +0000 (14:49 +0000)]
Added test for KRB5_NT_UNKNOWN princ type

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22072 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoRename kdb_setup_lib_handle to krb5_db_setup_lib_handle and export it.
Greg Hudson [Tue, 10 Mar 2009 01:28:12 +0000 (01:28 +0000)]
Rename kdb_setup_lib_handle to krb5_db_setup_lib_handle and export it.
Make kdb5_ldap_util work again by calling this function to set up
dal_handle instead of using one with an uninitialized lib_handle.

It is likely that kdb5_ldap_util will only function given a krb5.conf
which specifies a realm with an LDAP database module as the default
realm.  Not sure if that was the case before.

ticket: 6403

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22071 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoRemoved unneeded printf's
Zhanna Tsitkov [Mon, 9 Mar 2009 14:23:31 +0000 (14:23 +0000)]
Removed unneeded  printf's

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22070 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIntroduced '-u' option to kvno to enforce KRB5_NT_UNKNOWN princ type
Zhanna Tsitkov [Mon, 9 Mar 2009 14:21:20 +0000 (14:21 +0000)]
Introduced '-u' option to kvno to enforce KRB5_NT_UNKNOWN princ type

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22069 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd "-V" option to klist to print the package name and version, and exit
Ken Raeburn [Fri, 6 Mar 2009 23:57:10 +0000 (23:57 +0000)]
Add "-V" option to klist to print the package name and version, and exit

ticket: 4241
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22068 dc483132-0cff-0310-8789-dd5450dbe970

15 years agosend_as_req re-encodes the request
Sam Hartman [Fri, 6 Mar 2009 17:26:29 +0000 (17:26 +0000)]
send_as_req re-encodes the request

krb5_get_init_creds calls encode_krb5_as_req to produce an encoding
for the preauth plugins, then passes the unencoded request structure
into the static function send_as_req.  That function re-encodes the
request.  This is an unnecessary call to the encoder.  In addition,
for the FAST project, it is desirable to encapsulate the unencoded
outer request so that krb5_get_init_creds does not need it.

* send_as_req is modified to take an encoded request and realm
* Remove unused logic to fill in request nonce from send_as_req

ticket: 6401

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22067 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoTake out of the loop unchangeble assignments. Tabulation
Zhanna Tsitkov [Thu, 5 Mar 2009 16:49:12 +0000 (16:49 +0000)]
Take out of the loop unchangeble assignments. Tabulation

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22065 dc483132-0cff-0310-8789-dd5450dbe970

15 years agokrb5_merge_authdata should initialize output on failure
Sam Hartman [Thu, 26 Feb 2009 20:32:35 +0000 (20:32 +0000)]
krb5_merge_authdata  should initialize output on failure

ticket: 6400

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22057 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoInclude authenticator and ticket authdata in gss-api
Sam Hartman [Thu, 26 Feb 2009 20:07:05 +0000 (20:07 +0000)]
Include authenticator and ticket authdata in gss-api

Currently, the GSS-API routines for handling authdata only extract the
authorization data from the ticket, not that from the authenticator.
This is incorrect.  Introduce a new function krb5_merge_authadata to
merge two authdata arrays into a newly allocated result array.  Use
this function in accept_sec_context.c to include both sets of
authdata.

ticket: 6400
Target_version: 1.7
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22056 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCheck return code of encode_krb5_ap_req. Also, tabs vs whitespace
Zhanna Tsitkov [Mon, 23 Feb 2009 21:26:29 +0000 (21:26 +0000)]
Check return code of encode_krb5_ap_req. Also, tabs vs whitespace

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22050 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIn krb5int_generate_and_save_subkey, check the return value of
Greg Hudson [Mon, 23 Feb 2009 20:15:05 +0000 (20:15 +0000)]
In krb5int_generate_and_save_subkey, check the return value of
krb5_crypto_us_timeofday.  It can't really fail in practice, but if it
did we'd be passing stack garbage to krb5_c_random_add_entropy.
That's harmless, but poor form.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22049 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCheck the return value of fseek in two places in kt_file.c
Greg Hudson [Mon, 23 Feb 2009 19:30:36 +0000 (19:30 +0000)]
Check the return value of fseek in two places in kt_file.c

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22047 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCorrect the return code
Zhanna Tsitkov [Mon, 23 Feb 2009 18:47:28 +0000 (18:47 +0000)]
Correct the return code

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22046 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoKill an odd (but harmless) use of strncpy in
Greg Hudson [Mon, 23 Feb 2009 18:28:48 +0000 (18:28 +0000)]
Kill an odd (but harmless) use of strncpy in
krb5_get_in_tkt_with_password, by using the construction from
krb5_get_init_creds_password.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22045 dc483132-0cff-0310-8789-dd5450dbe970

15 years agosend_tgs.c:
Sam Hartman [Mon, 23 Feb 2009 16:22:47 +0000 (16:22 +0000)]
send_tgs.c:
* Move generation of subkey into krb5int_send_tgs from construct_authenticator so that it is available for encrypting authorization data.

* Initialize rep->message_type and note that rep is touched on
unsuccessful calls (this has always been true).

* Do not set *subkey until successful return.
Thanks to Greg Hudson for pointing out these problems.

Ticket: 6393

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22044 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIn krcp, check the return value when closing the output file after
Greg Hudson [Fri, 20 Feb 2009 19:13:00 +0000 (19:13 +0000)]
In krcp, check the return value when closing the output file after
successfully writing it.  close cannot return an error status on most
local filesystems, but can on some network filesystems such as AFS or
NFS.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22043 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAlso install k5srvutil into PREFIX/bin instead of PREFIX/sbin
Russ Allbery [Fri, 20 Feb 2009 18:48:26 +0000 (18:48 +0000)]
Also install k5srvutil into PREFIX/bin instead of PREFIX/sbin

Ticket: 6348
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22042 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdjust to the return value of isflagset routine
Zhanna Tsitkov [Fri, 20 Feb 2009 18:24:18 +0000 (18:24 +0000)]
Adjust to the return value of isflagset routine

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22041 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoKDC realm referral test
Zhanna Tsitkov [Fri, 20 Feb 2009 14:34:34 +0000 (14:34 +0000)]
KDC realm referral test

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22040 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoremove obsolete GNU.ORG realm info
Ken Raeburn [Thu, 19 Feb 2009 20:51:27 +0000 (20:51 +0000)]
remove obsolete GNU.ORG realm info

Our sample krb5.conf has obsolete info on the GNU.ORG realm; the DNS
entries named don't exist, and AFAIK this hasn't been accurate in
years.  (I don't even know if they're currently running a Kerberos
realm.)

ticket: 6398
target_version: 1.7
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22038 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoFix in handle_referral_params
Zhanna Tsitkov [Thu, 19 Feb 2009 20:15:04 +0000 (20:15 +0000)]
Fix in handle_referral_params

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22037 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoSome fixups and stubs for building ccapi on UNIX, and dependencies.
Ken Raeburn [Wed, 18 Feb 2009 18:20:41 +0000 (18:20 +0000)]
Some fixups and stubs for building ccapi on UNIX, and dependencies.
(Doesn't make a complete working implementation, but it mostly compiles.)

Does *not* include the changes to actually cause the ccapi code to get
built in normal UNIX builds.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22023 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoRevert the fopen part of the previous krb5_kuserok change, but keep
Greg Hudson [Tue, 17 Feb 2009 17:32:19 +0000 (17:32 +0000)]
Revert the fopen part of the previous krb5_kuserok change, but keep
the string-handling change.  It introduced an unwanted behavior change
when .k5login was detectable but unreadable.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22011 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIn krb5_kuserok, just try opening .k5login; don't check ahead of time
Greg Hudson [Tue, 17 Feb 2009 17:09:35 +0000 (17:09 +0000)]
In krb5_kuserok, just try opening .k5login; don't check ahead of time
whether it looks accessible.  Also rewrite the construction of the
.k5login filename to use snprintf instead of strnpy/strncat.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22010 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoBe less verbose about routing-socket messages
Ken Raeburn [Fri, 13 Feb 2009 22:23:24 +0000 (22:23 +0000)]
Be less verbose about routing-socket messages

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22005 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCorrect numerous memory leaks on error conditions in the ASN.1
Greg Hudson [Fri, 13 Feb 2009 22:05:48 +0000 (22:05 +0000)]
Correct numerous memory leaks on error conditions in the ASN.1
decoder functions.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22004 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIn krb5_decode_leak.c, work around the oddity that
Greg Hudson [Fri, 13 Feb 2009 22:03:37 +0000 (22:03 +0000)]
In krb5_decode_leak.c, work around the oddity that
krb5_free_cred_enc_part is a contents-only free function.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22003 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIn tgs_construct_tgsreq, free scratch even if scratch->data is NULL.
Greg Hudson [Fri, 13 Feb 2009 22:00:47 +0000 (22:00 +0000)]
In tgs_construct_tgsreq, free scratch even if scratch->data is NULL.
(Which probably can't happen, but static analyzers don't know that.)
Also protect scratch from being freed before initialization.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22002 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement TGS authenticator subkey usage
Sam Hartman [Fri, 13 Feb 2009 15:55:32 +0000 (15:55 +0000)]
Implement TGS authenticator subkey usage

Implement support for use of a subkey in the TGS req.  This is needed
by FAST TGS support.  The interface to krb5_send_tgs changed in order
to gain a subkey output parameter.  Since this is a private interface
it was renamed to krb5int_send_tgs and removed from the export list.

* send_tgs.c: generate a subkey and return to caller
* decode_kdc_rep.c: Use subkey keyusage
* gc_via_tkt.c: pass in subkey to decode_kdc_rep
* send_tgs.c: use subkey for encrypting authorization data

ticket: 6393
tags: enhancement

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21993 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoDon't pass negative numbers to strerror
Ken Raeburn [Thu, 12 Feb 2009 20:35:15 +0000 (20:35 +0000)]
Don't pass negative numbers to strerror

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21988 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoDon't apply 'const' twice. Make kg_arcfour_l40 static
Ken Raeburn [Thu, 12 Feb 2009 20:19:21 +0000 (20:19 +0000)]
Don't apply 'const' twice.  Make kg_arcfour_l40 static

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21987 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoDon't apply 'const' twice
Ken Raeburn [Thu, 12 Feb 2009 20:18:20 +0000 (20:18 +0000)]
Don't apply 'const' twice

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21986 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIn krb5_get_in_tkt_with_password, free opte before returning the error
Greg Hudson [Thu, 12 Feb 2009 20:07:15 +0000 (20:07 +0000)]
In krb5_get_in_tkt_with_password, free opte before returning the error
from krb5_unparse_name, not after.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21985 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoMake output parameter of krb5_generate_subkey_extended well-defined on
Greg Hudson [Thu, 12 Feb 2009 19:43:23 +0000 (19:43 +0000)]
Make output parameter of krb5_generate_subkey_extended well-defined on
error, and reformat function to fit coding standards.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21984 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoRemove useless unsigned >=0 tests
Ken Raeburn [Thu, 12 Feb 2009 19:43:08 +0000 (19:43 +0000)]
Remove useless unsigned >=0 tests

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21983 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIn krb5_rc_io_open_internal, d->fn is always set for the cleanup
Greg Hudson [Thu, 12 Feb 2009 19:38:08 +0000 (19:38 +0000)]
In krb5_rc_io_open_internal, d->fn is always set for the cleanup
handler, so do not check it.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21982 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoModify asn12krb5_buf and asn1_do_full_encode to make output parameter
Greg Hudson [Thu, 12 Feb 2009 18:21:33 +0000 (18:21 +0000)]
Modify asn12krb5_buf and asn1_do_full_encode to make output parameter
values well-defined on error.  Clean up memory handling and an unused
variable in asn1_do_full_encode.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21981 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoFix allocation failure check in walk_rtree
Greg Hudson [Thu, 12 Feb 2009 17:51:45 +0000 (17:51 +0000)]
Fix allocation failure check in walk_rtree

Check the correct variable for null after allocating the server string
in rtree_capath_vals.

ticket: 6392
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21980 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd a new test harness to facilitate memory leak detection in the
Greg Hudson [Wed, 11 Feb 2009 20:28:40 +0000 (20:28 +0000)]
Add a new test harness to facilitate memory leak detection in the
ASN.1 decoder routines.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21970 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoEnsure we have a free function for every data type we have an ASN.1
Greg Hudson [Wed, 11 Feb 2009 20:18:43 +0000 (20:18 +0000)]
Ensure we have a free function for every data type we have an ASN.1
decoder for.  Export the new free functions, but only declare them
in k5-int.h since they shouldn't be needed by applications.  Also
export a couple of encoder and decoder functions not previously
exported.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21969 dc483132-0cff-0310-8789-dd5450dbe970

15 years ago--disable-rpath is not working
Ezra Peisach [Wed, 11 Feb 2009 13:01:11 +0000 (13:01 +0000)]
--disable-rpath is not working

AC_ARG_ENABLE returns its value in enableval not withval.  --disable-rpath
was not working - or dependent on some previous setting...

ticket: 6390
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21968 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd test for krb5_cc_get_principal and ensure returned value correct
Ezra Peisach [Wed, 11 Feb 2009 12:47:51 +0000 (12:47 +0000)]
Add test for krb5_cc_get_principal and ensure returned value correct

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21967 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoInstall ktutil and kadmin into CLIENT_BINDIR instead of ADMIN_BINDIR
Russ Allbery [Wed, 11 Feb 2009 05:00:24 +0000 (05:00 +0000)]
Install ktutil and kadmin into CLIENT_BINDIR instead of ADMIN_BINDIR
since both are useful for users other than the system administrator.

Ticket: 6348
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21966 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoremove local objects from list for windows
Ken Raeburn [Wed, 11 Feb 2009 01:15:58 +0000 (01:15 +0000)]
remove local objects from list for windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21965 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoremove des425 syms; add some new dce,iov syms needed for gssapi
Ken Raeburn [Wed, 11 Feb 2009 01:14:27 +0000 (01:14 +0000)]
remove des425 syms; add some new dce,iov syms needed for gssapi

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21964 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoUpdates for current CCAPI code; build krb5 unicode support
Ken Raeburn [Wed, 11 Feb 2009 01:12:21 +0000 (01:12 +0000)]
Updates for current CCAPI code; build krb5 unicode support

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21963 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoSome updates to compile and link on Windows, with recent CCAPI changes
Ken Raeburn [Wed, 11 Feb 2009 00:58:41 +0000 (00:58 +0000)]
Some updates to compile and link on Windows, with recent CCAPI changes

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21962 dc483132-0cff-0310-8789-dd5450dbe970

15 years agopull in unicode stuff on windows
Ken Raeburn [Wed, 11 Feb 2009 00:53:28 +0000 (00:53 +0000)]
pull in unicode stuff on windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21961 dc483132-0cff-0310-8789-dd5450dbe970

15 years agohide stat buf init on windows
Ken Raeburn [Wed, 11 Feb 2009 00:53:00 +0000 (00:53 +0000)]
hide stat buf init on windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21960 dc483132-0cff-0310-8789-dd5450dbe970

15 years agomake build on windows, in current makefile framework
Ken Raeburn [Wed, 11 Feb 2009 00:51:46 +0000 (00:51 +0000)]
make build on windows, in current makefile framework

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21959 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoWindows version of 'copy a bunch of files around'
Ken Raeburn [Wed, 11 Feb 2009 00:51:06 +0000 (00:51 +0000)]
Windows version of 'copy a bunch of files around'

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21958 dc483132-0cff-0310-8789-dd5450dbe970