Consolidate the IOV and non-IOV encryption/decryption code paths, and
authorGreg Hudson <ghudson@mit.edu>
Fri, 4 Dec 2009 05:12:35 +0000 (05:12 +0000)
committerGreg Hudson <ghudson@mit.edu>
Fri, 4 Dec 2009 05:12:35 +0000 (05:12 +0000)
commit5ffa313d9f6b7c509aa0d7579273150d71ea0f95
tree48f8d5606c919dd09d950c5cbf1609f312f2937d
parentea6f77d42700352fcb2a06444d1dc00acf7c20fc
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
82 files changed:
src/include/k5-int.h
src/lib/crypto/builtin/aes/Makefile.in
src/lib/crypto/builtin/aes/aes_s2k.c [deleted file]
src/lib/crypto/builtin/aes/aes_s2k.h [deleted file]
src/lib/crypto/builtin/aes/deps
src/lib/crypto/builtin/deps
src/lib/crypto/builtin/des/Makefile.in
src/lib/crypto/builtin/des/d3_aead.c
src/lib/crypto/builtin/des/d3_cbc.c [deleted file]
src/lib/crypto/builtin/des/deps
src/lib/crypto/builtin/des/des_int.h
src/lib/crypto/builtin/des/f_aead.c
src/lib/crypto/builtin/des/f_cbc.c
src/lib/crypto/builtin/enc_provider/aes.c
src/lib/crypto/builtin/enc_provider/deps
src/lib/crypto/builtin/enc_provider/des.c
src/lib/crypto/builtin/enc_provider/des3.c
src/lib/crypto/builtin/enc_provider/rc4.c
src/lib/crypto/crypto_tests/aes-test.c
src/lib/crypto/crypto_tests/t_cts.c
src/lib/crypto/krb/aead.c
src/lib/crypto/krb/aead.h
src/lib/crypto/krb/arcfour/arcfour.c
src/lib/crypto/krb/arcfour/arcfour.h
src/lib/crypto/krb/arcfour/arcfour_aead.c
src/lib/crypto/krb/arcfour/arcfour_s2k.c
src/lib/crypto/krb/arcfour/deps
src/lib/crypto/krb/combine_keys.c
src/lib/crypto/krb/crypto_length.c
src/lib/crypto/krb/decrypt.c
src/lib/crypto/krb/decrypt_iov.c
src/lib/crypto/krb/deps
src/lib/crypto/krb/dk/Makefile.in
src/lib/crypto/krb/dk/deps
src/lib/crypto/krb/dk/derive.c
src/lib/crypto/krb/dk/dk.h
src/lib/crypto/krb/dk/dk_aead.c
src/lib/crypto/krb/dk/dk_decrypt.c [deleted file]
src/lib/crypto/krb/dk/dk_encrypt.c [deleted file]
src/lib/crypto/krb/dk/stringtokey.c
src/lib/crypto/krb/encrypt.c
src/lib/crypto/krb/encrypt_iov.c
src/lib/crypto/krb/encrypt_length.c
src/lib/crypto/krb/etypes.c
src/lib/crypto/krb/etypes.h
src/lib/crypto/krb/keyhash_provider/Makefile.in
src/lib/crypto/krb/keyhash_provider/deps
src/lib/crypto/krb/keyhash_provider/k5_md4des.c
src/lib/crypto/krb/keyhash_provider/k5_md5des.c
src/lib/crypto/krb/old/Makefile.in
src/lib/crypto/krb/old/deps
src/lib/crypto/krb/old/des_stringtokey.c
src/lib/crypto/krb/old/old.h
src/lib/crypto/krb/old/old_aead.c
src/lib/crypto/krb/old/old_decrypt.c [deleted file]
src/lib/crypto/krb/old/old_encrypt.c [deleted file]
src/lib/crypto/krb/prf.c
src/lib/crypto/krb/prf/deps
src/lib/crypto/krb/prf/des_prf.c
src/lib/crypto/krb/prf/dk_prf.c
src/lib/crypto/krb/prf/prf_int.h
src/lib/crypto/krb/prf/rc4_prf.c
src/lib/crypto/krb/raw/Makefile.in
src/lib/crypto/krb/raw/deps
src/lib/crypto/krb/raw/raw.h
src/lib/crypto/krb/raw/raw_aead.c
src/lib/crypto/krb/raw/raw_decrypt.c [deleted file]
src/lib/crypto/krb/raw/raw_encrypt.c [deleted file]
src/lib/crypto/krb/string_to_key.c
src/lib/crypto/krb/yarrow/ycipher.c
src/lib/crypto/openssl/Makefile.in
src/lib/crypto/openssl/aes/Makefile.in
src/lib/crypto/openssl/aes/aes_s2k.c [deleted file]
src/lib/crypto/openssl/aes/aes_s2k.h [deleted file]
src/lib/crypto/openssl/aes/deps
src/lib/crypto/openssl/deps
src/lib/crypto/openssl/enc_provider/aes.c
src/lib/crypto/openssl/enc_provider/deps
src/lib/crypto/openssl/enc_provider/des.c
src/lib/crypto/openssl/enc_provider/des3.c
src/lib/crypto/openssl/enc_provider/rc4.c
src/lib/crypto/openssl/sha1/Makefile.in