Commit Graph
11707 Commits
Author SHA1 Message Date
Guoqiang Liuandsuch-gitea 6d9aca92f1 net: detect half-closed sockets before connection reuse
Detect peer EOF and TLS closure before reusing idle connections. Make
disconnect idempotent while preserving buffered data and pending operation
lifetimes.

Keep the release branch's multi-byte recv_n behavior, and cover partial EOF,
socket modes, and TLS shutdown with loopback regression tests. Use fixed
test certificates and retain compatibility with the release branch's
Google Test version.

Co-authored-by: woodser <13068859+woodser@users.noreply.github.com>
(cherry picked from commit 096abdaa22b71ade9ca673ed8012c500cecb58d3)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea a53871e588 wallet2: reset scan status for already processed outputs
(cherry picked from commit 357b446a1335db9b42421acff46acaa0dee46a66)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea bfe4de8ea3 cryptonote_core: reject duplicate tx hashes before pool lookup
(cherry picked from commit 03f957c18c8818c3c25b75d771fe48c37036b6e3)
2026-10-04 18:50:24 -04:00
jpk68andsuch-gitea 7f028f56cd rpc: restrict get_public_nodes to public zone peers
(cherry picked from commit 6c5a4c18e3e8cbe088ccaccb0104daf8e4f9afbf)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea baf9c8ea5c rpc: adjust distribution cache validation order
(cherry picked from commit e075ed6baaccac7a8b170a97a48375647600bd5e)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea c017fff2ec wallet2: validate block hash when repairing empty hashchain
(cherry picked from commit ef7bdda92af255270a61e4ea4c6c7fe098a70dd0)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea 7e797d062a epee: remove obsolete MyMonero conversion
Also initialize the temp var used when loading scalar arrays.

(cherry picked from commit 7ba5e2cca91497155bd0a72a5e00059a27fa7e38)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea f7510618e8 wallet2: preserve required SSL when allowing chained certificates
(cherry picked from commit 57a37a156ce1f32b8b3471dc4aad7973130c38da)
2026-10-04 18:50:24 -04:00
koeandsuch-gitea 7951912289 multisig: erase all copies of a nonce at the same time
(cherry picked from commit fe744ac3171fe26b7284d3ac3a275e624e852ec5)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea 65fa6f0648 wallet_api: clear stale daemon login
(cherry picked from commit 274c2bda81563f3bc318f51bfccaf0f32ad3b8c0)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea d46a6cd8c7 common: sanitize message writer console output
(cherry picked from commit 52b33f4fb01bd54d936a016cbc63a4850daa3441)
2026-10-04 18:50:24 -04:00
j-bermanandsuch-gitea 16d9fb5336 p2p: don't reset timeout timer for handshakes
The handshake timeout should just be an absolute timeout, we don't
care about partial messages received during the handshake.

(cherry picked from commit c7c43686878166cd0b93bed0cc712c8dd9845c89)
2026-10-04 18:50:24 -04:00
j-bermanandsuch-gitea a04977c908 tx_pool: do expensive verify after potential no-drop offenses
(cherry picked from commit e5f285514777ac21bc31f2bf1ce8fdffb9d52586)
2026-10-04 18:50:24 -04:00
j-bermanandsuch-gitea 39647836f4 blockchain: limit offsets cache size
(cherry picked from commit d232dc09c55104f011133425f22a1c0e4e0b21ee)
2026-10-04 18:50:23 -04:00
j-bermanandsuch-gitea 7ff4a5567a cryptonote_basic: serialization checks
(cherry picked from commit d869dc0981ac55f90d5b52a1a794b124ae274716)
2026-10-04 18:50:23 -04:00
j-bermanandsuch-gitea 9eaf41a255 cryptonote_core: rm unnecessary db reads before block relay
(cherry picked from commit cbdb6fdaadbde4e897c478e8773e75163587aedd)
2026-10-04 18:50:23 -04:00
j-bermanandsuch-gitea 2687f95798 blockchain: if block is known invalid, fail block verification
(cherry picked from commit 9044450974d5b9fe228f746d2f580e83e58ddec0)
2026-10-04 18:50:23 -04:00
j-bermanandsuch-gitea 1a4dd0f212 p2p: update peer's height on new block & widen window for relay
- We select peers to relay to based on their latest known sync height.
- This change:
A) makes sure to update the peer's latest known sync height upon
validating the peer's newly relayed blocks.
B) Allows for a wider window so that if we haven't yet received the
peer's block or finished validating it, then the peer can still be
a valid candidate to receive our new txs.

(cherry picked from commit 437c45bebd621b1fdbcf0b19a4437d002b51ef8e)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea 444eb4dd79 lmdb: make transaction admission reentrant
(cherry picked from commit 6ee665b2c228dde4bb576f0ed7edb8d1a1702673)
2026-10-04 18:50:23 -04:00
Thomasandsuch-gitea c9d51bd08a wallet_rpc_server: reject --password with --wallet-dir
(cherry picked from commit 587315ce94c8c3f656ce3bbb5e046e4aa96942d4)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea cb4f6abd06 wallet_api: preserve output metadata in view-only wallet exports
(cherry picked from commit c5160732570cb4e07be29de1905324389df79978)
2026-10-04 18:50:23 -04:00
koeandsuch-gitea f4212ace98 add sanity_check_pending_tx
(cherry picked from commit 4eae9740460fb69e30bedeea48c2ab3268974bc0)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea f14082fdbd rpc: reject deep block submissions on restricted RPC
(cherry picked from commit 837c59bed10d06956ca7375a0e91619c0b77142e)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea 01a7c14a82 epee: prevent log injection from malformed HTTP headers
(cherry picked from commit 281c1d41aae7b579fa1307d82622e18abcd038ff)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea fb0d7b2318 wallet_api: expose signed message verification details
(cherry picked from commit 525a6f0b6e1bf53a048ef5d61823bf0043a2f130)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea 52b4aaef3b lmdb: retain percentage fallback for batch resizing
(cherry picked from commit c8d926c6995448a2a8efe6faf5f906eecdacab11)
2026-10-04 18:50:23 -04:00
tobtohtandsuch-gitea 129ee71995 depends: openssl: update to 3.0.22
(cherry picked from commit 91c32b55c27e2a2202639c50d60c55d7472efaef)
2026-10-04 18:50:23 -04:00
woodserandsuch-gitea 5fe3caa4d9 wallet2: abort in-flight daemon request on shutdown
(cherry picked from commit 3c0980f5991a3cc27f7b3890cb68251c971a4b07)
2026-10-04 18:50:23 -04:00
Thomasandsuch-gitea 818a0067b6 wallet2: fix data races in refresh error handlers
(cherry picked from commit d9236332a59bb090b0fa74e808237c26189564b0)
2026-10-04 18:50:23 -04:00
woodserandsuch-gitea 0309d199f4 wallet_rpc_server: stop refresh on shutdown
(cherry picked from commit 8379bdfa29ec91fa9c1d3b1492a6de6cb143a007)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea 9f5c144a44 lmdb: refine batch size estimation
(cherry picked from commit a34ed83e7290198c5e54e71d6592aef55fa47eae)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea 16f7dfef75 epee: prevent JSON parser log injection
(cherry picked from commit 1b82d32a2f18efde834531a1be28b0f711a495e6)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea 552aea4a7d wallet2: fix task lifetime during parsed block processing
(cherry picked from commit a09eb5cf4aefa6c351acf898ad4e3be4a67ad860)
2026-10-04 18:50:23 -04:00
selstaandsuch-gitea 81d781a965 wallet2: validate key image domain in reserve proofs
Reported by zkao, a tool by zkSecurity

(cherry picked from commit 1bb17925fdff1494ec8f7a127c9c6cd814c36e69)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea 281652a673 p2p: use connection state to detect duplicate handshakes
(cherry picked from commit 57068111aa0dd1e6816d598d1fedb21e2f8cf6c6)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea 4dd27f20a3 rpc: redact txpool age in restricted mode
(cherry picked from commit b4c8385fd382f14419e54c6f1c3800a1642360fd)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea baed767de1 txpool: fix time_in_pool age calculation
(cherry picked from commit 18269ab571f1664eaa05640ae6eaae191de4e03d)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea 741d3ec47b protocol: flush rejected block spans from disconnected peers
(cherry picked from commit dfa2d3020be5cc6dcd4a525bc1b7a315b9e83f57)
2026-10-04 18:50:22 -04:00
woodserandsuch-gitea 46c1ad8d7a wallet2: return concrete low priority when adjust_priority fails
(cherry picked from commit fbd80b3caba677bca3e5176122d45f758dc6ce18)
2026-10-04 18:50:22 -04:00
Samyandsuch-gitea aee1ca831e wallet_rpc_server: add weight to describe_transfer
(cherry picked from commit 017f3cf6b5e548859914a13a0a9ec184597d278d)
2026-10-04 18:50:22 -04:00
woodserandsuch-gitea cafc099d04 checkpoints: exclude equal height in get_nearest_checkpoint_height
(cherry picked from commit 37202dfc5220bfb75eea472cfcebc87a87d78ef3)
2026-10-04 18:50:22 -04:00
woodserandsuch-gitea a1553381a2 wallet2: keep multisig import state consistent across failed refreshes
(cherry picked from commit b2cd62754bfb837bad2a49ea5b3808f35bb6a16c)
2026-10-04 18:50:22 -04:00
woodserandsuch-gitea 10ade8c591 wallet2: honor max_blocks bound during fast_refresh hash pulls
(cherry picked from commit bbd6350751876f24ad21eb70cbfb12670659e927)
2026-10-04 18:50:22 -04:00
j-bermanandsuch-gitea f2a8c47410 p2p: use a bool for send()
Identified by @selsta

Callers can otherwise misinterpret int -1 as truthy success,
e.g. see make_payload_send_txs

(cherry picked from commit 9bf193728bb11beb9c40e06a0d48d1c697fe7a84)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea a04ff495f7 wallet_api: reject transaction file signing with hardware wallets
Reported by zkao, a tool by zkSecurity

(cherry picked from commit 735e535adf2c3d7d4c159478747c144e2aea6a69)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea 809a263e11 rpc: hide sensitive txs from restricted block templates
(cherry picked from commit 1d45021cd0e452b60846b458701e612ab01db5c7)
2026-10-04 18:50:22 -04:00
woodserandsuch-gitea a296ceb08b device: implement default device locking
(cherry picked from commit cf9349e74a19458c2dd5b419c732dfcd5e7936bb)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea f26ac02df9 p2p, rpc: group public IPv6 connection limits by /64
(cherry picked from commit f277d328cf1f7e64423b5eb7dc0e21649f71e47a)
2026-10-04 18:50:22 -04:00
Masamuneandsuch-gitea 881dcfbd43 Blockchain: fix data race in get_dynamic_base_fee_estimate
(cherry picked from commit 7368e166feef49be38dd96af309ac4746bbfe2b7)
2026-10-04 18:50:22 -04:00
Lee Clagettandsuch-gitea e4d52af5c7 Fix stall issues with p2p
(cherry picked from commit f618ee1136fa11d0611229a81d9c2838cc9db737)
2026-10-04 18:50:22 -04:00