Commit Graph
13429 Commits
Author SHA1 Message Date
tobtoht 9972aecd54 Merge pull request #11212
c7f77c2 simplewallet: hide reached confirmation threshold (Samy)

ACKs: jpk68, selsta
2026-09-09 20:09:49 +00:00
tobtoht afa16e098a Merge pull request #11209
e96e9e6 simplewallet: quote notes in transfer exports (Samy)

ACKs: jpk68, selsta
2026-09-09 20:09:11 +00:00
tobtoht b30a99386d Merge pull request #11207
1f58e91 epee, common: pass unsigned char to <cctype> functions (pucedoteth)

ACKs: jpk68, Ap4sh, selsta
2026-09-09 20:08:18 +00:00
tobtoht 350c0bde2c Merge pull request #11206
2fe7534 Add checks in cryptonote serialization routine (Lee *!* Clagett)

ACKs: jpk68, j-berman, selsta, plowsof
2026-09-09 20:07:40 +00:00
tobtoht c1e70c3cf7 Merge pull request #11204
b697a72 lmdb: retain percentage fallback for batch resizing (selsta)

ACKs: jpk68, j-berman, jeffro256, plowsof
2026-09-09 20:06:00 +00:00
tobtoht 3f84ce4279 Merge pull request #11202
722de8e crypto: handle unaligned Groestl input (Samy)

ACKs: jpk68, selsta
2026-09-09 20:04:29 +00:00
tobtoht 3db0f93a36 Merge pull request #11191
960dc81 fuzz: add network address tests (jpk68)

ACKs: selsta, tobtoht
2026-09-09 20:02:50 +00:00
tobtoht 9881dabff2 Merge pull request #11183
a3deaab wallet2: fix infinite loop in estimate_tx_size_and_weight on large n_outputs (Masamune)

ACKs: thomasbuilds*, selsta, plowsof, jpk68
2026-09-09 20:00:50 +00:00
tobtoht c482bc8b23 Merge pull request #11178
772d856 blockchain_utilities: fix memory safety bugs (jpk68)

ACKs: selsta, tobtoht
2026-09-09 20:00:01 +00:00
tobtoht 1577f64637 Merge pull request #11168
bc870e0 blockchain: limit offsets cache size (j-berman)

ACKs: jeffro256, selsta, jpk68, thomasbuilds, plowsof
2026-09-09 19:58:53 +00:00
tobtoht bc73a32fee Merge pull request #11123
29922e1 device_trezor: show error when device is disconnected (jpk68)

ACKs: selsta, SNeedlewoods
2026-09-09 19:57:58 +00:00
tobtoht 98889c4b1f Merge pull request #11122
617cb6a device_trezor: show error when operations are cancelled (jpk68)

ACKs: selsta, SNeedlewoods
2026-09-09 19:57:30 +00:00
tobtoht b7a89f8b88 Merge pull request #11076
1a8ca87 wallet: add pending_tx sanity checker (koe)

ACKs: j-berman, jpk68, selsta, thomasbuilds
2026-09-09 19:56:38 +00:00
tobtoht d029a08ff4 Merge pull request #11068
91d851a blockchain_db: resume interrupted pruning (Samy)

ACKs: selsta, jpk68
2026-09-09 19:53:54 +00:00
tobtoht 6b37a7e75d Merge pull request #11054
2b7ed47 cmake: add more compiler warnings (jpk68)

ACKs: SNeedlewoods*, selsta, thomasbuilds
2026-09-09 19:53:01 +00:00
tobtoht c24468b430 Merge pull request #10969
94034af blockchain_utilities: resume interrupted exports safely (Samy)

ACKs: selsta, jpk68
2026-09-09 19:52:11 +00:00
tobtoht a9e3a5a20e Merge pull request #10669
c7a2d4f crypto: reduce crypto.h header weight (jeffro256)

ACKs: selsta, jpk68
2026-09-09 19:50:28 +00:00
jeffro256 c7a2d4f66a crypto: reduce crypto.h header weight 2026-09-07 21:32:29 -05:00
Samy 91d851a85b blockchain_db: resume interrupted pruning
Initial pruning commits the pruning seed at its first checkpoint. If it is interrupted after that point, startup selects incremental pruning and leaves the historical scan unfinished.

Store the last processed transaction hash in the same transaction as each checkpoint. On restart, prune newly matured tip records, continue after the marker, and clear it with the final commit.

Databases interrupted by older binaries have no marker and still require the existing manual prune_blockchain command.
2026-09-05 16:31:39 +02:00
Samy 94034af4a2 blockchain_utilities: resume interrupted exports safely
Use the file size to distinguish a clean EOF from an incomplete trailing chunk before resuming an export

Truncate only that incomplete tail and keep malformed chunks or I/O failures non-destructive
2026-09-05 16:27:41 +02:00
koeandj-berman 1a8ca87e88 wallet: add pending_tx sanity checker
Co-authored-by: j-berman <justinberman@protonmail.com>
2026-09-04 15:42:22 -05:00
tobtoht 3d3920d748 Merge pull request #10875
773e307 simplewallet: reject donations when not on mainnet (jpk68)

ACKs: SNeedlewoods*, thomasbuilds, selsta
2026-09-03 13:34:56 +00:00
Masamune a3deaab98a 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.
2026-09-03 11:45:52 +07:00
jpk68 960dc81d76 fuzz: add network address tests 2026-09-02 14:55:24 -04:00
tobtoht fdb030df51 Merge pull request #11199
b93ce60 common: handle case-insensitive Content-Range (Samy)

ACKs: jpk68, selsta
2026-09-02 10:19:30 +00:00
tobtoht df8b21b153 Merge pull request #11035
eeb8245 wallet_api: reject transaction file signing with hardware wallets (selsta)

ACKs: SNeedlewoods, jpk68
2026-09-01 19:12:49 +00:00
tobtoht e02caca61a Merge pull request #11195
384fc9b tests: add Bulletproof+ fuzz test (Samy)

ACKs: selsta, jpk68
2026-09-01 19:06:00 +00:00
Samy b93ce60e7a common: handle case-insensitive Content-Range 2026-09-01 20:03:12 +02:00
tobtoht 8e99188c5e Merge pull request #11194
683f539 fcmp_pp_rust: build with cargo --locked (Thomas)

ACKs: jpk68, selsta
2026-08-31 18:53:41 +00:00
tobtoht f7a927ad4a Merge pull request #11197
cd8beb7 depends: protobuf: don't use android system logging (tobtoht)

ACKs: jpk68, selsta
2026-08-31 18:39:57 +00:00
tobtoht a95de010bd Merge pull request #11186
4fdcd5f depends: openssl: update to 3.5.8 (tobtoht)

ACKs: jpk68, selsta
2026-08-31 18:38:01 +00:00
tobtoht 3bd4a991a1 Merge pull request #11179
3e35bfa src: reduce unnecessary copies/allocations (jpk68)

ACKs: selsta, jeffro256
2026-08-31 18:36:37 +00:00
tobtoht 5cde0ac62a Merge pull request #11174
ce7a081 miner: allow zero background mining sleep (Samy)

ACKs: jpk68, selsta
2026-08-31 18:21:04 +00:00
tobtoht 396c4d837c Merge pull request #11170
fd86262 simplewallet: suggest hw_reconnect on refresh (Samy)

ACKs: jpk68, selsta
2026-08-31 18:18:15 +00:00
tobtoht 5b85e2d70a Merge pull request #11121
ddf0786 simplewallet: fix crash in sweep commands when address is omitted (jpk68)

ACKs: selsta, SNeedlewoods
2026-08-31 18:17:47 +00:00
tobtoht 3545007fa5 Merge pull request #11198
7f284ca cmake: remove protobuf compile test (tobtoht)

ACKs: jpk68*, selsta, jeffro256
2026-08-31 18:17:12 +00:00
tobtoht f6fb95f0ff Merge pull request #11175
a496b49 rpc: further restrict and clean up get_transaction_pool (selsta)

ACKs: thomasbuilds, plowsof, jpk68
2026-08-31 18:16:29 +00:00
Samy 722de8ed3d crypto: handle unaligned Groestl input 2026-08-31 00:30:46 +02:00
Lee *!* Clagett 2fe7534434 Add checks in cryptonote serialization routine 2026-08-30 17:32:53 -04:00
Samy c7f77c2649 simplewallet: hide reached confirmation threshold 2026-08-30 18:23:50 +02:00
Samy e96e9e66ff simplewallet: quote notes in transfer exports 2026-08-30 00:23:54 +02:00
pucedoteth 1f58e91d60 epee, common: pass unsigned char to <cctype> functions
The <cctype> functions require their argument to be representable as
unsigned char or to equal EOF. char is signed on the platforms Monero
targets, so every byte >= 0x80 reaches them negative, which is undefined
behaviour.

All six call sites take bytes that come from outside the process:

  hex_to_dec_2bytes()     percent-escapes in a payment URI
  http_client.h           the status line of an HTTP response
  updates.cpp             the hash field of a DNS update record

glibc and the macOS libc happen to tolerate -128..-1 because their tables
carry padding below zero, so this is quiet in practice on those, but it is
still out of contract and other libcs index without that cushion.

Cast to unsigned char at each call. The conversion is behaviour-preserving
for the ASCII these actually test: for a byte such as 0xC3, toupper()
returns it unchanged in the C locale, it narrows back to char, memchr()
misses it in the hex table, and hex_to_dec_2bytes() falls through to the
existing literal "%XY" output exactly as before.

epee::misc_utils::parse::isdigit/isalpha/isspace are separate char-taking
helpers and are already well defined, so they are untouched, as is
is_base64(), which already takes unsigned char.
2026-08-29 04:38:57 +02:00
selsta b697a724b9 lmdb: retain percentage fallback for batch resizing 2026-08-28 23:09:44 +02:00
tobtoht 78fb311ebb Merge pull request #10605
59702e0 rpc: speedup block&tx RPC calls (jeffro256)

ACKs: thomasbuilds*, selsta, jpk68
2026-08-28 07:58:16 +00:00
jeffro256 59702e0275 rpc: speedup block&tx RPC calls
In RPC calls `get_blocks.bin` and `get_transactions`:
  1. Skip deserializing then re-serializing tx blobs
  2. Provide full unpruned transaction from mempool in `get_transactions` when `!req.prune`
  3. Change `on_get_transactions()` response sort time from O(N^2) to O(N)
  4. Generally improve memory usage and lookups in `on_get_transactions()`

Reviewed-by: selsta <selsta@sent.at>
Reviewed-by: j-berman <justinberman@protonmail.com>
Reviewed-by: jpk68 <jpk68@tutanota.com>
2026-08-27 15:08:57 -05:00
jpk68 3e35bfad7e src: reduce unnecessary copies/allocations 2026-08-27 15:59:55 -04:00
tobtoht e5dbb3286c Merge pull request #11169
fde06da wallet2: fix data races in refresh error handlers (Thomas)

ACKs: jpk68, selsta
2026-08-27 18:00:19 +00:00
tobtoht 52a2323743 Merge pull request #11167
f7d27f0 wallet: encode equals signs in URIs (Samy)

ACKs: jpk68, selsta
2026-08-27 17:59:29 +00:00
tobtoht 9f31349249 Merge pull request #11163
6a4e1d9 simplewallet: fix show_transfer confirmations (Samy)

ACKs: jpk68, selsta
2026-08-27 17:58:40 +00:00
tobtoht a520681b90 Merge pull request #10820
0a47ee2 tests: harden RPC fuzz harness setup (selsta)

ACKs: thomasbuilds, jpk68
2026-08-27 17:57:49 +00:00