diff options
| author | Sam Hartman <hartmans@mit.edu> | 2009-12-14 18:28:16 +0000 |
|---|---|---|
| committer | Sam Hartman <hartmans@mit.edu> | 2009-12-14 18:28:16 +0000 |
| commit | acd672680307a3f1bad828e6573fa34bd7779203 (patch) | |
| tree | 1ae4e45b4ca1b11872c93a2b2bfd9f6810a4522b /src/lib/crypto | |
| parent | 6899a43b722c3cb2672a38eba28490141d9bd32f (diff) | |
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
Diffstat (limited to 'src/lib/crypto')
| -rw-r--r-- | src/lib/crypto/krb/make_checksum.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/crypto/krb/make_checksum.c b/src/lib/crypto/krb/make_checksum.c index aa4545780..d0dc62237 100644 --- a/src/lib/crypto/krb/make_checksum.c +++ b/src/lib/crypto/krb/make_checksum.c @@ -30,6 +30,8 @@ #include "etypes.h" #include "dk.h" +/* A 0 checksum type means use the mandatory checksum. */ + krb5_error_code KRB5_CALLCONV krb5_k_make_checksum(krb5_context context, krb5_cksumtype cksumtype, krb5_key key, krb5_keyusage usage, @@ -41,6 +43,12 @@ krb5_k_make_checksum(krb5_context context, krb5_cksumtype cksumtype, krb5_octet *trunc; krb5_error_code ret; + if (cksumtype == 0) { + ret = krb5int_c_mandatory_cksumtype(context, key->keyblock.enctype, + &cksumtype); + if (ret != 0) + return ret; + } ctp = find_cksumtype(cksumtype); if (ctp == NULL) return KRB5_BAD_ENCTYPE; |
