Commit graph

78 commits

Author SHA1 Message Date
SChernykh
294d1a525e Update check now also checks for connected peer versions 2023-10-09 11:08:51 +02:00
SChernykh
7a65e1feb5 Check for updates in status and version commands 2023-10-08 21:01:50 +02:00
SChernykh
4e55f53fb4 Notify about new P2Pool versions 2023-10-08 18:52:06 +02:00
SChernykh
b922440fc7 Refactored software id code
Show a warning when an unknown software id is seen
2023-09-23 18:04:02 +02:00
SChernykh
887611c9d8 P2Pool: normalized peer list IPv4/IPv6 data 2023-09-09 20:22:43 +02:00
SChernykh
2c5cfb6442 Fixed data races when using uv_async_send 2023-09-04 19:33:31 +02:00
SChernykh
d8bbe2110e P2PServer: fixed a data race when banning peers 2023-09-03 13:15:45 +02:00
SChernykh
76c4573c39 CI: cleanup build warnings
Tests: fixed "unused const variable" warning
CMakeLists.txt: fixed deprecation warnings
2023-08-16 14:20:23 +02:00
SChernykh
e03e7d831e P2PServer: tweaked switching to the fastet peer when syncing 2023-07-10 11:40:48 +02:00
SChernykh
d8ecc1174d P2PServer: refactored BLOCK_NOTIFY logic
- Limit how many block requests can be in flight
- Don't send requests for the same block twice
2023-07-07 12:14:24 +02:00
SChernykh
2f5b0db786 P2PServer: request blocks coming from BLOCK_NOTIFY 2023-07-05 11:42:34 +02:00
SChernykh
8d9f16c387 P2PServer: sanity check message id 2023-07-04 16:47:14 +02:00
SChernykh
d6cb0ee8a0 P2PServer: avoid unnecessary block broadcasts 2023-07-04 16:06:01 +02:00
SChernykh
e5bf27030d Rate limit peer list requests
Send an empty response if the request comes too soon
2023-06-29 18:20:07 +02:00
SChernykh
b5fa34e1a1 Added support for multiple Monero hosts
Switch to the next host in list when P2Pool thinks current host is stuck or lagging
2023-06-18 12:56:27 +02:00
SChernykh
689fa14cfd Fixed cppcheck errors 2023-05-10 10:35:23 +02:00
SChernykh
c94b627808 TCPServer: use /64 prefix to ban IPv6 peers 2023-04-27 10:28:32 +02:00
SChernykh
8bf045974f BlockTemplate code refactoring
- Moved block constants to one place
- Tuned block template max transaction limiter
2023-04-21 11:13:48 +02:00
SChernykh
6e258bb210 Refactored TCPServer to reduce code duplication 2023-04-19 16:37:32 +02:00
SChernykh
3697c079fa Fixed cppcheck error 2023-03-27 11:47:48 +02:00
SChernykh
2e6041dcf5 P2PServer: add local api data 2023-03-27 11:16:57 +02:00
SChernykh
b6c1b1a6d7 P2PServer: log time it took to relay a block 2023-03-21 11:22:48 +01:00
SChernykh
19cc044cab Added UPnP port forwarding 2023-03-19 23:02:09 +01:00
SChernykh
12a011a9ff TCPServer: removed unnecessary mutex 2023-02-27 15:59:42 +01:00
SChernykh
1c908c261d TCPServer: refactored memory allocation 2023-02-17 08:47:52 +01:00
SChernykh
b346b93285 Updated copyright 2023-01-04 13:07:55 +01:00
SChernykh
da12b329be Check the block id returned by BLOCK_RESPONSE 2022-12-14 14:24:09 +01:00
SChernykh
3902612c4b P2PServer: show more data for connected peers 2022-12-09 11:31:05 +01:00
SChernykh
3e4f877ec0 Display software name in peers list 2022-12-02 15:43:20 +01:00
SChernykh
7eec4d742c P2PServer: removed an unnecessary lock 2022-11-22 09:57:50 +01:00
SChernykh
da9cdf7df3 Send our P2Pool version to other peers 2022-11-10 14:31:02 +01:00
SChernykh
25806b67a2 Added protocol version negotiation
Protocol version 1.1: compact block broadcasts
2022-11-09 22:56:12 +01:00
SChernykh
47ff7e228e Added code to deserialize compact blobs 2022-11-09 16:21:31 +01:00
SChernykh
c135787620 Prepare compact blob for block broadcasts
Reference transactions by index in the parent block instead of storing full 32 bytes per transaction
2022-11-09 12:40:45 +01:00
SChernykh
74b5ab1798 Force update block template after 30 seconds
To get new transactions in
2022-11-04 07:47:07 +01:00
SChernykh
732190bb11 P2PServer: sanity check for timestamps 2022-11-03 08:51:06 +01:00
SChernykh
65a9574e52 Added --p2p-external-port command line parameter 2022-10-28 14:06:26 +02:00
SChernykh
fd6b2360aa Fix: uv_close was called from wrong thread 2022-10-07 16:02:08 +02:00
SChernykh
38a6d3e549 Limit max in/out peers to 450
To avoid hitting default open files limit (1024)
2022-09-20 10:39:55 +02:00
SChernykh
afa9cf371e P2PServer: sync from the fastest peer if possible 2022-09-13 10:51:15 +02:00
SChernykh
86156f3fec SOCKS5 proxy support 2022-09-03 22:35:38 +02:00
SChernykh
c5bd184bbc P2PServer: don't deserialize the same block twice 2022-07-10 10:24:03 +02:00
SChernykh
9e7666d12f Fixed data races 2022-05-28 21:46:50 +02:00
SChernykh
b2f86a5f6b Ban peers with stuck or lagging monerod 2022-04-23 11:29:17 +02:00
SChernykh
a2afa29052 Updated copyright 2022-03-30 14:42:26 +02:00
SChernykh
028a5d0c88 Fixed memory leak after loading block cache 2022-03-24 18:30:23 +01:00
SChernykh
aada1bb5cc Use chrono::steady_clock for internal timestamps 2022-03-23 11:30:38 +01:00
SChernykh
c21d052d7a Refactored RNG usage across the code 2022-03-17 16:14:29 +01:00
SChernykh
2209e0cc70 P2PServer: relaxed peer list request restriction 2022-02-22 11:06:12 +01:00
SChernykh
9a09d15bea P2PServer: use high_resolution_clock for ping time 2022-02-21 18:46:53 +01:00