mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 07:15:58 +08:00
Update to FreeBSD head 2019-09-24
Git mirror commit 6b0307a0a5184339393f555d5d424190d8a8277a.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#include <machine/rtems-bsd-user-space.h>
|
||||
|
||||
/*
|
||||
* Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
@@ -140,7 +140,6 @@ struct dasync_pipeline_ctx {
|
||||
unsigned char **inbufs;
|
||||
unsigned char **outbufs;
|
||||
size_t *lens;
|
||||
int enc;
|
||||
unsigned char tlsaad[SSL_MAX_PIPELINES][EVP_AEAD_TLS1_AAD_LEN];
|
||||
unsigned int aadctr;
|
||||
};
|
||||
@@ -158,6 +157,14 @@ static const EVP_CIPHER *dasync_aes_128_cbc(void)
|
||||
/*
|
||||
* Holds the EVP_CIPHER object for aes_128_cbc_hmac_sha1 in this engine. Set up
|
||||
* once only during engine bind and can then be reused many times.
|
||||
*
|
||||
* This 'stitched' cipher depends on the EVP_aes_128_cbc_hmac_sha1() cipher,
|
||||
* which is implemented only if the AES-NI instruction set extension is available
|
||||
* (see OPENSSL_IA32CAP(3)). If that's not the case, then this cipher will not
|
||||
* be available either.
|
||||
*
|
||||
* Note: Since it is a legacy mac-then-encrypt cipher, modern TLS peers (which
|
||||
* negotiate the encrypt-then-mac extension) won't negotiate it anyway.
|
||||
*/
|
||||
static EVP_CIPHER *_hidden_aes_128_cbc_hmac_sha1 = NULL;
|
||||
static const EVP_CIPHER *dasync_aes_128_cbc_hmac_sha1(void)
|
||||
@@ -605,7 +612,7 @@ static int dasync_cipher_ctrl_helper(EVP_CIPHER_CTX *ctx, int type, int arg,
|
||||
|
||||
len = p[arg - 2] << 8 | p[arg - 1];
|
||||
|
||||
if (pipe_ctx->enc) {
|
||||
if (EVP_CIPHER_CTX_encrypting(ctx)) {
|
||||
if ((p[arg - 4] << 8 | p[arg - 3]) >= TLS1_1_VERSION) {
|
||||
if (len < AES_BLOCK_SIZE)
|
||||
return 0;
|
||||
@@ -754,6 +761,10 @@ static int dasync_aes128_cbc_hmac_sha1_init_key(EVP_CIPHER_CTX *ctx,
|
||||
const unsigned char *iv,
|
||||
int enc)
|
||||
{
|
||||
/*
|
||||
* We can safely assume that EVP_aes_128_cbc_hmac_sha1() != NULL,
|
||||
* see comment before the definition of dasync_aes_128_cbc_hmac_sha1().
|
||||
*/
|
||||
return dasync_cipher_init_key_helper(ctx, key, iv, enc,
|
||||
EVP_aes_128_cbc_hmac_sha1());
|
||||
}
|
||||
@@ -768,5 +779,9 @@ static int dasync_aes128_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx,
|
||||
|
||||
static int dasync_aes128_cbc_hmac_sha1_cleanup(EVP_CIPHER_CTX *ctx)
|
||||
{
|
||||
/*
|
||||
* We can safely assume that EVP_aes_128_cbc_hmac_sha1() != NULL,
|
||||
* see comment before the definition of dasync_aes_128_cbc_hmac_sha1().
|
||||
*/
|
||||
return dasync_cipher_cleanup_helper(ctx, EVP_aes_128_cbc_hmac_sha1());
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#include <machine/rtems-bsd-user-space.h>
|
||||
|
||||
/*
|
||||
* Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
@@ -43,7 +43,7 @@
|
||||
*/
|
||||
|
||||
# undef COMPILE_HW_PADLOCK
|
||||
# if !defined(I386_ONLY) && defined(PADLOCK_ASM)
|
||||
# if defined(PADLOCK_ASM)
|
||||
# define COMPILE_HW_PADLOCK
|
||||
# ifdef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
static ENGINE *ENGINE_padlock(void);
|
||||
@@ -150,7 +150,7 @@ static int padlock_init(ENGINE *e)
|
||||
* This stuff is needed if this ENGINE is being compiled into a
|
||||
* self-contained shared-library.
|
||||
*/
|
||||
# ifdef DYNAMIC_ENGINE
|
||||
# ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
static int padlock_bind_fn(ENGINE *e, const char *id)
|
||||
{
|
||||
if (id && (strcmp(id, padlock_id) != 0)) {
|
||||
@@ -166,7 +166,7 @@ static int padlock_bind_fn(ENGINE *e, const char *id)
|
||||
|
||||
IMPLEMENT_DYNAMIC_CHECK_FN()
|
||||
IMPLEMENT_DYNAMIC_BIND_FN(padlock_bind_fn)
|
||||
# endif /* DYNAMIC_ENGINE */
|
||||
# endif /* !OPENSSL_NO_DYNAMIC_ENGINE */
|
||||
/* ===== Here comes the "real" engine ===== */
|
||||
|
||||
/* Some AES-related constants */
|
||||
|
Reference in New Issue
Block a user