head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.50 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.48 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.46 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.44 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.42 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.40 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.38 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.36 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.34 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.32 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.30 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.28 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.26 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.24 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.22 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.20 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.18 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.16 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.14 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.12 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.10 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.8 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.6 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.4 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.2 pkgsrc-2020Q1-base:1.1; locks; strict; comment @// @; 1.1 date 2020.03.27.02.08.11; author joerg; state Exp; branches; next ; commitid mWxcVy1D3Ub9WY1C; desc @@ 1.1 log @Use newer OpenSSL APIs @ text @$NetBSD$ --- Crypto/src/CipherImpl.cpp.orig 2020-03-27 00:11:42.909559121 +0000 +++ Crypto/src/CipherImpl.cpp @@@@ -77,7 +77,7 @@@@ namespace private: const EVP_CIPHER* _pCipher; - EVP_CIPHER_CTX _ctx; + EVP_CIPHER_CTX *_ctx; ByteVec _key; ByteVec _iv; }; @@@@ -92,9 +92,10 @@@@ namespace _key(key), _iv(iv) { - EVP_CipherInit( - &_ctx, - _pCipher, + _ctx = EVP_CIPHER_CTX_new(); + EVP_CipherInit_ex( + _ctx, + _pCipher, NULL, &_key[0], _iv.empty() ? 0 : &_iv[0], (dir == DIR_ENCRYPT) ? 1 : 0); @@@@ -103,19 +104,19 @@@@ namespace CryptoTransformImpl::~CryptoTransformImpl() { - EVP_CIPHER_CTX_cleanup(&_ctx); + EVP_CIPHER_CTX_free(_ctx); } std::size_t CryptoTransformImpl::blockSize() const { - return EVP_CIPHER_CTX_block_size(&_ctx); + return EVP_CIPHER_CTX_block_size(_ctx); } int CryptoTransformImpl::setPadding(int padding) { - return EVP_CIPHER_CTX_set_padding(&_ctx, padding); + return EVP_CIPHER_CTX_set_padding(_ctx, padding); } @@@@ -129,7 +130,7 @@@@ namespace int outLen = static_cast(outputLength); int rc = EVP_CipherUpdate( - &_ctx, + _ctx, output, &outLen, input, @@@@ -153,7 +154,7 @@@@ namespace // Use the '_ex' version that does not perform implicit cleanup since we // will call EVP_CIPHER_CTX_cleanup() from the dtor as there is no // guarantee that finalize() will be called if an error occurred. - int rc = EVP_CipherFinal_ex(&_ctx, output, &len); + int rc = EVP_CipherFinal_ex(_ctx, output, &len); if (rc == 0) throwError(); @