Sarang Noether
bd27debb2d
Bulletproofs+
2022-04-04 08:23:21 +00:00
Jeffrey
1ce9e9cda4
Remove dead code from parserse_base_utils and fix unit tests
...
* Remove `match_string()`, `match_number()`, and `match_word()`
* Remove `match_word_with_extrasymb()` and `match_word_til_equal_mark()`
* Adapt unit test for `match_number()` to `match_number2()`
* Adapt unit test for `match_string()` to `match_string2()`
Note: the unit tests were testing for the old version of the functions, and
the interfaces for these functions changed slightly, so I had to also edit
the tests.
As of writing, this PR has no merge conflicts with #8211
Additional changes during review:
* Explicitly set up is_[float/signed]_val to be changed before each call
* Structify the tests and fix uninitialized variables
2022-03-30 13:29:32 -05:00
mj-xmr
da9aa1f7f8
Copyright: Update to 2022
2022-03-04 06:59:20 +01:00
luigi1111
5eaa4434e8
Merge pull request #7877
...
e08abaa
multisig key exchange update and refactor (koe)
2022-03-02 18:51:54 -05:00
koe
e08abaa43f
multisig key exchange update and refactor
2022-02-22 16:37:42 -06:00
moneromooo-monero
bbe3b276b8
tx_pool: full tx revalidation on fork boundaries
...
avoids mining txes after a fork that are invalid by this fork's
rules, but were valid by the previous fork rules at the time
they were verified and added to the txpool.
2021-11-01 20:56:38 +00:00
luigi1111
45920c36f1
Merge pull request #7874
...
9154883
node_server: fix race condition (anon)
8922f96
node_server: add race condition demo (anon)
2021-10-11 12:56:14 -05:00
luigi1111
e7a1a095ac
Merge pull request #7923
...
5eaedb5
unit_tests: fix use after free in serialization test (moneromooo-monero)
2021-09-23 22:16:38 -05:00
anon
9154883f3e
node_server: fix race condition
2021-09-20 20:58:23 +00:00
anon
8922f96e61
node_server: add race condition demo
2021-09-20 20:58:23 +00:00
mj-xmr
1b7a708fa3
Mac: UT node server fix IP localhost by aliasing
2021-09-12 15:51:14 +02:00
luigi1111
acfe3f8ded
Merge pull request #7828
...
b2c59af
EasyLogging++: new anti-UB test and propagating exception (mj-xmr)
2021-09-09 15:16:06 -04:00
moneromooo-monero
5eaedb51b9
unit_tests: fix use after free in serialization test
2021-09-08 01:03:34 +00:00
luigi1111
82149bfe44
Merge pull request #7818
...
9c8e3e8
unit_tests: fix broken tests (anon)
2021-08-11 22:40:13 -04:00
luigi1111
521b4d9ded
Merge pull request #7809
...
7354ffb
p2p: remove blocked addresses/hosts from peerlist (moneromooo-monero)
2021-08-11 22:35:15 -04:00
moneromooo-monero
7354ffb8a7
p2p: remove blocked addresses/hosts from peerlist
2021-08-05 17:29:25 +00:00
mj-xmr
b2c59af84d
EasyLogging++: new anti-UB test and propagating exception
2021-08-03 17:10:21 +02:00
anon
9c8e3e832e
unit_tests: fix broken tests
...
boosted_tcp_server: check condition before sleep too
cryptonote_protocol_handler: each instance of BlockchainLMDB requires separate thread due to private thread local fields
2021-07-28 13:38:24 +00:00
mj-xmr
5e6762d459
EasyLogging++: Add UTests, that protect against regressions
2021-07-06 06:50:52 +02:00
moneromooo-monero
4251cc0b4d
unit_tests: check for ge_frombytes_vartime failure
...
CID 1446559
2021-06-11 07:51:45 +00:00
luigi1111
7499837a6f
Merge pull request #7661
...
08e4497
Improve cryptonote (block and tx) binary read performance (Lee Clagett)
2021-06-10 12:00:54 -05:00
luigi1111
342f8c8b97
Merge pull request #7690
...
3cc4428
clang: fix -Wpessimizing-move warning (selsta)
2021-05-12 16:58:34 -05:00
selsta
3cc4428d45
clang: fix -Wpessimizing-move warning
2021-04-28 11:33:37 +02:00
selsta
451b5a510e
clang: fix -Wrange-loop-analysis warnings
2021-04-27 05:30:27 +02:00
luigi1111
0a1ddc2eff
Merge pull request #7669
...
679d055
Remove payload copy in all outgoing p2p messages (Lee Clagett)
2021-04-22 01:51:01 -04:00
mj-xmr
dc81e23e60
Split epee/string_tools.h and encapsulate boost::lexical_cast
2021-04-16 20:54:20 +02:00
luigi1111
e45619e61e
Revert "Merge pull request #7136 "
...
This reverts commit 63c7ca07fb
, reversing
changes made to 2218e23e84
.
2021-04-16 13:52:44 -05:00
luigi1111
d544fd0f52
Merge pull request #7653
...
73d3b00
unit_tests: fix boost 1.58 compatibility (anon)
2021-04-16 12:52:42 -05:00
luigi1111
63c7ca07fb
Merge pull request #7136
...
23aae55
Remove payload copy in all outgoing p2p messages (Lee Clagett)
2021-04-16 12:45:30 -05:00
anon
73d3b00b35
unit_tests: fix boost 1.58 compatibility
2021-04-08 11:45:27 +00:00
luigi1111
4834bd8aa0
Merge pull request #7646
...
176cea0
Tests: Fix test node_server.bind_same_p2p_port from randomly crashing (mj-xmr)
2021-04-06 12:25:00 -05:00
luigi1111
1475236810
Merge pull request #7639
...
53683d7
Warnings: fix ut/levin.cpp missing braces (mj-xmr)
2021-04-06 12:24:29 -05:00
mj-xmr
176cea0ec6
Tests: Fix test node_server.bind_same_p2p_port from randomly crashing
2021-04-05 17:36:13 +02:00
luigi1111
b12e195fba
Merge pull request #7620
...
fe63256
cryptonote_protocol_handler: fix race condition (anon)
ded2f3a
cryptonote_protocol_handler: add race condition demo (anon)
2021-03-29 21:55:11 -04:00
luigi1111
a2b046dafc
Merge pull request #7460
...
2935a0c
async_protocol_handler_config: fix deadlock (anon)
c877705
async_protocol_handler_config: add deadlock demo (anon)
2021-03-29 21:46:29 -04:00
mj-xmr
53683d7f90
Warnings: fix ut/levin.cpp missing braces
2021-03-27 09:26:44 +01:00
anon
ded2f3aa85
cryptonote_protocol_handler: add race condition demo
2021-03-22 19:42:46 +00:00
luigi1111
7bf89dcbd3
Merge pull request #7005
...
249eae5
Allow byte_stream->byte_slice conversion to shrink unused buffer space (Lee Clagett)
2021-03-20 01:35:13 -04:00
luigi1111
8d7c1135b8
Merge pull request #6810
...
19b2283
New add_aux_pow RPC to support merge mining (moneromooo-monero)
2021-03-20 01:33:10 -04:00
anon
c877705a53
async_protocol_handler_config: add deadlock demo
2021-03-12 11:59:06 +00:00
anon
1b51d398fb
async_protocol_handler_config: add segfault demo
2021-02-19 22:27:28 +00:00
luigi1111
6556c33f13
Merge pull request #7355
...
bd12984
Remove copies from foreach loops (thanks to Clang) (Lee Clagett)
1572df9
Removing unused namespace alias (Lee Clagett)
2021-02-18 14:06:47 -05:00
luigi1111
906a62c6b2
Merge pull request #7352
...
a60d3d8
unit_tests: fix wipeable_string parse_hexstr test with latest gtest (xiphon)
2021-02-18 14:05:58 -05:00
luigi1111
ce5800a225
Merge pull request #7346
...
85db173
Remove unused variables in monero codebase (Kevin Barbour)
2021-02-18 14:03:31 -05:00
luigi1111
9f6dcbd568
Merge pull request #7308
...
df2f00f
boosted_tcp_server: fix connection lifetime (anon)
3833624
boosted_tcp_server: add segfault demo (anon)
2021-02-15 21:53:43 -05:00
moneromooo-monero
19b228393f
New add_aux_pow RPC to support merge mining
2021-02-09 11:58:21 +00:00
Kevin Barbour
85db1734e7
Remove unused variables in monero codebase
...
There are quite a few variables in the code that are no longer
(or perhaps never were) in use. These were discovered by enabling
compiler warnings for unused variables and cleaning them up.
In most cases where the unused variables were the result
of a function call the call was left but the variable
assignment removed, unless it was obvious that it was
a simple getter with no side effects.
2021-02-09 08:05:05 +01:00
mj-xmr
dc48de74e8
Reduce compilation time of epee/portable_storage.h
2021-02-06 08:18:42 +01:00
Lee Clagett
bd129849f0
Remove copies from foreach loops (thanks to Clang)
2021-01-28 23:42:40 -05:00
xiphon
a60d3d8ff7
unit_tests: fix wipeable_string parse_hexstr test with latest gtest
...
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973196
2021-01-27 13:04:08 +00:00
Lee Clagett
08e4497c6e
Improve cryptonote (block and tx) binary read performance
2021-01-23 06:23:39 +00:00
anon
3833624ab1
boosted_tcp_server: add segfault demo
2021-01-19 18:15:30 +01:00
Lee Clagett
679d05567d
Remove payload copy in all outgoing p2p messages
2021-01-19 02:22:32 +00:00
Lee Clagett
23aae5571b
Remove payload copy in all outgoing p2p messages
2021-01-16 22:53:28 +00:00
Alexander Blair
747699541e
Merge pull request #7285
...
927141bcc
Command max_bytes moved from dynamic map to static switch (Lee Clagett)
2021-01-07 17:54:02 -08:00
Lee Clagett
927141bcc4
Command max_bytes moved from dynamic map to static switch
2020-12-22 20:54:16 +00:00
moneromooo-monero
b652d598d1
add a max levin packet size by command type
2021-01-03 14:07:45 +00:00
Alexander Blair
16c780d568
Merge pull request #7250
...
61b6e4cc6
Add aggressive restrictions to pre-handshake p2p buffer limit (Lee Clagett)
2021-01-01 22:35:59 -08:00
moneromooo-monero
0aa541b361
protocol: more sanity checks in new chain block hashes
2020-12-31 23:33:18 +00:00
moneromooo-monero
bcdc6c62b7
protocol: fix false positives dropping peers
...
it'd trigger on reorgs
2020-12-27 14:41:19 +00:00
luigi1111
025db3d2b4
Revert "Reject existing claimed blocks in sync mode"
2020-12-27 00:18:05 -05:00
Alexander Blair
609dbe6b92
Merge pull request #7154
...
cf7e1571d
protocol: reject claimed block hashes that already are in the chain (moneromooo-monero)
af0a25544
protocol: drop peers we can't download anything from in sync mode (moneromooo-monero)
2020-12-26 13:40:36 -08:00
Lee Clagett
187b4d7521
Restrict duplicate keys in epee binary format
2020-12-20 03:47:32 +00:00
moneromooo-monero
cf7e1571d3
protocol: reject claimed block hashes that already are in the chain
2020-12-17 02:54:02 +00:00
Lee Clagett
61b6e4cc67
Add aggressive restrictions to pre-handshake p2p buffer limit
2020-12-17 00:36:10 +00:00
Lee Clagett
4978f69d7a
Fix byte_stream::put_n
2020-12-14 14:45:24 -05:00
Alexander Blair
28e5e42986
Merge pull request #7110
...
d660f22ed
protocol: drop origin IP if a block fails to verify in sync mode (moneromooo-monero)
2020-12-10 17:41:59 -08:00
Alexander Blair
1e9483a2d5
Merge pull request #7009
...
7414e2bac
Change epee binary output from std::stringstream to byte_stream (Lee Clagett)
2020-12-10 17:34:50 -08:00
Alexander Blair
6bddd54f9d
Merge pull request #7003
...
08eb0949f
Change to more efficient allocation strategy in byte_stream (Lee Clagett)
2020-12-10 17:33:50 -08:00
moneromooo-monero
d660f22ed1
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-10 21:59:18 +00:00
luigi1111
36d31ba0be
Merge pull request #7018
...
a9cd5d9
cryptonote_core: dandelion - use local height or median height if syncing (xiphon)
2020-11-29 01:58:13 -06:00
luigi1111
c041550ffa
Merge pull request #6973
...
be84f67
Switch to Dandelion++ fluff mode if no out connections for stem mode (Lee Clagett)
2020-11-29 01:54:43 -06:00
luigi1111
7a0334742a
Merge pull request #6937
...
8a282f6
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 (mj-xmr)
2020-11-29 01:49:39 -06:00
luigi1111
450f1325ab
Merge pull request #6856
...
db70af1
Unit Tests: Remove block reward upper bound size checks (TheCharlatan)
2020-11-28 22:35:07 -06:00
xiphon
a9cd5d914e
cryptonote_core: dandelion - use local height or median height if syncing
2020-11-25 01:27:42 +00:00
Howard Chu
91fd634768
Better log message for unusable anon networks
2020-11-16 12:36:37 +00:00
Lee Clagett
be84f678b9
Switch to Dandelion++ fluff mode if no out connections for stem mode
2020-11-03 13:58:14 -05:00
mj-xmr
8a282f64c9
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-10-28 20:08:26 +01:00
Lee Clagett
08eb0949f3
Change to more efficient allocation strategy in byte_stream
2020-10-13 15:10:54 +00:00
Lee Clagett
249eae5f4a
Allow byte_stream->byte_slice conversion to shrink unused buffer space
2020-10-13 15:09:18 +00:00
xiphon
a12a8174e0
Dandelion++: skip desynced peers in stem phase
2020-10-12 13:44:06 +00:00
Lee Clagett
7414e2bac1
Change epee binary output from std::stringstream to byte_stream
2020-10-10 15:28:40 +00:00
TheCharlatan
db70af1bbc
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-10-03 02:32:17 +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
Alexander Blair
44cd8a13ec
Merge pull request #6769
...
b641e0a2c
Add clear method to byte_stream (Lee Clagett)
2020-08-27 12:05:16 -07: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
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
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
Alexander Blair
009ca6fcd3
Merge pull request #6601
...
98c151ecb
Optimize ZMQ-JSON vector reading; GetBlocksFast reads 24%+ faster (Lee Clagett)
60627c9f2
Switch to insitu parsing for ZMQ-JSON; GetBlocksFast reads 13%+ faster (Lee Clagett)
fe96e66eb
Fix pruned tx for ZMQ's GetBlocksFast (Lee Clagett)
2020-08-16 12:43:11 -07:00
Alexander Blair
6d29ee6c52
Merge pull request #6493
...
921dd8dde
Use domain-separated ChaCha20 for in-memory key encryption (Sarang Noether)
2020-08-16 12:39:59 -07:00
Alexander Blair
13549d590e
Merge pull request #6329
...
6bfcd3101
Updates InProofV1, OutProofV1, and ReserveProofV1 to new V2 variants that include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests. (Sarang Noether)
2020-08-16 12:37:43 -07:00
Lee Clagett
4e2377995d
Change ZMQ-JSON txextra to hex and remove unnecessary base fields
2020-08-14 23:01:00 +00:00