diff options
| author | Sam Hartman <hartmans@mit.edu> | 2008-12-04 15:48:08 +0000 |
|---|---|---|
| committer | Sam Hartman <hartmans@mit.edu> | 2008-12-04 15:48:08 +0000 |
| commit | 9ab3afbf9569254cf67bf7363cb9a50f549a5cdf (patch) | |
| tree | 6bccf2672cf7b33a77ed39d21287a0cd3deca33a /src/lib/crypto/crypto_length.c | |
| parent | 7a64640413a306635ad94403b72d798e4aa527ee (diff) | |
| download | krb5-9ab3afbf9569254cf67bf7363cb9a50f549a5cdf.tar.gz krb5-9ab3afbf9569254cf67bf7363cb9a50f549a5cdf.tar.xz krb5-9ab3afbf9569254cf67bf7363cb9a50f549a5cdf.zip | |
Merge r21120 from mskrb-integ
Refactor code such that an AEAD provider does not need to implement the
older, non-IOV SPIs. Instead, the older APIs will implement their
behaviour on top of the AEAD SPIs, using the wrapper functions in
aead.c.
ticket: 6274
Status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21278 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/crypto/crypto_length.c')
| -rw-r--r-- | src/lib/crypto/crypto_length.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/src/lib/crypto/crypto_length.c b/src/lib/crypto/crypto_length.c index 4a64b90f9..eb19b5990 100644 --- a/src/lib/crypto/crypto_length.c +++ b/src/lib/crypto/crypto_length.c @@ -73,28 +73,6 @@ krb5_c_crypto_length(krb5_context context, return ret; } -static krb5_error_code -k5_padding_length(const struct krb5_keytypes *ktp, - size_t data_length, - unsigned int *pad_length) -{ - unsigned int padding; - krb5_error_code ret; - - ret = ktp->aead->crypto_length(ktp->aead, ktp->enc, ktp->hash, - KRB5_CRYPTO_TYPE_PADDING, &padding); - if (ret != 0) - return ret; - - if (padding == 0 || (data_length % padding) == 0) - *pad_length = 0; - else - *pad_length = padding - (data_length % padding); - - return 0; -} - - krb5_error_code KRB5_CALLCONV krb5_c_padding_length(krb5_context context, krb5_enctype enctype, @@ -115,7 +93,7 @@ krb5_c_padding_length(krb5_context context, return KRB5_BAD_ENCTYPE; } - return k5_padding_length(ktp, data_length, pad_length); + return krb5int_padding_length(ktp->aead, ktp->enc, ktp->hash, data_length, pad_length); } krb5_error_code KRB5_CALLCONV @@ -177,7 +155,7 @@ krb5_c_crypto_length_iov(krb5_context context, if (ret != 0) return ret; - ret = k5_padding_length(ktp, data_length, &pad_length); + ret = krb5int_padding_length(ktp->aead, ktp->enc, ktp->hash, data_length, &pad_length); if (ret != 0) return ret; |
