7907 Commits
Author SHA1 Message Date
such-gitea c3e4aba2f0 build: prepare v0.11.5.0 2026-10-04 19:09:34 -04:00
selstaandsuch-gitea 70543dd466 wallet2: use decodeRct for reserve proof amount validation
also update check_tx_key_helper for consistency

(cherry picked from commit 11543143b9b69713bfcfa9a38b97ceb80dc64047)
2026-10-04 18:54:54 -04:00
jeffro256andsuch-gitea a8818ce56d Blockchain: improve check_block_timestamp() overloads
(cherry picked from commit 478df04f38c60d4459e2a514055e7031c0f3ec32)
2026-10-04 18:52:22 -04:00
Masamuneandsuch-gitea 363c2f7506 wallet2: fix infinite loop in estimate_tx_size_and_weight on large n_outputs
estimate_rct_tx_size() and estimate_tx_weight() compute the Bulletproof padded
output count with `while ((1<<log_padded_outputs) < n_outputs)`, shifting a
signed int. For n_outputs > 2^30 this reaches `1 << 31` (signed overflow, UB),
and once the shift count exceeds the int width the value cycles and never
reaches n_outputs, so the loop never terminates. estimate_tx_size_and_weight()
accepts n_outputs up to INT_MAX (only negative is rejected), so a single
wallet-rpc call spins the handling thread forever.

Shift an unsigned 64-bit one and compare in uint64_t at all three shift sites,
and accumulate the estimated size in size_t (cast the per-input and per-output
terms) so the size arithmetic cannot overflow for large counts.

(cherry picked from commit a3deaab98a)
(cherry picked from commit ac37e75df8aedf43aa7afa1199ec24e229039f34)
2026-10-04 18:51:26 -04:00
Lee *!* Clagettandsuch-gitea cf393346bc Add checks in cryptonote serialization routine
(cherry picked from commit 2143283872c9b9e83dc04a571d9b8cd46548c3f7)
2026-10-04 18:51:04 -04:00
selstaandsuch-gitea 84fd02ea1d wallet2: update multisig info for detached outputs
(cherry picked from commit 48053f75dfed66cbb70aae21a17c5aa00cf3dc88)
2026-10-04 18:50:25 -04:00
selstaandsuch-gitea d86469844e wallet2: trim stale transfer maps after output imports
(cherry picked from commit 7d7a74848780f4f42a0e1376badf62a79240a02f)
2026-10-04 18:50:25 -04:00
selstaandsuch-gitea f607a02dae simplewallet: classify payment IDs by their payload
(cherry picked from commit 7dba0c8c786e44b3c71d1e214bfdf92ae3cf05a1)
2026-10-04 18:50:25 -04:00
selstaandsuch-gitea c7acabc641 wallet2: keep received amount breakdown consistent
(cherry picked from commit 0810f48a24d44f03b917a2548e1588b7531b0301)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea bd0f37cfb3 wallet: fix inconsistent tx pubkey handling
(cherry picked from commit 0125cf2697604cf0657f087fe7c42981d5e0c3b0)
2026-10-04 18:50:24 -04:00
koeandsuch-gitea e86d98e7ca tx/partial tx validation improvements
(cherry picked from commit b09e9bfe56824cd1d70a14db86d0507c928c1780)
2026-10-04 18:50:24 -04:00
j-bermanandsuch-gitea 1d5bf8cc8e cryptonote_basic: parse_and_validate_tx param to check max size
Simple API to check max blob size before parsing. This is useful
when reading blobs from untrusted sources.

@selsta pointed out that coinbase txs can technically be larger
than get_max_tx_size(), otherwise we could enforce it on all txs.

(cherry picked from commit b66e2227c2f937a3e09dd62ed770b0667bff0779)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea dfb95d964c wallet2: sanitize untrusted daemon status in sweep unmixable
(cherry picked from commit 144b3f9e644c0b1d4ad994b99edf6c355b38e533)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea 073daa92bd wallet2: filter unchecked RPC error statuses
(cherry picked from commit c86fd739dceca593346ca3d3d3db835d1308e7ed)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea 9a4ec1a5d0 wallet2: validate public node addresses before display
(cherry picked from commit c683bf08850161d6b072fd70c0e1325cb39e0a61)
2026-10-04 18:50:24 -04:00
selstaandsuch-gitea cb893bf197 cryptonote_protocol: tighten pruned transaction blob validation
(cherry picked from commit 71e3be0e48d0939dfd2500f703b69234967d254a)
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 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 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 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
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 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