Skip to content

net_ssl: Use EVP API to create EVP_PKEYs when available#6

Open
Snider wants to merge 1721 commits into
LetheanVPN:masterfrom
jeffro256:net_ssl_evp2
Open

net_ssl: Use EVP API to create EVP_PKEYs when available#6
Snider wants to merge 1721 commits into
LetheanVPN:masterfrom
jeffro256:net_ssl_evp2

Conversation

@Snider
Copy link
Copy Markdown
Member

@Snider Snider commented May 23, 2022

The following functions are deprecated in OpenSSL 3.0 and used in net_ssl.cpp: RSA_free, EC_KEY_free, RSA_new, RSA_generate_key_ex, EC_KEY_set_group, EC_KEY_generate_key.

Since EVP_RSA_gen was added in OpenSSL 3.0 and since the aforementioned functions were deprecated in OpenSSL 3.0, I check if the OpenSSL version >= 3.0, and use EVP_RSA_gen instead of everything else up to assigning the private key to the certificate in create_rsa_ssl_certificate.

I also deleted create_ec_ssl_certificate since it wasn't used.

@Snider Snider requested a review from wrkzdev May 23, 2022 10:23
tobtoht and others added 29 commits February 3, 2026 19:54
e658151 wallet_rpc_server: add HTTP body size limit (root)
b433949 depends: support building without wallet dependencies (tobtoht)
2a1a489 src: dynamic block sync size Co-authored-by: nahuhh (0xFFFC0000)
Co-authored-by: nahuhh
    - jberman review
    - cryptonote_protocol: don't arbitrarily download 1000 blocks ahead
    - further restrict `proceed` to require `queue_proceed` in all cases.
      ensure queue_proceed is true if we need the next block, even if we
      already exceed the span and size limits

cryptonote_protocol: improved logging + const usage in span downloader
508b6ee src: dynamic span, to calculate span limit dynamically (Navid Rahimi)
d57e408 guix: use clang 19 for darwin & freebsd targets (tobtoht)
226d6ea Clarify anonymity networks documentation (Torir)
* Use -O3 and other flags instead of -Ofast
  - https://discourse.llvm.org/t/rfc-deprecate-ofast/78687
  - https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
* Find libunwind library based on C++ compiler type, not C compiler type
* In stack_trace.cpp, pass stream modifiers to `std::stringstream` first, then send string to log
* In stack_trace.cpp, remove dead code related to `stack_trace_log` path
* Remove `virtual` method attributues from `final` class `cryptonote::core`
* Remove unused `this` capture in cryptonote protocol handler
* Remove unused variable `bad` in net node
* Use `std::make_unsigned` instead of `boost::make_unsigned`
  - boostorg/type_traits#171
  - boostorg/type_traits#202
  - boostorg/type_traits#199
* Cleanup `include`s in pair serialization
* Test convergence b/t `std::make_unsigned` and `boost::make_unsigned`

Fixes compilation and silences warnings on:
clang version 21.1.6
Linux 6.18.8-3-cachyos
80043b9 p2p: fix inverted ternary in peer list filter (selsta)
2f35270 ignore: clang cache (jeffro256)
3f1b610 ignore: compile_commands.json (jeffro256)
c93c4fc Misc clang 21 fixes (jeffro256)
f129a0e depends: freebsd: don't clobber sysroot with native package install dirs (tobtoht)
f459bd6 src: update checkpoints to match v0.18.4.6 (selsta)
e87eecf add getter for daemon proxy (woodser)
4486925 Transition asio::deadline_timer to asio::steady_timer (Lee *!* Clagett)
Reviewed-by: selsta <selsta@sent.at>
Reviewed-by: SChernykh
90c244c docs/URI_SCHEME: RFC 3986 compatible wallet restoration (WeebDataHoarder)
luigi1111 and others added 27 commits May 8, 2026 10:17
CoC: remove implied 'Contributor list'
CoC: remove unclear 'tag issue as ready' line
CoC: remove 'Goals' section
CoC: clarify who can approve and how
f73c72d crypto: implement CTHR_THREAD_CLOSE to avoid leaking memory (ComputeryPony)
    * remove_block should set the cursor before deletion
50c3c50 use latest hard fork block for get_approximate_blockchain_height & update approximate_rolled_back_blocks (SNeedlewoods)
2210f85 ringct: make h2d fallible (jeffro256)
a5abe71 epee: fix memory leak with readline (ComputeryPony)
eb9be9d p2p: initialize m_fallback_seed_nodes_added before first use (ComputeryPony)
a00b7dd blockchain_db: fix remove_block     * remove_block should set the cursor before deletion (0xFFFC0000)
90fc50c cmake: only link Boost Chrono where needed (tobtoht)
5668549 cmake: clean up libusb dependencies (tobtoht)
3604cfb cmake: remove libusb compile checks (tobtoht)
d0798fc guix: turn off unused cmake options (tobtoht)
0c3a013 docs: remove dead pull requests (jpk68)
b1a81cc cmake: require unbound idiomatically (tobtoht)
dae0f4c wallet_rpc_server: add missing trusted daemon check (selsta)
8419a91 net_service: fix broken log formatting (jpk68)
617eb9d core_tests: remove unused --test_data_path CLI argument (jeffro256)
681ea9f epee: remove LOCAL_ASSERT (jeffro256)
664a70c checkpoints: don't link apple libraries (tobtoht)
a5ab8e5 net: replace deprecated boost::asio::strand::wrap with bind_executor (ryurt46)
@jeffro256 jeffro256 requested a review from bodane as a code owner May 14, 2026 18:41
The following functions are deprecated in OpenSSL 3.0 and used in net_ssl.cpp: `RSA_free`, `EC_KEY_free`, `RSA_new`, `RSA_generate_key_ex`, `EC_KEY_set_group`, `EC_KEY_generate_key`.

Since EVP_RSA_gen was added in OpenSSL 3.0 and since the aforementioned functions were deprecated in OpenSSL 3.0, I check if the OpenSSL version >= 3.0, and use EVP_RSA_gen instead of everything else up to assigning the private key to the certificate in `create_rsa_ssl_certificate`.

I also deleted `create_ec_ssl_certificate` since it wasn't used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.