Commit Graph

827 Commits

Author SHA1 Message Date
luigi1111 12489c69cb
Merge pull request #8572
50b7492 unit_tests: suppress memwipe unit warning (Jeffrey Ryan)
2022-12-01 01:01:34 -06:00
Jeffrey Ryan 8687da6276 common: DNSResolver can handle hostnames without dot characters
Unrelated, but similar code-wise to #8643. There is a check in `DNSResolver` which automatically fails to resolve hostnames which do not contain the `.` character. This PR removes that check.
2022-11-21 15:54:23 -06:00
Jeffrey Ryan faaf2af43b p2p: fix exclusive node DNS resolution for certain hosts
Fixes #8633. The function `append_net_address` did not parse hostname + port addresses (e.g. `bar:29080`) correctly if the hostname did not contain a `'.'` character.

@vtnerd comments 1

clear up 2nd conditional statement
2022-11-17 18:55:09 -06:00
Lee Clagett a7bf3aff2c Fix dandelion++ fluff/stem bug with local txes 2022-10-25 16:09:55 -04:00
luigi1111 fc907a9570
Merge pull request #8587
8e7c7af Move update_checkpoints() to a later stage (SChernykh)
2022-09-26 15:00:35 -05:00
luigi1111 0a10a4f870
Merge pull request #8329
4b0785f add an option to force-update multisig key exchange under some circumstances (koe)
2022-09-26 14:46:06 -05:00
SChernykh 8e7c7af05f Move update_checkpoints() to a later stage
update_checkpoints() makes a few DNS requests and can take up to 20-30 seconds to complete (3-6 seconds on average). It is currently called from core::handle_incoming_block() which holds m_incoming_tx_lock, so it blocks all incoming transactions and blocks processing while update_checkpoints() is running. This PR moves it to until after a new block has been processed and relayed, to avoid full monerod locking.
2022-09-22 13:04:50 +02:00
koe 4b0785f1c9 add an option to force-update multisig key exchange under some circumstances 2022-09-21 12:38:35 -05:00
Jeffrey Ryan 50b7492e67 unit_tests: suppress memwipe unit warning
Fixes warning:
```
warning: ‘*(uint32_t*)quux’ may be used uninitialized [-Wmaybe-uninitialized]
   49 |     MDEBUG(std::hex << std::setw(8) << std::setfill('0') << *(uint32_t*)quux);
warning: ‘quux’ may be used uninitialized [-Wmaybe-uninitialized]
   50 |     if (wipe) { ASSERT_TRUE(memcmp(quux, "bar", 3)); }
```
2022-09-16 10:47:00 -05:00
luigi1111 df37c148d4
Merge pull request #8551
eca7f6a Fix segfault restoring encrypted multisig seed (j-berman)
f713c3c Require user ack multisig is experimental to restore (j-berman)
564a7a3 multisig: fix #8537 seed restore (suggestions by @UkoeHB) (j-berman)
2022-09-15 00:34:05 -05:00
j-berman 564a7a31e8 multisig: fix #8537 seed restore (suggestions by @UkoeHB)
- spend secret key is no longer the sum of multisig key shares;
no need to check that is the case upon restore.
- restoring a multisig wallet from multisig info means that the
wallet must have already completed all setup rounds. Upon restore,
set the number of rounds completed accordingly.
2022-09-06 11:59:25 -06:00
Lee Clagett 3987827517 Fix shared_ptr cycle in test_epee_connection.test_lifetime 2022-08-26 20:12:13 -04:00
luigi1111 9df069f4ce
Merge pull request #8426
a82fba4 address PR comments (j-berman)
3be1dbd connection: fix implementation (anon)
724ff21 connection: add segfault and deadlocks demo (anon)
2022-07-15 11:25:11 -04:00
j-berman a82fba4b7b address PR comments 2022-07-08 15:10:03 -07:00
anon 724ff21447 connection: add segfault and deadlocks demo 2022-07-05 22:31:26 -07:00
anon c7b2944f89 multisig: fix critical vulnerabilities in signing 2022-06-30 12:56:40 -05:00
luigi1111 9750e1fa10
Merge pull request #8340
08080df unit_tests: add more sha256sum test cases (Jeffrey Ryan)
a66a52d common: update sha256sum to use OpenSSL 3.0 API (Jeffrey Ryan)
2022-05-26 21:26:42 -05:00
j-berman 2dab31f62f Don't exclusively drop tor/i2p outgoing cxns in idle loop 2022-05-18 09:54:21 -07:00
Jeffrey Ryan 08080df2d9
unit_tests: add more sha256sum test cases 2022-05-18 01:34:20 +02:00
luigi1111 d58ea37a8d
Merge pull request #8302
41da2fe Update copyright to 2022 for Hardfork files (Akrit)
2022-05-10 16:56:39 -05:00
luigi1111 c1625a8928
Merge pull request #8220
0d6ecb1 multisig: add post-kex verification round to check that all participants have completed the multisig address (koe)
2022-05-10 16:41:02 -05:00
koe 0d6ecb1136 multisig: add post-kex verification round to check that all participants have completed the multisig address 2022-04-29 14:04:59 -05:00
Akrit 41da2fe6f3 Update copyright to 2022 for Hardfork files
Update Makefile and LICENSE
2022-04-29 11:12:36 +02:00
Jeffrey 40f02f9d73 Add Include statements 2022-04-18 09:55:20 -05:00
moneromooo-monero b030f20751
Fee changes from ArticMine
https://github.com/ArticMine/Monero-Documents/blob/master/MoneroScaling2021-02.pdf

with a change to use 1.7 instead of 2.0 for the max long term increase rate
2022-04-10 18:13:34 +00:00
moneromooo-monero 9f786f0550
epee: allow copying a rolling_median_t object 2022-04-10 18:13:31 +00:00
luigi1111 c11385591e
Merge pull request #8228
1ce9e9c Remove dead code from parserse_base_utils and fix unit tests (Jeffrey)
2022-04-06 00:22:23 -04:00
luigi1111 0eb1b570b6
Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
moneromooo-monero a0d80b1f95
plug bulletproofs plus into consensus 2022-04-05 18:50:17 +00:00
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