aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2021-05-25 23:59:19 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2021-05-25 23:59:19 +0000
commit1c09320d5833fef8a4b6cc0091883fd47ea1eb1b (patch)
treea2938e2a4e311c725e7567b1e82e61429cd5b2ad
parent86be314d09bc2857bb63d0a1e34945c63daa0008 (diff)
downloadsrc-1c09320d5833fef8a4b6cc0091883fd47ea1eb1b.tar.gz
src-1c09320d5833fef8a4b6cc0091883fd47ea1eb1b.zip
ossl: Use crypto_cursor_segment().
Reviewed by: markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D30447
-rw-r--r--sys/crypto/openssl/ossl_chacha20.c36
1 files changed, 12 insertions, 24 deletions
diff --git a/sys/crypto/openssl/ossl_chacha20.c b/sys/crypto/openssl/ossl_chacha20.c
index 7fa1a297052e..a6f56aca1f8f 100644
--- a/sys/crypto/openssl/ossl_chacha20.c
+++ b/sys/crypto/openssl/ossl_chacha20.c
@@ -65,15 +65,13 @@ ossl_chacha20(struct cryptop *crp, const struct crypto_session_params *csp)
resid = crp->crp_payload_length;
crypto_cursor_init(&cc_in, &crp->crp_buf);
crypto_cursor_advance(&cc_in, crp->crp_payload_start);
- inseg = crypto_cursor_segbase(&cc_in);
- inlen = crypto_cursor_seglen(&cc_in);
+ inseg = crypto_cursor_segment(&cc_in, &inlen);
if (CRYPTO_HAS_OUTPUT_BUFFER(crp)) {
crypto_cursor_init(&cc_out, &crp->crp_obuf);
crypto_cursor_advance(&cc_out, crp->crp_payload_output_start);
} else
cc_out = cc_in;
- outseg = crypto_cursor_segbase(&cc_out);
- outlen = crypto_cursor_seglen(&cc_out);
+ outseg = crypto_cursor_segment(&cc_out, &outlen);
while (resid >= CHACHA_BLK_SIZE) {
if (inlen < CHACHA_BLK_SIZE) {
crypto_cursor_copydata(&cc_in, CHACHA_BLK_SIZE, block);
@@ -111,16 +109,14 @@ ossl_chacha20(struct cryptop *crp, const struct crypto_session_params *csp)
if (out == block) {
crypto_cursor_copyback(&cc_out, CHACHA_BLK_SIZE, block);
- outseg = crypto_cursor_segbase(&cc_out);
- outlen = crypto_cursor_seglen(&cc_out);
+ outseg = crypto_cursor_segment(&cc_out, &outlen);
} else {
crypto_cursor_advance(&cc_out, todo);
outseg += todo;
outlen -= todo;
}
if (in == block) {
- inseg = crypto_cursor_segbase(&cc_in);
- inlen = crypto_cursor_seglen(&cc_in);
+ inseg = crypto_cursor_segment(&cc_in, &inlen);
} else {
crypto_cursor_advance(&cc_in, todo);
inseg += todo;
@@ -196,15 +192,13 @@ ossl_chacha20_poly1305_encrypt(struct cryptop *crp,
resid = crp->crp_payload_length;
crypto_cursor_init(&cc_in, &crp->crp_buf);
crypto_cursor_advance(&cc_in, crp->crp_payload_start);
- inseg = crypto_cursor_segbase(&cc_in);
- inlen = crypto_cursor_seglen(&cc_in);
+ inseg = crypto_cursor_segment(&cc_in, &inlen);
if (CRYPTO_HAS_OUTPUT_BUFFER(crp)) {
crypto_cursor_init(&cc_out, &crp->crp_obuf);
crypto_cursor_advance(&cc_out, crp->crp_payload_output_start);
} else
cc_out = cc_in;
- outseg = crypto_cursor_segbase(&cc_out);
- outlen = crypto_cursor_seglen(&cc_out);
+ outseg = crypto_cursor_segment(&cc_out, &outlen);
while (resid >= CHACHA_BLK_SIZE) {
if (inlen < CHACHA_BLK_SIZE) {
crypto_cursor_copydata(&cc_in, CHACHA_BLK_SIZE, block);
@@ -243,16 +237,14 @@ ossl_chacha20_poly1305_encrypt(struct cryptop *crp,
if (out == block) {
crypto_cursor_copyback(&cc_out, CHACHA_BLK_SIZE, block);
- outseg = crypto_cursor_segbase(&cc_out);
- outlen = crypto_cursor_seglen(&cc_out);
+ outseg = crypto_cursor_segment(&cc_out, &outlen);
} else {
crypto_cursor_advance(&cc_out, todo);
outseg += todo;
outlen -= todo;
}
if (in == block) {
- inseg = crypto_cursor_segbase(&cc_in);
- inlen = crypto_cursor_seglen(&cc_in);
+ inseg = crypto_cursor_segment(&cc_in, &inlen);
} else {
crypto_cursor_advance(&cc_in, todo);
inseg += todo;
@@ -368,15 +360,13 @@ ossl_chacha20_poly1305_decrypt(struct cryptop *crp,
resid = crp->crp_payload_length;
crypto_cursor_init(&cc_in, &crp->crp_buf);
crypto_cursor_advance(&cc_in, crp->crp_payload_start);
- inseg = crypto_cursor_segbase(&cc_in);
- inlen = crypto_cursor_seglen(&cc_in);
+ inseg = crypto_cursor_segment(&cc_in, &inlen);
if (CRYPTO_HAS_OUTPUT_BUFFER(crp)) {
crypto_cursor_init(&cc_out, &crp->crp_obuf);
crypto_cursor_advance(&cc_out, crp->crp_payload_output_start);
} else
cc_out = cc_in;
- outseg = crypto_cursor_segbase(&cc_out);
- outlen = crypto_cursor_seglen(&cc_out);
+ outseg = crypto_cursor_segment(&cc_out, &outlen);
while (resid >= CHACHA_BLK_SIZE) {
if (inlen < CHACHA_BLK_SIZE) {
crypto_cursor_copydata(&cc_in, CHACHA_BLK_SIZE, block);
@@ -414,16 +404,14 @@ ossl_chacha20_poly1305_decrypt(struct cryptop *crp,
if (out == block) {
crypto_cursor_copyback(&cc_out, CHACHA_BLK_SIZE, block);
- outseg = crypto_cursor_segbase(&cc_out);
- outlen = crypto_cursor_seglen(&cc_out);
+ outseg = crypto_cursor_segment(&cc_out, &outlen);
} else {
crypto_cursor_advance(&cc_out, todo);
outseg += todo;
outlen -= todo;
}
if (in == block) {
- inseg = crypto_cursor_segbase(&cc_in);
- inlen = crypto_cursor_seglen(&cc_in);
+ inseg = crypto_cursor_segment(&cc_in, &inlen);
} else {
crypto_cursor_advance(&cc_in, todo);
inseg += todo;