]> git.ipfire.org Git - thirdparty/krb5.git/log
thirdparty/krb5.git
15 years agomake reindent anonymous
Sam Hartman [Mon, 28 Dec 2009 17:11:01 +0000 (17:11 +0000)] 
make reindent

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23526 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoDeclare functions in this header inline to avoid warnings for unused code
Sam Hartman [Wed, 23 Dec 2009 21:11:19 +0000 (21:11 +0000)] 
Declare functions in this header inline to avoid warnings for unused code

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23518 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement server side of PA_PKINIT_KX for anonymous draft
Sam Hartman [Wed, 23 Dec 2009 21:11:16 +0000 (21:11 +0000)] 
Implement server side of PA_PKINIT_KX for anonymous draft

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23517 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAlways supply a padata item to the return callback in a preauth plugin so that callba...
Sam Hartman [Wed, 23 Dec 2009 21:11:12 +0000 (21:11 +0000)] 
Always supply a padata item to the return callback in a preauth plugin so that callback can determine what type of padata it is requested to return.  If there is no item in the request, synthesize an empty one

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23516 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoMove symbols needed by pkinit pa_pkinit_k x to k5-int-pkinit.h
Sam Hartman [Wed, 23 Dec 2009 21:11:09 +0000 (21:11 +0000)] 
Move symbols needed by pkinit pa_pkinit_k x to k5-int-pkinit.h

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23515 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoClient side of PA_PKINIT_KX
Sam Hartman [Wed, 23 Dec 2009 21:11:06 +0000 (21:11 +0000)] 
Client side of PA_PKINIT_KX

The anonymous draft specifies the use of PA_PKINIT_KX to confirm that
both the client and KDc contributed to the session key and to confirm
the session key is fresh.  Implement client support for this item.

* krb5.hin: define padata and key usage constants
* get_in_tkt.c: New function verify_anonymous to perform verification

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23514 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoFix prototype
Sam Hartman [Wed, 23 Dec 2009 21:11:03 +0000 (21:11 +0000)] 
Fix prototype

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23513 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd support for kadmin -n
Sam Hartman [Wed, 23 Dec 2009 21:10:59 +0000 (21:10 +0000)] 
Add support for kadmin -n

Add support for the -n option to kadmin to support anonymous

* kadm5_init_anonymous: new API
* kadmin.c: use it

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23512 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoChange kinit -n logic to support an interface for both fully and
Sam Hartman [Wed, 23 Dec 2009 21:10:55 +0000 (21:10 +0000)] 
Change kinit -n logic to support an interface for both fully and
partially anonymous principals.

* New API krb5_get_init_creds_opt_set_anonymous
* In krb5_get_init_creds_init, map @REALM to WELLKNOWN/ANONYMOUS@REALM
* Change logic for what canonicalization is acceptable to support realm-exposed anonymous principals too
* Use the above in kinit

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23511 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoFor fully anonymous kadmin, the KDC will change the realm to the
Sam Hartman [Wed, 23 Dec 2009 21:10:52 +0000 (21:10 +0000)] 
For fully anonymous kadmin, the KDC will change the realm to the
anonymous realm.

* kadm5_init_creds_iter: let get_init_creds store the credentials
* krb5_setup_gss: If we obtained creds (instead of getting them passed in) then use the default client name

kadmin: Support canonicalization of client name by KDC

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23510 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoPer discussion with Greg and Luke, hold an alias to the out_ccache.
Sam Hartman [Wed, 23 Dec 2009 21:10:49 +0000 (21:10 +0000)] 
Per discussion with Greg and Luke, hold an alias to the out_ccache.
There is some ambiguity in whether it is appropriate for
get_init_creds_opts to hold an alias.  However if it is going to copy
the ccache, we all believe that a duplicate routine in ccfns.c is
preferred.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23509 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoUse global constant for string components of anonymous and wellknown
Sam Hartman [Wed, 23 Dec 2009 21:10:44 +0000 (21:10 +0000)] 
Use global constant for string components of anonymous and wellknown
names.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23508 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIgnore transited realm checking for anonymous realm
Sam Hartman [Wed, 23 Dec 2009 21:10:40 +0000 (21:10 +0000)] 
Ignore transited realm checking for anonymous realm

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23507 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd kinit -n for anonymous
Sam Hartman [Wed, 23 Dec 2009 21:10:36 +0000 (21:10 +0000)] 
Add kinit -n for anonymous

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23506 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoPermit the realm to be canonicalized from any realm to the anonymous
Sam Hartman [Wed, 23 Dec 2009 21:10:33 +0000 (21:10 +0000)] 
Permit the realm to be canonicalized from any realm to the anonymous
realm when anonymous is requested even when the principal is not a TGS
principal.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23505 dc483132-0cff-0310-8789-dd5450dbe970

15 years agopkinit authentication only works for TGT
Sam Hartman [Wed, 23 Dec 2009 21:10:30 +0000 (21:10 +0000)] 
pkinit authentication only works for TGT

Pkinit's verification of the KDC SAN requires that the certificate
have a SAN for the server principal.  That's not correct according to
RFC 4556.  The KDC should have a SAN for the TGS principal; that's
independent of whether the TGS principal is actually the server.

Fix to build the TGS principal explicitly.

ticket: 6605

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23504 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement support for the anonymous name type in GSS-API
Sam Hartman [Wed, 23 Dec 2009 21:10:26 +0000 (21:10 +0000)] 
Implement support for the anonymous name type in GSS-API

* Import GSS_C_NT_ANONYMOUS as WELLKNOWN/ANONYMOUS@WELLKNOWN:ANONYMOUS
* the display text of the anonymous name is the krb5 principal, but the nametype is set to GSS_C_NT_ANONYMOUS

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23503 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAnonymous client side support
Sam Hartman [Wed, 23 Dec 2009 21:10:23 +0000 (21:10 +0000)] 
Anonymous client side support

* Permit realm canonicalization for anonymous principals
* If we are requesting anonymous tickets, set the KDC option and name type

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23502 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoChange krb5_get_ap_tag macro to remove warnings
Sam Hartman [Wed, 23 Dec 2009 21:10:19 +0000 (21:10 +0000)] 
Change krb5_get_ap_tag macro to remove warnings

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23501 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoKDC policy handling for anonymous tickets:
Sam Hartman [Wed, 23 Dec 2009 21:10:16 +0000 (21:10 +0000)] 
KDC policy handling for anonymous tickets:

* In TGS, set the anonymous flag if the anonymous flag is set in the AS
* Only authdata systems that support anonymous are called for anonymous tickets
* Currently we copy authdata from request and TGT buth nothing else

Note that if we support anonymous TGS requests in the future, copying
authdata from the TGT would be the wrong thing to do in that case.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23500 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAlso update principal in reply
Sam Hartman [Wed, 23 Dec 2009 21:10:13 +0000 (21:10 +0000)] 
Also update principal in reply

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23499 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoCorrect logic in client plugin
Sam Hartman [Wed, 23 Dec 2009 21:10:10 +0000 (21:10 +0000)] 
Correct logic in client plugin

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23498 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoSet anonymous ticket flag
Sam Hartman [Wed, 23 Dec 2009 21:10:07 +0000 (21:10 +0000)] 
Set anonymous ticket flag

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23497 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoUpdate flag values for anonymous kdc option and ticket flag
Sam Hartman [Wed, 23 Dec 2009 21:10:03 +0000 (21:10 +0000)] 
Update flag  values for anonymous  kdc option and ticket flag
per discussion with Tom

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23496 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoOnly check for anonymous if pkinit_identity is given a principal; the KDC does not...
Sam Hartman [Wed, 23 Dec 2009 21:10:00 +0000 (21:10 +0000)] 
Only check for anonymous if pkinit_identity is given a principal; the KDC does not pass in a principal

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23495 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoBecause there is only one realm field in the kdc request, the KDC
Sam Hartman [Wed, 23 Dec 2009 21:09:56 +0000 (21:09 +0000)] 
Because there is only one realm field in the kdc request, the KDC
remaps WELLKNOWN/ANONYMOUS@realm to
WELLKNOWN/ANONYMOUS@WELLKNOWN:ANONYMOUS.

In the client pkinit plugin, do not require that the anonymous realm be used for the anonymous principal.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23494 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoImplement support for unsigned pkinit messages
Sam Hartman [Wed, 23 Dec 2009 21:09:53 +0000 (21:09 +0000)] 
Implement support for unsigned pkinit messages

* cms_signeddata_verify will take a ContentInfo as well as SignedData and returns an indication of whether a message is signed
* Accept unsigned authpacks in the  anonymous case.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23493 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoad-initial-verified-cas logic broken
Sam Hartman [Wed, 23 Dec 2009 21:09:50 +0000 (21:09 +0000)] 
ad-initial-verified-cas logic broken

In the initial pkinit implementation, the server plugin generates an
incorrect encoding for ad-initial-verified-cas.  In particular, it
assumes that ad-if-relevant takes a single authorization data element
not a sequence of authorization data elements.  Nothing looked at the
authorization data in 1.6.3 so this was not noticed.  However in 1.7,
the FAST implementation looks for authorization data.  In 1.8 several
more parts of the KDC examine authorization data.  The net result is
that the KDC fails to process the TGT it issues.

However on top of this bug, there is a spec problem.  For many of its intended uses, ad-initial-verified-cas needs to be integrity protected by the KDC in order to prevent a client from injecting it.  So, it should be contained in kdc-issued not ad-if-relevant.

For now we're simply removing the generation of this AD element until the spec is clarified.

ticket: 6587
status: open

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23492 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoRevert "In case of anonymous client principal, use the realm of the server"
Sam Hartman [Wed, 23 Dec 2009 21:09:46 +0000 (21:09 +0000)] 
Revert "In case of anonymous client principal, use the realm of the server"

This reverts commit 34d2748e9052debc6a061911c2c786b46507b531.  As the
entire working group has apparently forgotten, the KDC-REQ body only
has one realm field.  That's used in an AS REQ for both the server and
client realm .  So, in the anonymous pkinit case, I think we want to
send using a client of WELLKNOWN/ANONYMOUS@REAL_REALM.  Waiting to
hear back from the WG on this.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23491 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIn case of anonymous client principal, use the realm of the server
Sam Hartman [Wed, 23 Dec 2009 21:09:43 +0000 (21:09 +0000)] 
In case of anonymous client principal, use the realm of the server
principal or if not specified the default realm for determining what
KDC to contact.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23490 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoIf the anonymous principal is used, then do not initialize the
Sam Hartman [Wed, 23 Dec 2009 21:09:39 +0000 (21:09 +0000)] 
If the anonymous principal is used, then do not initialize the
identity context.

  # Please enter the commit message for your
changes. Lines starting # with '#' will be ignored, and an empty
message aborts the commit.  # On branch anonymous # Your branch is
ahead of 'krb5/trunk' by 3 commits.  # # Changes to be committed: #
(use "git reset HEAD <file>..." to unstage) # # modified:
../src/plugins/preauth/pkinit/pkinit_crypto_openssl.c # modified:
../src/plugins/preauth/pkinit/pkinit_identity.c # # Untracked files: #
(use "git add <file>..." to include in what will be committed) # # ./
../src/include/autoconf.stmp # ../static/

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23489 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd cms_contentinfo_create to create the pkinit content info; this is
Sam Hartman [Wed, 23 Dec 2009 21:09:00 +0000 (21:09 +0000)] 
Add cms_contentinfo_create to create the pkinit content info; this is
sent directly for anonymous pkinit and is signed as part of normal
pkinit.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23488 dc483132-0cff-0310-8789-dd5450dbe970

15 years agosigned vs unsigned fixes
Sam Hartman [Wed, 23 Dec 2009 20:59:07 +0000 (20:59 +0000)] 
signed vs unsigned fixes

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23487 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoAdd anonymous principal and name type
Sam Hartman [Wed, 23 Dec 2009 20:59:03 +0000 (20:59 +0000)] 
Add anonymous principal and name type

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23486 dc483132-0cff-0310-8789-dd5450dbe970

15 years agoanonymous branch
Sam Hartman [Wed, 23 Dec 2009 20:46:23 +0000 (20:46 +0000)] 
anonymous branch

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/anonymous@23485 dc483132-0cff-0310-8789-dd5450dbe970

15 years agofast negotiation projec
Sam Hartman [Mon, 14 Dec 2009 18:28:16 +0000 (18:28 +0000)] 
fast negotiation projec

Merge branches/fast-negotiate into trunk.
This implements http://k5wiki.kerberos.org/wiki/Projects/Fast_negotiation

Additional changes:
* krb5_c_make_checksum with checksum type 0 uses mandatory checksum for given key enctype

Conflicts:
src/lib/crypto/krb/make_checksum.c

ticket: 6595
Tags: enhancement

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

15 years agoDon't use sizeof(pointertype) to get the length of an allocated array
Tom Yu [Thu, 10 Dec 2009 19:34:47 +0000 (19:34 +0000)] 
Don't use sizeof(pointertype) to get the length of an allocated array

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

15 years agoAdd comments to make it slightly clearer how
Greg Hudson [Thu, 10 Dec 2009 19:04:47 +0000 (19:04 +0000)] 
Add comments to make it slightly clearer how
krb5int_confounder_checksum works.

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

15 years agoRestructure the crypto checksum implementation to minimize
Greg Hudson [Thu, 10 Dec 2009 17:10:10 +0000 (17:10 +0000)] 
Restructure the crypto checksum implementation to minimize
dependencies on the internals of modules.

* Keyhash providers are gone.
* The cksumtypes table contains checksum and verify functions,
  similar to the etypes encrypt and decrypt functions.  New checksum
  functions parallel the old keyhash providers, and there are also
  functions for unkeyed and derived-key HMAC checksums.
* The flags field is now used to indicate whether a checksum is
  unkeyed, but not whether it is a derived-key HMAC checksum.
* The descbc checksum is handled through a new enc_provider function
  which calculates a CBC MAC.

The OpenSSL module does not implement the CBC MAC function (it didn't
implement descbc before).  builtin/des could probably get rid of
f_cksum.c (the old DES CBC routine) with some alterations to
string2key.c.

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

15 years agoChange file holder for krb5int_check_clockskew. Minor Style changes per code practices
Zhanna Tsitkov [Wed, 9 Dec 2009 16:52:41 +0000 (16:52 +0000)] 
Change file holder for krb5int_check_clockskew. Minor Style changes per code practices

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

15 years agoRemove dependency on /bin/csh in test suite
Ezra Peisach [Tue, 8 Dec 2009 03:24:23 +0000 (03:24 +0000)] 
Remove dependency on /bin/csh in test suite

The libdb2 test suite would fail if /bin/csh was not present.  The
tests did not execute /bin/csh - but used the contents as data to put
into the test database.  Iterate over a few "known" files until one is found
that could be used for it... Tests for /bin/csh, /bin/cat, /usr/bin/cat,
/bin/ls, /usr/bin/ls.  If none of these exist - then fail.

ticket: 6593

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

15 years agoMark and reindent lib/gssapi, with some exceptions
Tom Yu [Tue, 8 Dec 2009 00:04:48 +0000 (00:04 +0000)] 
Mark and reindent lib/gssapi, with some exceptions

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

15 years agoMark lib/apputils
Tom Yu [Mon, 7 Dec 2009 23:26:27 +0000 (23:26 +0000)] 
Mark lib/apputils

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

15 years agoMark and reindent util, with some exceptions
Tom Yu [Mon, 7 Dec 2009 22:36:41 +0000 (22:36 +0000)] 
Mark and reindent util, with some exceptions

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

15 years agohandle negative enctypes better
Tom Yu [Mon, 7 Dec 2009 15:30:37 +0000 (15:30 +0000)] 
handle negative enctypes better

krb5_dbe_def_search_enctype and krb5int_parse_enctype_list were making
assumptions that enctype numbers are positive.  Potentially more code
makes this assumption, but these appear to be the major ones.

ticket: 6592
status: open

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

15 years agoInitialize ihash_iov in case fall through to cleanup handler and try
Ezra Peisach [Sun, 6 Dec 2009 22:07:02 +0000 (22:07 +0000)] 
Initialize ihash_iov in case fall through to cleanup handler and try
to free garbarge.

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

15 years agoRemove the ivec parameters from the keyhash provider functions, as
Greg Hudson [Sun, 6 Dec 2009 20:55:16 +0000 (20:55 +0000)] 
Remove the ivec parameters from the keyhash provider functions, as
they are never used by callers.

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

15 years agoMake depend
Greg Hudson [Sun, 6 Dec 2009 16:25:22 +0000 (16:25 +0000)] 
Make depend

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

15 years agoMake the libk5crypto hash_provider interface take crypto_iov lists
Greg Hudson [Sun, 6 Dec 2009 16:23:11 +0000 (16:23 +0000)] 
Make the libk5crypto hash_provider interface take crypto_iov lists
instead of lists of krb5_data.  Make the base HMAC APIs take
crypto_iov lists and drop the _iov variants.

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

15 years agoIn the built-in des3 provider, remove the unused version of
Greg Hudson [Sun, 6 Dec 2009 15:57:36 +0000 (15:57 +0000)] 
In the built-in des3 provider, remove the unused version of
validate_and_schedule, and drop the _iov suffix from the one we do
use.  (Cleanup from r23444.)

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

15 years agoMake the alloc_data and k5alloc convenience functions work if the
Greg Hudson [Sat, 5 Dec 2009 22:53:04 +0000 (22:53 +0000)] 
Make the alloc_data and k5alloc convenience functions work if the
caller requests zero bytes, by allocating one byte instead.

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

15 years agoRemove tests for sched.h, kdb_db.h, kdc.c. None of these are used in the tree
Ezra Peisach [Sat, 5 Dec 2009 13:47:37 +0000 (13:47 +0000)] 
Remove tests for sched.h, kdb_db.h, kdc.c.  None of these are used in the tree

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

15 years agoRemove some code paths in crypto-length which are dead now that the
Greg Hudson [Fri, 4 Dec 2009 14:58:10 +0000 (14:58 +0000)] 
Remove some code paths in crypto-length which are dead now that the
internal interface can't return an error.

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

15 years agoRemove CRC32_SHIFT4 code as we are unlikely to ever need it
Greg Hudson [Fri, 4 Dec 2009 14:54:57 +0000 (14:54 +0000)] 
Remove CRC32_SHIFT4 code as we are unlikely to ever need it

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

15 years agoConsolidate the IOV and non-IOV encryption/decryption code paths, and
Greg Hudson [Fri, 4 Dec 2009 05:12:35 +0000 (05:12 +0000)] 
Consolidate the IOV and non-IOV encryption/decryption code paths, and
drop the _iov suffix from most encryption- and decryption-related
functions.  The enc_provider encrypt and decrypt functions take IOVs,
as do the enctype entries in etypes.c, and there are no separate
encrypt_iov or decrypt_iov functions.

aead_provider is gone.  Enctype functions now take pointers to the
enctype entry instead of pointers to the enc/hash/aead providers; this
allows dk_encrypt and dk_decrypt to be polymorphic in the length
function they use now that AES and DES3 can't differentiate by aead
provider.

aes_string_to_key needed to be moved into the krb/ fold for this since
it's an enctype function; it was duplicated between builtin/ and
openssl/ before.  This leaves openssl/aes empty; the build system
currently demands that all modules have the same directory structure,
so the directory and Makefile will stick around for now.

Three separate copies of the derive_random logic are also now
consolidated into one.

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

15 years agoRevert r23442. Revert r23436 changes unrelated to comment reformatting
Tom Yu [Thu, 3 Dec 2009 04:49:37 +0000 (04:49 +0000)] 
Revert r23442.  Revert r23436 changes unrelated to comment reformatting

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

15 years agoUpdate export list to reflect changes in r23436
Tom Yu [Thu, 3 Dec 2009 04:10:18 +0000 (04:10 +0000)] 
Update export list to reflect changes in r23436

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

15 years agoReformat new comments
Ken Raeburn [Thu, 3 Dec 2009 02:35:21 +0000 (02:35 +0000)] 
Reformat new comments

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

15 years agofix slow behavior on Mac OS X with link-local addresses
Ken Raeburn [Thu, 3 Dec 2009 02:17:28 +0000 (02:17 +0000)] 
fix slow behavior on Mac OS X with link-local addresses

When using my previous patch, if a local hostname like "foobar.local"
is looked up, you may get back a link-local IPv6 address.  However,
the KDC seems to be unable to respond from that address, resulting in
a ~1s delay for each KDC exchange while waiting for the client to fail
over to another address (in my case, another IPv6 address).

Create a new object for holding whatever auxiliary information might
be needed to properly transmit the response to the client.  Currently,
that only means the interface index number under IPv6.  Fill it in on
receipt, always; copy it back to the pktinfo structure when
transmitting, ONLY if the local source address is link-local.

If an error occurs while transmitting the reply, print both the remote
destination address and the local source address.  Use getnameinfo
instead of inet_ntop.

Apply the same changes to kadmind, to keep the versions of network.c
more or less in sync.

ticket: 6591

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

15 years agoallow testing even if name->addr->name mapping doesn't work
Ken Raeburn [Thu, 3 Dec 2009 02:17:24 +0000 (02:17 +0000)] 
allow testing even if name->addr->name mapping doesn't work

Many of the tests are set up to fail if the local hostname can't be
mapped to an address and back to a name again.  If the name results in
an address, and we can get a fully-qualified name or something that
looks like it, though, we should be able to just go ahead and run some
tests.

This is also closer to the current behavior of sname_to_principal when
reverse DNS is enabled.

ticket: 6590

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

15 years agoSense of POINTERS_ARE_ALL_THE_SAME test was backwards
Ken Raeburn [Thu, 3 Dec 2009 02:17:20 +0000 (02:17 +0000)] 
Sense of POINTERS_ARE_ALL_THE_SAME test was backwards

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

15 years agoTemporarily define UINT16_TYPE and UINT32_TYPE so the load/store
Ken Raeburn [Thu, 3 Dec 2009 02:17:16 +0000 (02:17 +0000)] 
Temporarily define UINT16_TYPE and UINT32_TYPE so the load/store
functions don't need excessive conditionals internally.

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

15 years agoReformat new block comment per coding style
Greg Hudson [Wed, 2 Dec 2009 23:34:05 +0000 (23:34 +0000)] 
Reformat new block comment per coding style

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

15 years agoActually record dependencies of crypto tests
Ken Raeburn [Wed, 2 Dec 2009 23:09:42 +0000 (23:09 +0000)] 
Actually record dependencies of crypto tests

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

15 years agoCheck ALL_DEP_SRCS, not SRCS, to decide what to put into the deps file
Ken Raeburn [Wed, 2 Dec 2009 23:09:40 +0000 (23:09 +0000)] 
Check ALL_DEP_SRCS, not SRCS, to decide what to put into the deps file

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

15 years agoupdate dependencies
Ken Raeburn [Wed, 2 Dec 2009 23:09:36 +0000 (23:09 +0000)] 
update dependencies

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

15 years agoPerform the AES-CBC XOR operations 4 bytes at a time, using the helper
Ken Raeburn [Wed, 2 Dec 2009 23:09:33 +0000 (23:09 +0000)] 
Perform the AES-CBC XOR operations 4 bytes at a time, using the helper
functions for loading and storing potentially-unaligned values.
Improves bulk AES encryption performance by 2% or so on 32-bit x86
with gcc 4.

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

15 years agoAdd store_{16,32,64}_n functions, for potentially-unaligned, native-order values
Ken Raeburn [Wed, 2 Dec 2009 23:09:29 +0000 (23:09 +0000)] 
Add store_{16,32,64}_n functions, for potentially-unaligned, native-order values

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

15 years agoSpeed up the per-block loops of AES, DES3, and DES IOV encryption by
Greg Hudson [Wed, 2 Dec 2009 22:37:16 +0000 (22:37 +0000)] 
Speed up the per-block loops of AES, DES3, and DES IOV encryption by
avoiding function calls and copies in the case where the next block
is wholly contained within the current buffer.  To do this, introduce
two new inline functions in aead.h called iov_next_block and
iov_store_block.

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

15 years agoRemove t_kperf on make clean
Greg Hudson [Wed, 2 Dec 2009 20:13:26 +0000 (20:13 +0000)] 
Remove t_kperf on make clean

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

15 years agoClean up the AES enc_provider code a bit. Chiefly, work with unsigned
Greg Hudson [Wed, 2 Dec 2009 19:52:54 +0000 (19:52 +0000)] 
Clean up the AES enc_provider code a bit.  Chiefly, work with unsigned
char blocks, casting input->data and output->data once each upon entry
to the non-IOV encrypt and decrypt functions, rather than casting our
working buffers each time we need to work with an outside function.

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

15 years agoIn t_kperf, generate a valid ciphertext when testing decryption
Greg Hudson [Wed, 2 Dec 2009 18:32:03 +0000 (18:32 +0000)] 
In t_kperf, generate a valid ciphertext when testing decryption

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

15 years agoFix an incorrect length in the new krb5int_c_decrypt_aead_compat
Greg Hudson [Wed, 2 Dec 2009 18:10:12 +0000 (18:10 +0000)] 
Fix an incorrect length in the new krb5int_c_decrypt_aead_compat

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

15 years agoFixed the conflicting type "static krb5_error_code KRB5_CALLCONV" of krb5_change_set...
Zhanna Tsitkov [Wed, 2 Dec 2009 18:06:19 +0000 (18:06 +0000)] 
Fixed the conflicting type "static krb5_error_code KRB5_CALLCONV" of  krb5_change_set_password and some reindentation/reformating

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

15 years agoReindent and removed krb5_ prefix from static func name
Zhanna Tsitkov [Tue, 1 Dec 2009 16:22:47 +0000 (16:22 +0000)] 
Reindent and removed krb5_ prefix from static func name

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

15 years agoFix AES IOV decryption of small messages
Greg Hudson [Tue, 1 Dec 2009 01:36:42 +0000 (01:36 +0000)] 
Fix AES IOV decryption of small messages

AES messages never need to be padded because the confounder ensures
that the plaintext is at least one block long.  Remove a check in
krb5int_dk_decrypt_iov which was rejecting short AES messages because
it didn't count the header length.

ticket: 6589
tags: pullup
target_version: 1.7.1

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

15 years agoMake krb5int_c_decrypt_aead_compat more efficient by building the
Greg Hudson [Tue, 1 Dec 2009 01:32:02 +0000 (01:32 +0000)] 
Make krb5int_c_decrypt_aead_compat more efficient by building the
buffers explicitly rather than using stream decryption.  Sidesteps
some machinery and avoids copying the output.

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

15 years agoFix the usage fallback in krb5int_arcfour_decrypt_iov. Factor out IOV
Greg Hudson [Tue, 1 Dec 2009 00:40:54 +0000 (00:40 +0000)] 
Fix the usage fallback in krb5int_arcfour_decrypt_iov.  Factor out IOV
encryption with a keyblock since this makes four uses of it in one
file.

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

15 years agoMark and reindent tests, with some exclusions
Tom Yu [Mon, 30 Nov 2009 23:09:36 +0000 (23:09 +0000)] 
Mark and reindent tests, with some exclusions

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

15 years agoReindent
Zhanna Tsitkov [Mon, 30 Nov 2009 22:29:48 +0000 (22:29 +0000)] 
Reindent

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

15 years agoMark and reindent util/support
Tom Yu [Mon, 30 Nov 2009 21:35:38 +0000 (21:35 +0000)] 
Mark and reindent util/support

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

15 years agoRemove some stray tabs
Greg Hudson [Mon, 30 Nov 2009 19:37:31 +0000 (19:37 +0000)] 
Remove some stray tabs

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

15 years agoUse aead_dk instead of aead_old for des-hmac-sha1, since it uses
Greg Hudson [Mon, 30 Nov 2009 19:05:01 +0000 (19:05 +0000)] 
Use aead_dk instead of aead_old for des-hmac-sha1, since it uses
dk_encrypt.

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

15 years agoFix ivec chaining for DES iov encryption
Greg Hudson [Mon, 30 Nov 2009 19:03:58 +0000 (19:03 +0000)] 
Fix ivec chaining for DES iov encryption

krb5int_des_cbc_decrypt_iov was using a plaintext block to update the
ivec.  Fix it to use the last cipher block, borrowing from the
corresponding des3 function.  The impact of this bug is not serious
since ivec chaining is not typically used with IOV encryption in 1.7.

ticket: 6588
tags: pullup
target_version: 1.7.1

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

15 years agoAdd an AEAD provider for enctypes which use krb5_old_encrypt and
Greg Hudson [Mon, 30 Nov 2009 16:19:24 +0000 (16:19 +0000)] 
Add an AEAD provider for enctypes which use krb5_old_encrypt and
krb5_old_decrypt; this makes every enctype have an AEAD provider.  To
make this work, expose make_unkeyed_checksum_iov to other files (under
the name krb5int_hash_iov) and make krb5int_c_padding_length take into
account the header length.

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

15 years agoIn the des enc_provider decrypt_iov function, count header blocks as
Greg Hudson [Mon, 30 Nov 2009 16:13:50 +0000 (16:13 +0000)] 
In the des enc_provider decrypt_iov function, count header blocks as
well as data and padding blocks when checking for correctly padded
input.

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

15 years agoMake the crc32 hash provider correctly chain multiple input buffers,
Greg Hudson [Mon, 30 Nov 2009 16:12:36 +0000 (16:12 +0000)] 
Make the crc32 hash provider correctly chain multiple input buffers,
so that it returns the same result if you pass it one big buffer or
many small buffers containing the same data.  To do this, change the
contract of mit_crc32 so that the cksum parameter is in-out.

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

15 years agoStream decryption is handled in krb5_k_decrypt_iov; remove some
Greg Hudson [Mon, 30 Nov 2009 14:17:06 +0000 (14:17 +0000)] 
Stream decryption is handled in krb5_k_decrypt_iov; remove some
lingering checks in the dk and raw aead providers from before that
was introduced.

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

15 years agoFix memory leak
Sam Hartman [Mon, 30 Nov 2009 14:14:47 +0000 (14:14 +0000)] 
Fix memory leak

ticket: 6585

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

15 years agoTerminate the loop in find_authdata_1 if we get an error in one of the
Greg Hudson [Mon, 30 Nov 2009 01:19:14 +0000 (01:19 +0000)] 
Terminate the loop in find_authdata_1 if we get an error in one of the
iterations.

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

15 years agoRemove the non-iov entry point introduced in r23378, since it's easy
Greg Hudson [Sun, 29 Nov 2009 23:13:57 +0000 (23:13 +0000)] 
Remove the non-iov entry point introduced in r23378, since it's easy
to use the iov entry point at both call sites.  Rename the iov entry
point to remove the "_iov" suffix since it's no longer needed to
disambiguate.

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

15 years agoAvoid using strncpy in the production of the arcfour salt because it
Greg Hudson [Sun, 29 Nov 2009 15:43:29 +0000 (15:43 +0000)] 
Avoid using strncpy in the production of the arcfour salt because it
produces a (spurious) Coverity defect.  Fix a memory leak in
krb5int_arcfour_encrypt.

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

15 years agoAdd do-while(0) around multi-statement macros in f_tables.h for more
Greg Hudson [Sun, 29 Nov 2009 15:32:28 +0000 (15:32 +0000)] 
Add do-while(0) around multi-statement macros in f_tables.h for more
consistent and elegant emacs auto-formatting.

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

15 years agoCreate functional internal interfaces to allow GSSAPI to perform
Greg Hudson [Sat, 28 Nov 2009 23:10:31 +0000 (23:10 +0000)] 
Create functional internal interfaces to allow GSSAPI to perform
arcfour encryption of GSS tokens.  This factors out derivation of
the usage and encryption keys, and removes the need for the provider
structures to be visible to all of krb5 via k5-int.h.

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

15 years agoClean up the arcfour token encryption and decryption functions by
Greg Hudson [Sat, 28 Nov 2009 15:53:39 +0000 (15:53 +0000)] 
Clean up the arcfour token encryption and decryption functions by
making use of newer convenience functions and by factoring out the
derivation of the usage and encryption keys.

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

15 years agoAdd a convenience inline function in k5-int.h to initialize a
Greg Hudson [Sat, 28 Nov 2009 15:51:45 +0000 (15:51 +0000)] 
Add a convenience inline function in k5-int.h to initialize a
krb5_data structure with allocated memory.

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

15 years agoMark and reindent lib/crypto
Greg Hudson [Sat, 28 Nov 2009 00:43:34 +0000 (00:43 +0000)] 
Mark and reindent lib/crypto

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

15 years agoAdd krb5_key versions of the auth context key accessors, and use them
Greg Hudson [Fri, 27 Nov 2009 21:30:51 +0000 (21:30 +0000)] 
Add krb5_key versions of the auth context key accessors, and use them
to simplify the gss-krb5 code a little bit.

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

15 years agoAllow null keys to be referenced (a no-op) for simpler "copying" of
Greg Hudson [Fri, 27 Nov 2009 21:15:53 +0000 (21:15 +0000)] 
Allow null keys to be referenced (a no-op) for simpler "copying" of
keys which might or might not exist.  Consistent with allowing freeing
of null keys.

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

15 years agoExport krb5_k_reference_key since it's part of the public API
Greg Hudson [Fri, 27 Nov 2009 21:14:03 +0000 (21:14 +0000)] 
Export krb5_k_reference_key since it's part of the public API

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