211 Commits

Author SHA1 Message Date
orignal
f7c33b3995 fixed typo 2026-03-27 13:37:07 -04:00
orignal
54ea2be8e0 don't select non-connected peer for first hop if too many connection from that subnet 2026-03-26 21:09:41 -04:00
orignal
8f24f0043d mutex for m_ConnectedNetworks 2026-03-26 16:26:03 -04:00
orignal
a5341687ec subnet for yggdrasil addreses 2026-03-24 21:29:17 -04:00
orignal
7cfddc2ea0 don't select peer for first hop if too many connection from that subnet 2026-03-24 20:36:49 -04:00
orignal
ade3b45495 count sessions from same network 2026-03-23 21:33:50 -04:00
parsebulb
39de43dfed Don't preserve session lifetime in handlers
This is an issue because i2pd does not wait for all handlers queued for
execution inside io_context to execute before it's destroyed. Because
these handlers preserve lifetime of IO objects via a shared pointer we
get into a situation where destroying io_context will invoke destructors
on those IO objects which in turn will attempt to access io_context and
the app will crash.

More info here https://github.com/PurpleI2P/i2pd/issues/2354
2026-03-17 13:51:57 +01:00
orignal
bc2cdd6c01 update published pq param from config 2026-03-12 20:46:06 -04:00
orignal
eb5a808232 handle ssu2.version in config and pq in SSU2 address in RouterInfo 2026-03-12 20:26:29 -04:00
Benson Muite
73623a4793 Replace deadline_timer by steady_timer
Prevent deprecation warnings when building.
2026-03-06 10:55:47 +03:00
orignal
42f07ad6ed send RouterInfo block instead I2NP DatabaseStore after incoming connect 2026-02-19 20:04:20 -05:00
orignal
5860a09108 allow ipv6 through proxy even if local clearnet ipv6 is not available 2026-02-11 14:41:12 -05:00
orignal
07dedc5201 update peer perams from RouterInfo block 2026-02-10 14:18:01 -05:00
orignal
d9bba1c7b5 don't build tunnels through connected E routers 2026-02-10 13:22:49 -05:00
orignal
de0c5c042a don't communicate with low bandwidth routers of version < 0.9.58 2026-02-08 10:45:47 -05:00
orignal
a34e699c0e fixed typo 2026-02-06 15:15:42 -05:00
orignal
9080fcfa4d ban by IP list 2026-02-06 12:58:16 -05:00
orignal
60cc526dda common code to extract routers hashes from param 2026-01-15 19:51:51 -05:00
orignal
1caadf2a3a use std::array instead std::vector for priority 2026-01-12 19:15:05 -05:00
orignal
a4839bf2be handle ntcp2.version param in config 2026-01-08 19:56:09 -05:00
orignal
d4ec15361f 1 sec more to mark a tunnel slow if proxy 2025-12-11 15:23:39 -05:00
orignal
7bc7cdec36 don't run peer test if limited connectivity 2025-11-18 13:35:32 -05:00
orignal
a52f619d6a implement stan mode 2025-11-17 21:46:32 -05:00
orignal
d280190822 check if local ipv6 clearnet address is presented 2025-09-20 16:32:16 -04:00
orignal
972c6854bc don't delete trusted routers from netdb 2025-03-10 13:43:21 -04:00
orignal
66a52a17c6 load profile for SSU2 priority only 2025-03-06 16:26:02 -05:00
orignal
e8f5efd156 peers cleanup time variance 2025-02-01 09:42:44 -05:00
orignal
1bb5ad22af use std::mt19937 for random. Peer test interval variance 2025-01-23 19:20:20 -05:00
orignal
1e7254dfaa don't delete router's buffer if an update received or connecting 2025-01-22 13:25:11 -05:00
orignal
ca0818af7e drop buffer upon peer disconnect 2025-01-22 12:00:37 -05:00
orignal
2857a163e9 check last endpoint only if profile is in memory. postpone profile update when connected 2025-01-21 15:03:25 -05:00
orignal
3995448014 fixed possible crash at shutdown 2024-12-19 14:24:26 -05:00
orignal
e76d09e1a1 send tunnel participant data to transport session directly. Implemented TunnelTransportSender 2024-12-15 18:03:31 -05:00
orignal
56145d0f3c bind tunnel gateway to transport session 2024-11-28 21:56:26 -05:00
orignal
ffd18baf30 support boost 1.87 2024-11-25 16:00:06 -05:00
orignal
3474538697 replaced boost::asio::io_service by boost::asio:io_context 2024-11-25 10:08:27 -05:00
orignal
29d77113cc memory pool for x25519 keys 2024-11-02 11:20:23 -04:00
orignal
b8d61e04f0 generate x25519 keys more often 2024-11-01 14:46:13 -04:00
orignal
2419f52af4 fixed potential race condition 2024-10-31 15:01:19 -04:00
orignal
b2a10ac82b don't update found router again in RequestComplete 2024-10-30 22:00:12 -04:00
orignal
9bc595a9a2 eliminate extra copy 2024-10-29 08:41:59 -04:00
orignal
4c90a88b85 eliminate extra copy of I2NP messages list 2024-10-28 21:10:30 -04:00
orignal
23e66671c2 intermediate queue for transport sessions. use std::list instead std::vector for multiple I2NP messages 2024-10-28 20:36:50 -04:00
orignal
500afe745f use min hole punch interval for connection attempts 2024-10-24 18:49:11 -04:00
orignal
26901e2945 try recently connected SSU2 address if no other transports found 2024-10-23 20:39:00 -04:00
orignal
8d1c186665 limited connectivity mode 2024-09-07 16:25:26 -04:00
orignal
e7423b1ffc save timestamp from epoch instead local time to profiles 2024-08-25 19:07:01 -04:00
orignal
3720a5fce3 don't select same peer too often 2024-08-19 15:51:56 -04:00
orignal
0df895b6a7 check minimal router version for connected peer selection 2024-08-19 14:39:07 -04:00
orignal
32ab95478e check crypto type and congestion of connected peer for tunnel 2024-08-18 18:34:28 -04:00