11727 Commits
Author SHA1 Message Date
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
selstaandsuch-gitea 51012bfc4d device_trezor: validate bridge response size before parsing
(cherry picked from commit 635a558a3f27f0c4098936da033fa687d5220cfe)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea af216147b0 p2p: stop buffered dispatch after fatal notifications
(cherry picked from commit f397f3920998aa8f57f86c9539fd720d288c7e18)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea 333e916fbc rpc: disable get_transaction_pool in restricted mode
(cherry picked from commit af88effd9a82ca715c12ce6ea021fdbc1cbb3102)
2026-10-04 18:50:22 -04:00
waris )andsuch-gitea b1f879a7a3 wallet: derive encrypted payment ID dummy/real status from tx.extra, not cd.dests
Also applies the same payment ID display fix to on_describe_transfer in wallet_rpc_server.cpp.

(cherry picked from commit 3bc997cb3a1eb7dfe57dab302a8309e1ead22fac)
2026-10-04 18:50:22 -04:00
selstaandsuch-gitea 2ea94e6a21 rpc: hide ZMQ request contents in restricted mode
(cherry picked from commit dfb85dde03650430fa77541af17831f4bb9c5a2c)
2026-10-04 18:50:22 -04:00
tobtohtandsuch-gitea 27b67006cd depends: unbound: update to 1.25.2
(cherry picked from commit 2a10eceae0f34c350107876e1d4c9a6314e69d27)
2026-10-04 18:50:22 -04:00
weifanglabandsuch-gitea 16ad3eaea8 epee: fix build with openssl 4.0
(cherry picked from commit 0b67da411a5c0baf2f0631b311a3ec71467da1bc)
2026-10-04 18:50:22 -04:00
SChernykhandsuch-gitea ad119391eb Optimize hashing of generic types
Use a proper hash function instead of f(x)=x to achieve better distribution of hash values

(cherry picked from commit 5eeff1d9c15dfdce6ade9bed455e8fdaab777b31)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 1ead51defe rpc: recover from oversized ZMQ requests
(cherry picked from commit d1508916b44d08fa18dc8ac74e04e9f92dbfb2c1)
2026-10-04 18:50:21 -04:00
woodserandsuch-gitea b86d88f19b wallet_rpc_server: refresh immediately when auto_refresh is enabled
(cherry picked from commit 7f8d72373acb371d44a6d9bcd5de78eda31118c4)
2026-10-04 18:50:21 -04:00
SChernykhandsuch-gitea fb09d61f06 Fix TryAcquireSRWLockShared being implicitly defined and causing UB
(cherry picked from commit 342c3a0fd42584385c76743bb165ff6a75584c1e)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 131a340a51 wallet2: bounds check additional derivations in is_out_to_acc
(cherry picked from commit 987a2a77d3e4b4d3781e70bc70031ff254313557)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 74d32f0a0f simplewallet: validate get_outs response size
(cherry picked from commit f9f6471b1ed431d638e40c60601bc61aa16f1092)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 0abf7825ea blockchain_prune: use per-table LMDB stats for resize estimation
Use mdb_stat on the active table instead of environment-wide
statistics when estimating copy size. This prevents resizing
decisions from being based on the wrong database.

(cherry picked from commit 8301f936f7e9ce33aeadeee46a6b1de1212f3fdc)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 2084879447 wallet2: validate cached transfer indices
Reported by hacksandhops

(cherry picked from commit 72d91039eb5c67c7912ef8328299e8e28d9effb0)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 255134738b crypto: fix ARMv8 slow-hash inline assembly constraints
(cherry picked from commit 246d76f4fc0aefd3ca570fb00f003d58719c5aa6)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea cc52a213c5 serialization: validate RingCT prunable JSON type
(cherry picked from commit fe2e0dbc59626b737301e843ca31840adf87e9d4)
2026-10-04 18:50:21 -04:00
plowsofandsuch-gitea f2c3f8ce3e wallet_api: set m_password in the recovery creation paths
libwallet_api_tests: cover password retention on wallet recovery

(cherry picked from commit 3a0df2b80b1dadcfd1a0115bd4667c6fb73b5d33)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea ae82190d7b cmake: apply cxa throw wrap flags when linking common
(cherry picked from commit b81fbb393e64e29e04f4f11e9d307442e1241027)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 7d1d93d168 epee: avoid bad_weak_ptr during connection teardown
foreach_connection() can race with connection destruction while the
protocol handler remains in the raw-pointer map. Use the non-throwing
weak_from_this().lock() in add_ref() and treat expired connections as
unavailable.

This is an interim mitigation pending the broader connection lifetime
fix in PR 7345.

(cherry picked from commit 146f801063b85e23b635c235100cc241e4ab626a)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 62439cd8d2 cmake: use wrapped __cxa_throw on GNU/Linux
(cherry picked from commit 9783be5e217ccc00b990095e606eca74f9bf2b51)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 54eb5eb431 wallet2: guard gamma picker against zero-output windows
(cherry picked from commit 7507aed69f4753767711d52747a02e6860b01297)
2026-10-04 18:50:21 -04:00
Oscar Miraandsuch-gitea 8a99066861 wallet2: ignore checkpoints in fast_refresh when height < 1000
(cherry picked from commit 3b268ae2854f6e1d24203b5fd64e2dc5d42bc940)
2026-10-04 18:50:21 -04:00
Oscar Miraandsuch-gitea cd9b1b65e9 wallet2: use nearest checkpoint to allow fast_refresh on old accounts
(cherry picked from commit eba42d6ad5e21d13836c9e51cc6654e6b4fc34dc)
2026-10-04 18:50:21 -04:00
Oscar Miraandsuch-gitea 604ce7370a checkpoints: support nearest lower checkpoint lookup
(cherry picked from commit e5c424b38d51705ffd1722aa2fe3a0e7db9a40d4)
2026-10-04 18:50:21 -04:00
j-bermanandsuch-gitea c852cb0db9 txpool: re-relay txs that haven't been relayed and need to be
Fixes the following circumstance:
1. Wallet submits tx to node.
2. Node adds tx to pool and queues for relay.
3. Node shuts off before the relay executes in the strand.
4. Node restarts.
5. Now, the fix ensures the node will re-relay the tx in the
get_relayable_transactions loop.

Also makes sure that stem txs don't have last_relayed_time set
to max, which would prevent them from ever being re-relayed on
a restart as well.

Context: https://github.com/seraphis-migration/monero/issues/365#issuecomment-4811722029
(cherry picked from commit aa13c6340f0d855d42aed1d9a8bebe76245e0e7c)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea f289933e67 blockchain: improve incoming block scan table handling
(cherry picked from commit 05426c36cf6f77a7b0f9bcb0f46a0fd5219f6fa4)
2026-10-04 18:50:21 -04:00
SChernykhandsuch-gitea c407af83bd Optimized handle_notify_new_transactions's duplicate tx check
- Check sha256 digests instead of full blobs (much less memory used)
- Replace `find->insert` sequence with a single `insert` - 2x fewer hashset accesses
- Preallocate the required size for the hashset (no full-table rehashes)

(cherry picked from commit fc6e4af01c5fde4d232d16e61ae4b26d51f82987)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea 5bb99b960b wallet2: avoid linear scans in pool state updates
(cherry picked from commit 839dba22c3a39eec92d2c6be7972df6dc6d57bab)
2026-10-04 18:50:21 -04:00
selstaandsuch-gitea ed8fc0a8fd p2p: restore safe sync mode when target height drops
(cherry picked from commit 12098ff5d66d86d73360d28c548c350f6e7b64c8)
2026-10-04 18:50:21 -04:00