Commit Graph
1478 Commits
Author SHA1 Message Date
selsta d2e4cbcda5 http: share deterministic header field parser 2026-06-21 22:27:37 +02:00
tobtoht 70d57adc4b Merge pull request #10543
878c781 zmq: apply restricted-mode privacy filtering to get_transaction_pool (greatjourney589)
2026-06-09 18:00:03 +00:00
tobtoht 4fd6c64209 Merge pull request #10712
6bc3784 fix: TypeError: 'method' object is not subscriptable (SNeedlewoods)
2026-06-09 17:53:12 +00:00
tobtoht 1ed6b8183c Merge pull request #10704
93d792e net: canonicalize Tor/I2P hosts during deserialization (selsta)
2026-06-09 17:49:35 +00:00
SNeedlewoods 6bc37841a9 fix: TypeError: 'method' object is not subscriptable 2026-06-03 22:13:13 +02:00
selsta 93d792e63c net: canonicalize Tor/I2P hosts during deserialization 2026-06-03 17:24:27 +02:00
selsta b7ca9e73f2 p2p: close zone connections before stopping net servers 2026-06-03 12:17:18 +02:00
selsta 7d33977813 net: canonicalize Tor and I2P hostnames 2026-05-23 01:01:43 +02:00
greatjourney589 878c781764 zmq: apply restricted-mode privacy filtering to get_transaction_pool
Add an include_sensitive parameter to tx_memory_pool::get_pool_for_rpc
(and its core passthrough), mirroring the include_sensitive_data
parameter on the HTTP analog get_transactions_and_spent_keys_info.
When false, receive_time and last_relayed_time are zeroed using the
same masking already applied on the HTTP path.

The ZMQ handler in daemon_handler.cpp passes !m_restricted, so
--restricted-zmq-rpc callers now receive the same privacy-filtered view
as restricted HTTP callers instead of the unfiltered timing metadata
they previously got. Stem-phase txs continue to be excluded regardless
(relay_category::broadcasted filter unchanged).

Refs #10529.
2026-05-08 11:40:38 -04:00
tobtoht 586e82bcc0 Merge pull request #10367
5422919 Improve unpack reserve handling (Lee Clagett)
2026-04-27 23:09:10 +00:00
Lee Clagett 54229196bd Improve unpack reserve handling 2026-04-27 17:57:21 -04:00
tobtoht 64b19b4b9a Merge pull request #10431
44412d3 cryptonote_core: add change address sanity check (jeffro256)
2026-04-27 20:29:51 +00:00
jeffro256 44412d3574 cryptonote_core: add change address sanity check
Prevents silly mistakes where wrong change address is passed

Release versions uses boost::optional instead of std::optional
2026-04-27 14:24:47 -05:00
tobtoht 987e6d2913 daemon: remove miniupnp 2026-04-26 13:32:06 +02:00
tobtoht 8b6be66bef Merge pull request #10411
ce5437f Add Socks v5 support to daemon and wallet (Lee *!* Clagett)
2026-04-20 07:49:04 +00:00
tobtoht e75125a30b Merge pull request #10410
1d2ae21 p2p: isolate regtest from mainnet bootstrap state (Jeetraj)
2026-04-18 08:13:55 +00:00
Lee *!* Clagettandlschomaker1 ce5437f067 Add Socks v5 support to daemon and wallet
(cherry picked from commit 23e29a5074)
2026-04-16 15:52:05 -05:00
Jeetraj 1d2ae2138a p2p: isolate regtest from mainnet bootstrap state 2026-04-10 22:45:53 +05:30
j-berman 7bc2d5a42e p2p: fix hanging shutdown 2026-04-04 15:02:49 -07:00
tobtoht 1df631970f Merge pull request #10395
017c902 Cleanup some of the fragmented levin handling (Lee *!* Clagett)
2026-04-04 18:45:15 +00:00
tobtoht 2953f74a84 Merge pull request #10389
7f2cfe9 zmq: add restricted rpc mode (selsta)
dd0fb6c daemon: warn user on specifiying ZMQ args with --no-zmq (jeffro256)
2026-04-02 20:04:02 +00:00
selsta 7f2cfe9294 zmq: add restricted rpc mode 2026-04-01 18:06:10 +02:00
Lee *!* Clagett 017c9022d7 Cleanup some of the fragmented levin handling 2026-03-31 14:50:35 -04:00
Lee *!* Clagett f355f85e6f Harden HTTP client auth 2026-03-13 13:37:28 -04:00
j-berman ee9e4a49ba p2p: connection patches
- Make sure the server sends a complete response when the client
includes the "Connection: close" header.
- Make sure the server terminates in `m_strand` to avoid
concurrent socket closure and ops processing.
2026-02-02 10:22:41 -08:00
j-berman d8d3cf9730 p2p: fix race causing dropped connections during sync
Without this commit:
1) read height from DB
2) add block to chain in separate thread
3) read chain for block id's and request them from peer
4) ERR in handle_response_chain_entry, peer's first block is the
one that was added to the chain, which has block idx=height from
step 1.

This commit reads the chain for height and highest block id's
in one go while holding the m_blockchain_lock to avoid the race.
2025-12-11 21:37:20 -08:00
j-berman a83a46d600 Fix logging deadlock 2025-11-11 10:44:26 -08:00
j-berman 9239d36691 wallet: identify spends in pool when scanning
- Make sure to mark identified spends in the pool as spends. The
wallet might not know these have been spent if it wasn't the wallet
that relayed the tx to the daemon, or the wallet was cleared via
rescan_bc.
- Make sure to add spends to m_unconfirmed_txs if not present.
- Make sure to process the entire pool again if refreshing for
the first time. The wallet fetches pool and blocks at the same
time. The wallet scans blocks first, then pool. If the wallet
identifies received outputs in the chain, then it may have spent
those received outputs in the pool. So we make sure to re-process
the entire pool again after scanning the chain for the first time.
- Multisig wallets that know about spent key images can now detect
spend txs in the pool. Update tests for that.
2025-10-07 11:02:17 -07:00
jeffro256andnahuhh 1da19dac54 wallet: refactor subaddress expansion & add to transfer test 2025-07-07 22:21:46 +00:00
Justin Bermanandnahuhh e23d51bc16 wallet: improve lookahead logic & make rpc persistent 2025-07-07 22:21:43 +00:00
benevanoffandnahuhh 678f5dab31 wallet: create set_subaddress_lookahead wallet rpc endpoint 2025-07-07 22:21:39 +00:00
benevanoffandnahuhh 8f5a7b0f1a wallet: ensure subaddress keys table is at least size of requested lookahead 2025-07-03 16:10:29 +00:00
Bastian Germannandtobtoht fe1a10d70e Replace in-tree MD5 with OpenSSL
This uses OpenSSL's non-deprecated EVP digest facility to calculate MD5
in HTTP digest authentication.
2025-03-14 14:00:16 +01:00
tobtoht 3da68db978 Merge pull request #9740
008ba966d blockchain sync: reduce disk writes from 2 to 1 per tx (jeffro256)
2025-03-10 16:20:00 +00:00
jeffro256 008ba966da blockchain sync: reduce disk writes from 2 to 1 per tx 2025-03-10 01:32:08 -05:00
Lee *!* Clagett 01bcd52924 Fix build with boost ASIO 0.87. Support boost 1.66+ 2025-02-14 13:29:57 -05:00
tobtoht 23a11d851a Merge pull request #9775
13ff355cf Set response limits on http server connections (Lee *!* Clagett)
89fa3ed68 epee: update 'http_server_handlers_map2.h' macros to use fully qualified names (Jeffrey Ryan)
2025-02-14 07:49:40 +00:00
Lee *!* Clagett 13ff355cf6 Set response limits on http server connections 2025-02-14 00:21:05 -05:00
iamamyth ef1ff103f5 tests: Improve p2p tx propagation functional test
Reduce the likelihood of false positive failures in the p2p
transaction propagation functional test by waiting up to a
maximum timeout for a transaction to propagate, rather than using a
fixed timeout, to reflect the random delay of Dandelion++ transaction
propagation. This strategy also speeds test execution in cases where
propagation occurs faster than the previously expected fixed delay.
2025-02-13 12:49:47 -08:00
tobtoht 3b1300d2af Merge pull request #9790
d13da6e71 tests: include <iomanip> where using std::setfill (jeffro256)
2025-02-13 18:14:02 +00:00
tobtoht 5b045d70e0 Merge pull request #8617
e44e8b164 wallet: background sync with just the view key (j-berman)
2025-02-13 17:43:24 +00:00
jeffro256andtobtoht d13da6e71d tests: include <iomanip> where using std::setfill 2025-02-09 09:12:04 +01:00
iamamythandtobtoht 84e44dd012 tests: Fix tools::is_hdd unit tests
Correct the unit tests for tools::is_hdd to avoid making assumptions
about the configuration of a particular device based solely on the
value of the __GLIBC__ preprocessor flag. Instead, rely on the
test invoker to provide paths for devices of specific types via
the process environment, thereby avoiding faulty assumptions and
improving the specificity of test assertions. To ensure appropriate
devices exist, add a script, tests/create_test_disks.sh, which
configures loopback devices mirroring relevant configurations.
2025-02-08 02:55:03 +01:00
tobtoht 00e582a2b1 Merge pull request #9460
0cd74568d Cleanup TCP throttling code (performance) + move connection checks (Lee *!* Clagett)
2025-01-22 22:47:10 +00:00
tobtoht d8e5a17883 tests: fix IPv4Success, DNSSECSuccess
"example.com" now has more than one A record
2025-01-16 13:17:36 +01:00
luigi1111 a6f21ca4bd Merge pull request #9616
a1b545a p2p: allow comments in banlist files (jeffro256)
2024-12-23 11:04:59 -05:00
Lee *!* Clagett 0cd74568d6 Cleanup TCP throttling code (performance) + move connection checks 2024-12-19 20:54:22 -05:00
0xFFFC0000andBoog900 13df862535 contrib: force (de)serialization to create params section incase there is none.
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-12-13 19:49:55 +00:00
jeffro256 a1b545a2f7 p2p: allow comments in banlist files
In-line comments explicitly explaining banned hosts/subnets might help assuage fears of some good banlists' arbitaryiness.
2024-12-13 13:37:39 -06:00
jeffro256 65568d3a88 build: fix build with Boost 1.85 and remove instances of viewkey logging [RELEASE]
1. Use std::is_standard_layout and std::is_trivially_copyable instead of std::is_pod for KV byte-wise serialization, which fixes compile issue for Boost UUIDs
2. Removed reimplementation of std::hash for boost::uuids::uuid
3. Removed << operator overload for crypto::secret_key
4. Removed instances in code where private view key was dumped to the log in plaintext

Release version of #9450, containing C++14 modified assertions
2024-09-10 16:07:36 -05:00