Commit graph

390 commits

Author SHA1 Message Date
luigi1111
3d2a50a5c0
Merge pull request #7055
ff7fdf6 protocol: drop peers that don't reply to queries (moneromooo-monero)
89e984d keep only the last seen node on a given host in the white list (moneromooo-monero)
c74d8ff protocol: drop peers that decrease claimed height (moneromooo-monero)
61f5001 protocol: add scoring system to drop peers that don't behave (moneromooo-monero)
2020-12-07 10:07:33 -06:00
Alexander Blair
7ca4ef0d74
Merge pull request #7068
2395e0e67 p2p: add a tor seed node (moneromooo-monero)
2020-12-04 13:28:02 -08:00
Alexander Blair
1eae7574b5
Merge pull request #7017
13350f79d Do not use peer_id tracking method over i2p/tor (Lee Clagett)
2020-12-04 13:21:13 -08:00
moneromooo
89e984d93b
keep only the last seen node on a given host in the white list 2020-12-04 01:55:22 +00:00
moneromooo-monero
2395e0e678
p2p: add a tor seed node 2020-12-03 23:45:38 +00:00
Alexander Blair
e78669257e
Merge pull request #7056
c64b94bd1 p2p: fix endianness when checking IPv6 addresses mapping to IPv4 (moneromooo-monero)
67f2bec2d p2p: make this work with boost <= 1.65 (pffff) (moneromooo-monero)
ffdf1fb1d p2p: rewrite boost's make_address_v4 to cater for < 1.66 (moneromooo)
2020-12-03 12:19:15 -08:00
Alexander Blair
84bae315f8
Merge pull request #6984
7a5e11645 net_node: add tor / i2p seed nodes (selsta)
2020-12-03 12:17:44 -08:00
moneromooo-monero
c64b94bd14
p2p: fix endianness when checking IPv6 addresses mapping to IPv4 2020-12-03 00:31:32 +00:00
moneromooo-monero
67f2bec2df
p2p: make this work with boost <= 1.65 (pffff) 2020-12-03 00:31:32 +00:00
moneromooo
ffdf1fb1de
p2p: rewrite boost's make_address_v4 to cater for < 1.66 2020-12-03 00:31:29 +00:00
moneromooo
6c9980a55b
p2p: give all hosts the same chance of being picked for connecting
even if some run more than one node
2020-11-29 15:55:58 +00:00
selsta
7a5e11645f
net_node: add tor / i2p seed nodes
Co-authored-by: Lee Clagett <code@leeclagett.com>
2020-11-29 13:49:03 +01:00
luigi1111
ad843541d5
Merge pull request #7008
3247f11 Silence stupid warnings (Howard Chu)
2020-11-29 01:57:24 -06:00
luigi1111
9a4d813136
Merge pull request #6943
cb069d0 p2p: remove banned peers from the white list (moneromooo-monero)
2020-11-29 01:51:41 -06:00
luigi1111
2be7a4c04f
Merge pull request #6933
1f04a31 p2p: use /16 filtering on IPv4-within-IPv6 addresses (moneromooo-monero)
2020-11-29 01:46:46 -06:00
luigi1111
c5b3fd1fec
Merge pull request #6920
aad2f87 net_node: add --ban-list option (selsta)
2020-11-29 01:38:27 -06:00
luigi1111
52006df9bb
Merge pull request #6897
2abdbf6 Add support for i2p and tor seed nodes (vtnerd)
2020-11-29 00:42:27 -06:00
Howard Chu
91fd634768
Better log message for unusable anon networks 2020-11-16 12:36:37 +00:00
Howard Chu
3247f11638
Silence stupid warnings 2020-11-11 02:34:14 +00:00
moneromooo-monero
1f04a3186b
p2p: use /16 filtering on IPv4-within-IPv6 addresses
IPv6 addresses include a range that can map IPv4 addresses,
which allowed those mapped addresses to bypass filtering.

This filter should be replaced by AS filtering at some point.
2020-11-03 00:46:07 +00:00
moneromooo
cb069d0a42
p2p: remove banned peers from the white list 2020-10-27 22:35:14 +00:00
selsta
aad2f87a53
net_node: add --ban-list option 2020-10-20 19:39:44 +02:00
Lee Clagett
2abdbf63cf Add support for i2p and tor seed nodes 2020-10-19 13:13:07 +00:00
Lee Clagett
13350f79df Do not use peer_id tracking method over i2p/tor 2020-10-15 16:47:59 +00:00
xiphon
a12a8174e0 Dandelion++: skip desynced peers in stem phase 2020-10-12 13:44:06 +00: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
9414194b1e
Merge pull request #6571
1d31e6c00 net_node: remove dead seed nodes (selsta)
2020-08-05 07:57:54 -07:00
Alexander Blair
a0d179e528
Merge pull request #6512
5ef0607da Update copyright year to 2020 (SomaticFanatic)
2020-07-19 03:32:59 -07:00
Lee Clagett
7aeb503547 Fix boost <1.60 compilation and fix boost 1.73+ warnings 2020-05-31 21:18:11 -04:00
selsta
1d31e6c000
net_node: remove dead seed nodes 2020-05-20 01:06:03 +02:00
SomaticFanatic
5ef0607da6 Update copyright year to 2020
Update copyright year to 2020
2020-05-06 22:36:54 -04:00
luigi1111
8d0f1696df
Merge pull request #6471
c6a1294 add another seed node (Gingeropolous/selsta)
9faf3d1 Add erciccione's seed node (erciccione/selsta)
2020-05-06 00:23:59 -05:00
luigi1111
6e7b883212
Merge pull request #6443
145be6d p2p: startup speedup, init seed nodes on first 'connect_to_seed()' (xiphon)
2020-05-01 15:23:05 -05:00
Gingeropolous
c6a1294b5e
add another seed node
node is funded by random people and managed by me. currently functioning as public node at uwillrunanodesoon.moneroworld.com
2020-04-22 15:43:22 +02:00
erciccione
9faf3d1a72
Add erciccione's seed node 2020-04-22 10:24:40 +02:00
xiphon
145be6dbdb p2p: startup speedup, init seed nodes on first 'connect_to_seed()' 2020-04-21 23:40:04 +00:00
guy
79a1653a07 p2p: add seed node. 2020-04-21 15:35:30 +02:00
luigi1111
97af9649c9
Merge pull request #6372
7b9017f p2p: plug tor to clearnet association vector (Aaron Hook)
2020-04-04 13:09:55 -05:00
moneromooo-monero
21fe6a289b
p2p: fix frequent weak_ptr exception on connection
When a handshake fails, it can fail due to timeout or destroyed
connection, in which case the connection will be, or already is,
closed, and we don't want to do it twice.
Additionally, when closing a connection directly from the top
level code, ensure the connection is gone from the m_connects
list so it won't be used again.

AFAICT this is now clean in netstat, /proc/PID/fd and print_cn.

This fixes a noisy (but harmless) exception.
2020-03-31 20:29:41 +00:00
Alexander Blair
3ed5e7ce9f
Merge pull request #6295
bcae95a2 p2p: do not add recently failed addresses to the peerlist (moneromooo-monero)
2020-03-27 12:30:06 -07:00
Alexander Blair
e160e0b517
Merge pull request #6283
a84131ce p2p: fix off by one adding fallback peers (moneromooo-monero)
2020-03-27 12:19:55 -07:00
Alexander Blair
c038cc8b79
Merge pull request #6280
b818522d p2p: fix spurious warning when we're connected to at last one seed (moneromooo-monero)
2020-03-27 12:17:54 -07:00
Alexander Blair
3baa68bbab
Merge pull request #6279
36bdf402 p2p: fix adding wrong indices to the filtered peer list (moneromooo-monero)
2020-03-27 12:17:07 -07:00
Lee Clagett
02d887c2e5 Adding Dandelion++ support to public networks:
- New flag in NOTIFY_NEW_TRANSACTION to indicate stem mode
  - Stem loops detected in tx_pool.cpp
  - Embargo timeout for a blackhole attack during stem phase
2020-03-26 15:01:30 +00:00
luigi1111
7c74e1919e
Merge pull request #6405
8d23047 p2p: add another seed node (moneromooo-monero)
2020-04-10 16:13:04 -05:00
moneromooo-monero
8d230473ef
p2p: add another seed node
Node from syksy, administered by mooo
2020-03-27 22:51:44 +00:00
Aaron Hook
aa93e38862 p2p: remove old debug commands 2020-03-20 22:09:44 -07:00
moneromooo-monero
bcae95a22e
p2p: do not add recently failed addresses to the peerlist 2020-03-20 15:45:26 +00:00
Alexander Blair
092a57df99
Merge pull request #6243
4771a7ae p2p: remove obsolete local time in handshake (moneromooo-monero)
2fbbc4a2 p2p: avoid sending the same peer list over and over (moneromooo-monero)
3004835b epee: remove backward compatible endian specific address serialization (moneromooo-monero)
39a343d7 p2p: remove backward compatible peer list (moneromooo-monero)
60631802 p2p: simplify last_seen serialization now we have optional stores (moneromooo-monero)
9467b2e4 cryptonote_protocol: omit top 64 bits of difficulty when 0 (moneromooo-monero)
b595583f serialization: do not write optional fields with default value (moneromooo-monero)
5f98b46d p2p: remove obsolete local time from TIMED_SYNC (moneromooo-monero)
2020-03-12 00:32:46 -07:00
Aaron Hook
7b9017f671
p2p: plug tor to clearnet association vector
During the handshake for an incoming connection, the peer id is checked against the local node's peer id only for the specific zone of the incoming peer, in order to avoid linking public addresses to tor addresses:
5d7ae2d279/src/p2p/net_node.inl (L2343)

However, on handshakes for outgoing connections, all zones are checked:
5d7ae2d279/src/p2p/net_node.inl (L1064)

If an attacker wanted to link a specific tor node to a public node, they could potentially connect to as many public nodes as possible, get themselves added to the peer whitelist, maybe stuff some more attacker-owned addresses into the greylist, then disconnect, and for any future incoming connections, respond with the tor node's id in an attempt to link the public/tor addresses.
2020-03-07 18:12:59 +00:00