Commit graph

1245 commits

Author SHA1 Message Date
Lee Clagett
b4206cea5a
Add aggressive restrictions to pre-handshake p2p buffer limit 2021-01-02 10:57:50 +03:00
moneromooo-monero
b56a9f5bad
protocol: fix false positives dropping peers
it'd trigger on reorgs
2021-01-02 10:56:20 +03:00
luigi1111
4efba60bc1
Revert "Reject existing claimed blocks in sync mode" 2021-01-02 10:55:41 +03:00
moneromooo-monero
b042506baa
protocol: reject claimed block hashes that already are in the chain 2021-01-02 10:54:23 +03:00
Lee Clagett
8088f8d894
Fix byte_stream::put_n 2021-01-02 10:43:02 +03:00
moneromooo-monero
a42b6750b1
protocol: drop origin IP if a block fails to verify in sync mode
It would otherwise be possible for a peer to send bad blocks,
then disconnect and reconnect again, escaping bans
2020-12-11 07:48:33 +03:00
Lee Clagett
0b8bf308ce
Change epee binary output from std::stringstream to byte_stream 2020-12-11 07:46:14 +03:00
Lee Clagett
a3033e741b
Change to more efficient allocation strategy in byte_stream 2020-12-11 07:45:41 +03:00
moneromooo-monero
5ac11bb4d6
crypto: fix non zero scalar being 0 after reducing 2020-12-05 04:57:13 +03:00
mj-xmr
5b43b61153
Add RELINK_TARGETS, monero_add_target_no_relink and use monero_add_executable/monero_add_library where possible (mj-xmr)
Add monero_add_minimal_executable and use in tests

This is done in order not to have to relink targets, when just an .so changed, but not its interface.
2020-12-04 09:36:13 +03:00
TheCharlatan
4a971e575f
Unit Tests: Remove block reward upper bound size checks
Tests running after being compiled with `make debug-test` failed with
```
[  FAILED  ] block_reward_and_current_block_weight.fails_on_huge_median_size
[  FAILED  ] block_reward_and_current_block_weight.fails_on_huge_block_weight
```

With the introduction of the patch in
be82c40703 (diff-1a57d4e6013984c420da98d1adde0eafL113)
the assertions checking the weight of the median and current block
against a size limit were removed. Since the limit is now enforced by a
long divisor and a uint64_t type, checking in a separate test makes
little sense, so they are removed here.
2020-12-04 09:22:22 +03:00
xiphon
6294fe26df
cryptonote_core: dandelion - use local height or median height if syncing 2020-11-26 09:36:28 +03:00
Howard Chu
41f5f36e16
Better log message for unusable anon networks 2020-11-26 09:34:06 +03:00
selsta
4053e2ae14
functional_tests: inrease mining timeout 2020-11-05 05:41:55 +03:00
Lee Clagett
df5779790c
Switch to Dandelion++ fluff mode if no out connections for stem mode 2020-11-05 05:38:33 +03:00
iamamyth
80a21da5ba
functional_tests: rewrite mining code, clearer timeout info 2020-10-19 11:32:06 +03:00
moneromooo-monero
94b5378a3b
fuzz_tests: fix build error in signature fuzz test 2020-10-19 11:31:35 +03:00
xiphon
b8396218a3
Dandelion++: skip desynced peers in stem phase 2020-10-14 12:04:33 +03:00
wowario
572d7ea5ef
initial commit 2020-09-19 17:44:34 +03:00
luigi1111
fd657c7706
Merge pull request #6798
4e44306 enable CLSAG support for Trezor client (ph4r05)
2020-09-07 14:30:41 -05:00
Riccardo Spagni
aefa7740c3
Merge pull request #6111
d20ff4f64 functional_tests: add a large (many randomx epochs) p2p reorg test (moneromooo-monero)
6a0b3b1f8 functional_tests: add randomx tests (moneromooo-monero)
9d42649d5 core: fix mining from a block that's not the current top (moneromooo-monero)
2020-09-06 15:49:37 +02:00
Dusan Klinec
4e4430603f
enable CLSAG support for Trezor client 2020-09-04 01:24:58 +02:00
luigi1111
ee0b02d0db
Merge pull request #6757
6a37da8 threadpool: guard against exceptions in jobs, and armour plating (moneromooo-monero)
2020-09-03 12:25:59 -05:00
moneromooo-monero
6a37da837e
threadpool: guard against exceptions in jobs, and armour plating
Those would, if uncaught, exit run and leave the waiter to wait
indefinitely for the number of active jobs to reach 0
2020-09-01 14:33:33 +00:00
Sarang Noether
fa06c39d97 Bind signature to full address and signing mode 2020-08-28 19:38:00 -04:00
moneromooo-monero
743608ec16 wallet: allow signing a message with spend or view key 2020-08-28 19:25:17 -04:00
moneromooo-monero
1dc427def9
core_tests: fix failures after v13
v13 enforces claiming the full block reward, so we need to keep
track of tx fees to add them to the coinbase
2020-08-28 00:18:39 +00:00
moneromooo-monero
4a9bd8f70f
core_tests: remove hardcoded hf version 2020-08-28 00:14:04 +00:00
Alexander Blair
44cd8a13ec
Merge pull request #6769
b641e0a2c Add clear method to byte_stream (Lee Clagett)
2020-08-27 12:05:16 -07:00
moneromooo-monero
d20ff4f648
functional_tests: add a large (many randomx epochs) p2p reorg test 2020-08-27 15:13:04 +00:00
moneromooo-monero
6a0b3b1f8a
functional_tests: add randomx tests 2020-08-27 15:13:03 +00:00
moneromooo-monero
9d42649d58
core: fix mining from a block that's not the current top 2020-08-27 15:13:00 +00:00
Sarang Noether
aff87b5f6a Added balance check to MLSAG/CLSAG performance tests 2020-08-27 12:44:04 +00:00
Sarang Noether
f964a92c57 Updated MLSAG and CLSAG tests for consistency 2020-08-27 12:44:04 +00:00
Sarang Noether
5aa1575e91 CLSAG verification performance test 2020-08-27 12:44:04 +00:00
Sarang Noether
641b08c920 CLSAG optimizations 2020-08-27 12:44:04 +00:00
moneromooo-monero
82ee01699c
Integrate CLSAGs into monero
They are allowed from v12, and MLSAGs are rejected from v13.
2020-08-27 12:44:04 +00:00
moneromooo-monero
8cd1d6df8f
unit_tests: add ge_triple_scalarmult_base_vartime test 2020-08-27 12:44:01 +00:00
Sarang Noether
4b328c6616 CLSAG signatures 2020-08-27 12:43:29 +00:00
Alexander Blair
b04da25e4d
Merge pull request #6760
844fb4e94 enforce claiming maximum coinbase amount (moneromooo-monero)
2020-08-27 03:01:28 -07:00
Alexander Blair
bad5d8d6f0
Merge pull request #6690
7175dcb10 replace most boost serialization with existing monero serialization (moneromooo-monero)
2020-08-27 02:54:30 -07:00
Alexander Blair
3f392341e7
Merge pull request #6660
839e1f4ba functional_tests: add p2p functional tests (moneromooo-monero)
2020-08-27 02:53:41 -07:00
moneromooo-monero
839e1f4bab
functional_tests: add p2p functional tests
Tests tx/block propagation and reorgs
2020-08-26 23:00:27 +00:00
moneromooo-monero
844fb4e940
enforce claiming maximum coinbase amount
Claiming a slightly lesser amount does not yield the size gains
that were seen pre rct, so this closes a fingerprinting vector
2020-08-21 12:36:53 +00:00
Lee Clagett
b641e0a2c0 Add clear method to byte_stream 2020-08-17 21:30:34 -04:00
luigi1111
765db1ae7a
Revert "Use domain-separated ChaCha20 for in-memory key encryption"
This reverts commit 921dd8dde5.
2020-08-17 14:08:59 -05:00
moneromooo-monero
7175dcb107
replace most boost serialization with existing monero serialization
This reduces the attack surface for data that can come from
malicious sources (exported output and key images, multisig
transactions...) since the monero serialization is already
exposed to the outside, and the boost lib we were using had
a few known crashers.

For interoperability, a new load-deprecated-formats wallet
setting is added (off by default). This allows loading boost
format data if there is no alternative. It will likely go
at some point, along with the ability to load those.

Notably, the peer lists file still uses the boost serialization
code, as the data it stores is define in epee, while the new
serialization code is in monero, and migrating it was fairly
hairy. Since this file is local and not obtained from anyone
else, the marginal risk is minimal, but it could be migrated
later if needed.

Some tests and tools also do, this will stay as is for now.
2020-08-17 16:23:58 +00:00
Alexander Blair
10ad0d7eb2
Merge pull request #6718
85efc88c1 Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with unit test (koe)
2020-08-16 12:53:50 -07:00
Alexander Blair
01b512f3a9
Merge pull request #6716
76c16822d wallet2_api: implement runtime proxy configuration (xiphon)
2020-08-16 12:52:21 -07:00
Alexander Blair
a08df6eb1b
Merge pull request #6603
4e2377995 Change ZMQ-JSON txextra to hex and remove unnecessary base fields (Lee Clagett)
2020-08-16 12:43:38 -07:00