Commit Graph
11640 Commits
Author SHA1 Message Date
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
selstaandsuch-gitea bcdb7c1075 http: share deterministic header field parser
(cherry picked from commit d2e4cbcda578152d9640a1aafa97a527f48a1380)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea e9aa147fb3 wallet2: guard optimized coinbase refresh against empty vout
(cherry picked from commit ef7a86c99f7c58c361c3c0ddf5687a165c22ce7a)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea 06fa8be413 wallet2: reject non-monotonic rct output distributions
(cherry picked from commit b99d15f08d80a8cad6dee88628192ba0411544fb)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea 16045bb71d net: cap aggregate ZMQ receive size
(cherry picked from commit 4f6652f356f804403f46ecbbb8b90c1c03abbc64)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea 77fed902b3 wallet2: store multisig nonce erasure before returning signed txset
(cherry picked from commit d6f0a4d211cc419095e778a39a83d65000e47bf6)
2026-10-04 18:50:20 -04:00
tobtohtandsuch-gitea b57c4884d7 depends: openssl: update to 3.0.21
(cherry picked from commit 8d0b73e509fa60538eb86e8af1e970faa91a88a6)
2026-10-04 18:50:20 -04:00
woodserandsuch-gitea 314bad4880 fix typo in hashchain bounds error
(cherry picked from commit ad72a6c25342bc1694a787ba583e44beebea75e9)
2026-10-04 18:50:20 -04:00
SChernykhandsuch-gitea 8efb829f2c Miner: fixed thread 0 always mining with secure JIT (worse performance)
(cherry picked from commit 0859397f21457d42635d8c638558ed503ff65fa0)
2026-10-04 18:50:20 -04:00
vdoandsuch-gitea d98b92858f gitian: optional APT cacher for docker builds
(cherry picked from commit 874b7eb0b3a8b753f5488c0b004f121ff08a5eb3)
2026-10-04 18:50:20 -04:00
SChernykhandsuch-gitea aded798c27 Fix: check hwdev.generate_output_ephemeral_keys result
If it fails, out_eph_public_key and view_tag remain uninitialized.

(cherry picked from commit 2de5e8227f356c31784e249ca5317e7faf4ba969)
2026-10-04 18:50:20 -04:00
SChernykhandsuch-gitea eb71cc9633 Blockchain: fix wrong block_weight in handle_get_objects
- When there are missing IDs, blocks.size() != arg.blocks.size(), so arg.blocks can't be indexed by `i` - the indices will be wrong, the wrong weight will be returned to some peer and this peer will ban our node.

Use `bl.second` instead of `arg.blocks[i]`. Also it saves one DB query per returned block.

(cherry picked from commit 3d856f4825283e66a7ebbe9ac32e3f864bc906e2)
2026-10-04 18:50:20 -04:00
SNeedlewoodsandsuch-gitea 99d0c33dde fix: TypeError: 'method' object is not subscriptable
(cherry picked from commit 6bc37841a9523cadf144034376b7a79d69e55a21)
2026-10-04 18:50:20 -04:00
SChernykhandsuch-gitea d894ac3ba6 tx_pool: fix use-after-free in prune()
- txid was a reference to an item which was later deleted in remove_tx_from_transient_lists(), and txid was used after that

(cherry picked from commit ab6a1c8a3da2b252599fcb72c16f26fa56ba4cc8)
2026-10-04 18:50:20 -04:00
SChernykhandsuch-gitea 8ffd095a90 Multisig tx builder: fix incomplete memory wipe
(cherry picked from commit 00a444b1167119a8a6d5c133d8e32240249b76f9)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea 08cc86ab88 net: canonicalize Tor/I2P hosts during deserialization
(cherry picked from commit 93d792e63c85baec6f8a3b8f9bbad3f803dd3a7e)
2026-10-04 18:50:20 -04:00
SChernykhandsuch-gitea 78fc142418 wallet2: fix double unlock of a lock
(cherry picked from commit 2b97e3ae049cc872c29b6994304a1e65d8338caa)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea d171742ed6 p2p: close zone connections before stopping net servers
(cherry picked from commit b7ca9e73f23cfb0ce1e795b2074ad12af56b04e3)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea 1e17dc299a p2p: make stop signal idempotent
(cherry picked from commit ec60113e09d9fc985b1c35fe1c579ef73c067d91)
2026-10-04 18:50:20 -04:00
alhudzandsuch-gitea 692066eb88 fix off-by-one over-read in match_string2 unicode escape parsing
(cherry picked from commit dedae5272d9d311464e8b25a5c57701591ac4eb1)
2026-10-04 18:50:20 -04:00
tobtohtandsuch-gitea ca0fa050d3 depends: explicitely enable cross-compile mode for autoconf
(cherry picked from commit 0d49006c9d1740b2909d5173157e621e6a38ede1)
2026-10-04 18:50:20 -04:00
tobtohtandsuch-gitea f73d9fcd2b depends: unbound: update to 1.25.1
(cherry picked from commit 98bc2ec5e6896bfa210eafc42f8849431c9eb5d2)
2026-10-04 18:50:20 -04:00
tobtohtandsuch-gitea bca9766c4d depends: libusb: update to 1.0.30
(cherry picked from commit 22a69e588e60bdd0a8c84f8e834446eaf185fbe7)
2026-10-04 18:50:20 -04:00
SChernykhandsuch-gitea d5bbcefc87 Fixed dangling iterator in is_remote_host_allowed
- m_blocked_subnets.erase(it) either moves it to the next entry, or sets it to m_blocked_subnets.end() in which case the MCLOG_CYAN will access invalid data

(cherry picked from commit e354264e0c046454dc01f71eeb3fe8098e248ec6)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea f8052081f3 net: canonicalize Tor and I2P hostnames
(cherry picked from commit 7d339778135c44370199f5c84e8c90b3d60f6717)
2026-10-04 18:50:20 -04:00
jeffro256andsuch-gitea 35a6aabcee contrib: fix unaligned&aliased levin buffer reads
Co-authored-by: selsta <selsta@users.noreply.github.com>
(cherry picked from commit 98b350f7a15997f5866c413c16b07e2ee6348922)
2026-10-04 18:50:20 -04:00
selstaandsuch-gitea 9ee36bbac3 serialization: handle EOF at varint boundary
(cherry picked from commit 7a7c42ffba1da6bd3f7bfd5a09ef9ae7275537a6)
2026-10-04 18:50:19 -04:00
selstaandsuch-gitea 72da5948b6 wallet2: clear m_additional_tx_keys during bg sync
(cherry picked from commit 4b00f47d43d784447904d777f220a525044a3374)
2026-10-04 18:50:19 -04:00
selstaandsuch-gitea 8967c814b3 wallet_rpc_server: remove unused finalize_multisig endpoint
(cherry picked from commit 6d36b1980d9b827117e293b3ca8a6b509b592b1a)
2026-10-04 18:50:19 -04:00
jeffro256andsuch-gitea 109c08f189 daemon: fix print_cn command when 0 connections
Deferencing the result of `std::max_element()` when `res.connections` has 0 elements leads to UB, and segfaults in practice.

Co-authored-by: iamamyth <user@example.com>
(cherry picked from commit 7c543c82205c3522510e8da616edc795922ce9f3)
2026-10-04 18:50:19 -04:00
Guillaume Le Vaillantandsuch-gitea 83793218ce Show IPv6 addresses in connection list
(cherry picked from commit 528cbac17a6c372d1698c82e30df0fdfc78a5ccc)
2026-10-04 18:50:19 -04:00
selstaandsuch-gitea 2b502bb25b rpc: restrict get_alt_blocks_hashes
(cherry picked from commit 7de175802a48caa7b96e516138de6cdc914bdc76)
2026-10-04 18:50:19 -04:00
selstaandsuch-gitea d94591b63e daemonizer: avoid unsafe pidfile truncation
(cherry picked from commit 4167923ee21cba06f311bebab29206b1f894b067)
2026-10-04 18:50:19 -04:00
iuyua9andsuch-gitea a99f104fc0 epee: skip IPv4 TOS option for non-IPv4 peers
(cherry picked from commit 2a6f64d8faad464c9cecc9c317b06f00f96f4578)
2026-10-04 18:50:19 -04:00
jeffro256andsuch-gitea 2ef8b04e33 wallet: fix RPC describe transfer source entry
(cherry picked from commit 8bcbeafb97d4a67b5d8d08695e115a3a9b5e1829)
2026-10-04 18:50:19 -04:00
selstaandsuch-gitea f201dc06dc wallet_rpc_server: preserve payment ID when editing address book
(cherry picked from commit 6db72c40e1764b04ab149114025da5fa7a1da7b6)
2026-10-04 18:50:19 -04:00
selstaandsuch-gitea d7c41d7ace rpc: reject invalid JSON-RPC ids in ZMQ requests
(cherry picked from commit a16f514c67e95cec4946dc83dbad04ed1baad023)
2026-10-04 18:50:19 -04:00
ComputeryPonyandsuch-gitea db60cbb939 epee: fix memory leak with readline
(cherry picked from commit e92f9bd2d609b2823c841a4e857fe46f9b7f0ec6)
2026-10-04 18:50:19 -04:00