Commit Graph

389 Commits

Author SHA1 Message Date
jeffro256 059b975388 cryptonote core/protocol: don't drop peers for soft offenses
Also: txs with tx_extra which is too large will not get published to ZMQ

Co-authored-by: SChernykh <sergey.v.chernykh@gmail.com>
2023-03-29 02:07:15 -05:00
Lee Clagett 1bb5d25e31 Fix dandelion++ fluff/stem bug with local txes 2022-10-25 16:01:09 -04:00
SChernykh 802c4bb0e4 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:06:39 +02:00
j-berman 2dab31f62f Don't exclusively drop tor/i2p outgoing cxns in idle loop 2022-05-18 09:54:21 -07:00
Jeffrey 12b1b74d32 Trimming Fat
Remove unused include statements or unused definitions.
2022-04-18 09:55:20 -05:00
luigi1111 bb093ec9a8
Merge pull request #8223
17772ef Eliminate dependence on boost::interprocess #8223 (Jeffrey)
2022-04-06 00:19:59 -04:00
Jeffrey 17772ef53e Eliminate dependence on boost::interprocess #8223
In this repo, `boost::interprocess` was being used soley to make `uint32_t` operations atomic. So I replaced each instance of
`boost::interprocess::ipcdetail::atomic(...)32` with `std::atomic` methods. I replaced member declarations as applicable. For example,
when I needed to change a `volatile uint32_t` into a `std::atomic<uint32_t>`. Sometimes, a member was being used a boolean flag, so
I replaced it with `std::atomic<bool>`.

You may notice that I didn't touch `levin_client_async.h`. That is because this file is entirely unused and will be deleted in PR monero-project#8211.

Additional changes from review:
* Make some local variables const
* Change postfix operators to prefix operators where value was not need
2022-03-30 13:18:32 -05:00
mj-xmr da9aa1f7f8
Copyright: Update to 2022 2022-03-04 06:59:20 +01:00
moneromooo-monero 1f81f5f5c1
protocol: fix spurious rejection of downloaded blocks
when kicking a peer for inactivity, clear the set of requested blocks,
or next time we requests blocks from it, we'll probably reject the
incoming blocks due to missing the previous requested blocks
2021-10-21 20:34:06 +00:00
anon 9154883f3e
node_server: fix race condition 2021-09-20 20:58:23 +00:00
moneromooo-monero d689b946f9
protocol: fix delayed "you are now synchronized..." message 2021-06-21 15:37:40 +00:00
luigi1111 b7ee587ddb
Merge pull request #7691
cbd54ea cmake: set 3.5 as minimum version (selsta)
2021-05-12 16:59:17 -05:00
selsta cbd54ea524
cmake: set 3.5 as minimum version 2021-04-27 11:02:05 +02:00
moneromooo-monero 2b918068cc
protocol: remove unreachable code 2021-04-17 15:22:26 +00: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
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 8c8197463f
Merge pull request #7310
76fe73b Revert 'fix accessing an network address in a deleted context' (selsta)
2021-03-29 21:08:03 -04:00
anon fe632560f4
cryptonote_protocol_handler: fix race condition 2021-03-22 19:42:46 +00: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 2222d90491
Merge pull request #7294
f10c9a1 remove obsolete pruning debug code (moneromooo-monero)
2021-02-15 21:51:12 -05: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
Lee Clagett 679d05567d Remove payload copy in all outgoing p2p messages 2021-01-19 02:22:32 +00: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
Lee Clagett 23aae5571b Remove payload copy in all outgoing p2p messages 2021-01-16 22:53:28 +00:00
luigi1111 1f3f07d0e7
Merge pull request #7236
ab5e185 protocol: fix wrong command in logs (moneromooo-monero)
2021-01-15 23:49:34 -05:00
luigi1111 d259ed0740
Merge pull request #7119
dd5e689 protocol: add calls to reserve where appropriate (moneromooo-monero)
2021-01-15 23:45:25 -05:00
selsta 76fe73b8bd
Revert "fix accessing an network address in a deleted context"
This reverts commit 4e74385a1a.
2021-01-12 12:18:23 +01:00
moneromooo-monero f10c9a16c4
remove obsolete pruning debug code 2021-01-08 15:41:59 +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
luigi1111 69e4a2c62d
Merge pull request #7266
38a6e6e protocol: handle receiving a block hash we've not added yet (moneromooo-monero)
2021-01-06 21:09:03 -05:00
Alexander Blair dbaf95ac77
Merge pull request #7271
4e74385a1 fix accessing an network address in a deleted context (moneromooo-monero)
2021-01-03 18:24:50 -08:00
moneromooo-monero b652d598d1
add a max levin packet size by command type 2021-01-03 14:07:45 +00:00
moneromooo-monero 4e74385a1a
fix accessing an network address in a deleted context
Both drop_connection and add_host_fail can drop the connection,
which invalidates the context, and thus the address it contains.

Thanks to wfaressuissia[m] for lots of help and prodding when
debugging this
2021-01-03 13:04:55 +00:00
moneromooo-monero 38a6e6eb26
protocol: handle receiving a block hash we've not added yet 2021-01-02 22:10:31 +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
Alexander Blair 3bf0721ae6
Merge pull request #7246
0aa541b36 protocol: more sanity checks in new chain block hashes (moneromooo-monero)
2021-01-01 22:33:27 -08:00
moneromooo-monero 0aa541b361
protocol: more sanity checks in new chain block hashes 2020-12-31 23:33:18 +00:00
moneromooo-monero ab5e185140
protocol: fix wrong command in logs
this is not a levin packet, this is just its payload
2020-12-30 21:08:28 +00:00
moneromooo-monero 31c69923ba
protocol: don't reset last request time on an idle timer
this prevents losing time of "idle time" for a peer, which could
otherwise be reset by another timed sync command from the peer
2020-12-30 14:22:10 +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 d61fdebaac
Merge pull request #7188
efe83982d protocol: drop nodes if they claim new data but only give stale data (moneromooo-monero)
2020-12-26 13:43:13 -08: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
moneromooo-monero efe83982d3
protocol: drop nodes if they claim new data but only give stale data
Some joker is spending time actually doing this
2020-12-25 20:30:39 +00:00
Lee Clagett 927141bcc4 Command max_bytes moved from dynamic map to static switch 2020-12-22 20:54:16 +00:00
luigi1111 7ee37e4b38
Merge pull request #7075
f3c0d4f protocol: remove unused (and cunningly uninitialized) field (moneromooo-monero)
8e62362 p2p: ifx getting seed nodes for uncommon cases (moneromooo-monero)
2020-12-19 17:20:29 -06:00
moneromooo-monero 5a1ac9c0ef
rpc: add a busy_syncing field to get_info
true if and pretty much only if new blocks are being added
2020-12-17 18:03:11 +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
moneromooo-monero af0a25544e
protocol: drop peers we can't download anything from in sync mode
instead of the (incorrect) check for whether we think we might have
a user for it at some point in the near future. We can reconnect.
2020-12-16 20:19:52 +00:00