summaryrefslogtreecommitdiffstats
path: root/src/lib/crypto/crypto_length.c
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2008-12-04 15:48:08 +0000
committerSam Hartman <hartmans@mit.edu>2008-12-04 15:48:08 +0000
commit9ab3afbf9569254cf67bf7363cb9a50f549a5cdf (patch)
tree6bccf2672cf7b33a77ed39d21287a0cd3deca33a /src/lib/crypto/crypto_length.c
parent7a64640413a306635ad94403b72d798e4aa527ee (diff)
downloadkrb5-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.c26
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;