diff options
author | Vadim Fedorenko <vadimjunk@gmail.com> | 2020-01-24 14:57:56 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2020-06-08 12:13:52 +0200 |
commit | 4ffccf6c4deebd6f3ab5d46234c64f957ff1c1c5 (patch) | |
tree | 86c0bb72610106b0f01e7da53724357e5127194b /crypto | |
parent | kTLS: add Linux-specific kTLS helpers (diff) | |
download | openssl-4ffccf6c4deebd6f3ab5d46234c64f957ff1c1c5.tar.xz openssl-4ffccf6c4deebd6f3ab5d46234c64f957ff1c1c5.zip |
kTLS: add support for AES_CCM128 and AES_GCM256
The support of new algos is added by converting code to use
helper functions found in ktls.h.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/11589)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/bio/bss_sock.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/crypto/bio/bss_sock.c b/crypto/bio/bss_sock.c index a72a476803..ff2bde7a58 100644 --- a/crypto/bio/bss_sock.c +++ b/crypto/bio/bss_sock.c @@ -154,10 +154,11 @@ static long sock_ctrl(BIO *b, int cmd, long num, void *ptr) long ret = 1; int *ip; # ifndef OPENSSL_NO_KTLS + size_t crypto_info_len; # ifdef __FreeBSD__ struct tls_enable *crypto_info; # else - struct tls12_crypto_info_aes_gcm_128 *crypto_info; + struct tls_crypto_info_all *crypto_info; # endif # endif @@ -191,10 +192,12 @@ static long sock_ctrl(BIO *b, int cmd, long num, void *ptr) case BIO_CTRL_SET_KTLS: # ifdef __FreeBSD__ crypto_info = (struct tls_enable *)ptr; + crypto_info_len = sizeof(*crypto_info); # else - crypto_info = (struct tls12_crypto_info_aes_gcm_128 *)ptr; + crypto_info = (struct tls_crypto_info_all *)ptr; + crypto_info_len = crypto_info->tls_crypto_info_len; # endif - ret = ktls_start(b->num, crypto_info, sizeof(*crypto_info), num); + ret = ktls_start(b->num, crypto_info, crypto_info_len, num); if (ret) BIO_set_ktls_flag(b, num); break; |