Commit Graph

2246 Commits

Author SHA1 Message Date
Vort
a703d31893 don't double initial RTO 2024-03-19 10:48:42 +02:00
Vort
4f8f3a386f restart stream resend timer after updating initial RTO 2024-03-19 09:21:57 +02:00
Vort
83f0b9c041 extract single RTT sample from stream ACK 2024-03-19 09:21:43 +02:00
Vort
cf77be0eeb add lower limit for stream RTO 2024-03-19 06:37:21 +02:00
Vort
e7ff15c573 exclude resent stream packets from RTT calculations 2024-03-16 20:55:49 +02:00
orignal
161ff3579b don't delete new session with same router hash from sessions-by-hash table 2024-03-15 20:12:47 -04:00
orignal
f2085ecc8d fixed warning 2024-03-15 19:17:25 -04:00
Vort
d74033dd2b tune RTT calculations 2024-03-15 09:06:33 +02:00
Vort
0236769134 lower SSU2 resend traffic spikes 2024-03-14 19:41:16 +02:00
orignal
530a078535 don't request temination if session was not established 2024-03-13 13:56:10 -04:00
Vort
08cc256c54 fix typo in message expiration check 2024-03-13 16:41:01 +02:00
orignal
6432963294
Merge pull request #2037 from vovasty/fs_ios_simulator_fix
fix HashedStorage::Init exceptions in ios simulator.
2024-03-11 14:55:16 -04:00
Vlad Solomenchuk
59beb5e4e4 fix TARGET_OS_SIMULATOR check 2024-03-11 11:29:41 -07:00
Vort
2d06c0cbe6 add expiration for messages in SSU2 send queue 2024-03-09 19:09:05 +02:00
Vlad Solomenchuk
51446f0324 fix FS::HashedStorage::Init exceptions in ios simulator. 2024-03-08 10:23:51 -08:00
orignal
66d0b7aec4 correct publication verification for encrypted LeaseSet 2024-03-07 10:25:10 -05:00
orignal
92b49fb969 clear excluded floodfills after successive publishing 2024-03-06 21:01:17 -05:00
orignal
17dd5c1285 publish encrypted leaset on floodfill closest to store hash 2024-03-06 18:36:01 -05:00
Vort
3ceb64db2e 1. Use EWMA for stream RTT estimation;
2. Drop window size by 10% instead of 50% in case of resend.

Change is based on code by onon.
2024-03-06 15:06:04 +02:00
orignal
bb702700f7 don't check session for single tag 2024-03-06 07:17:59 -05:00
orignal
ff3fec9a00 remove tag immediately after use 2024-03-05 10:30:01 -05:00
orignal
3873e60cbb try to send database store reply directly to IBGW 2024-03-04 14:30:49 -05:00
orignal
2dbf094433 try to send lookup reply directly to IBGW 2024-03-04 13:34:57 -05:00
Vort
98543af92b fix high latency threshold 2024-03-04 13:41:50 +02:00
orignal
af0d853ccd some cleanup 2024-03-03 10:28:25 -05:00
orignal
20a5e19ea1 don't request banned router 2024-03-03 09:56:11 -05:00
orignal
f1058410fb don't request banned router 2024-03-03 07:42:39 -05:00
orignal
6ba42a0912 check if established peer test session has the same address type 2024-03-02 18:17:56 -05:00
orignal
1292ec67c0 check if remote router supports peer test 2024-03-02 18:02:55 -05:00
orignal
2f2f14e3a7 try publishing again after 5 seconds if no tunnels in the pool 2024-03-02 11:26:41 -05:00
orignal
edd9dd2c39 try to publish again after 5 seconds if destination is not ready 2024-03-02 10:57:01 -05:00
orignal
f8722f17c6 pick peer test session only if Charlie's address supports peer testing 2024-03-01 21:59:52 -05:00
orignal
38cc01e13d check own peer test cap for peer test msg 2 2024-03-01 14:33:11 -05:00
orignal
6ca266ff3b reject peer test msg 2 if peer testing is not supported 2024-03-01 14:03:13 -05:00
orignal
b9773c88e4 don't set test failed state to expiring tunnels 2024-03-01 12:45:21 -05:00
orignal
3311fe62bb fixed potential race condition with tunnel tests 2024-03-01 08:03:40 -05:00
Vort
e5f75eb61c log would_block error at info level 2024-02-29 16:12:51 +02:00
Vort
89f9bec49a derive SSU2 socket buffer size from bandwidth limit 2024-02-29 16:02:43 +02:00
Vort
f3c052ed0c write SSU2 socket buffer sizes to log 2024-02-29 10:27:52 +02:00
Vort
aa1de7fe94 enable non-blocking mode for UDP sockets 2024-02-28 18:55:28 +02:00
orignal
ca45fe73e9 never delete conneted router from netdb 2024-02-27 16:10:17 -05:00
orignal
a8af683643 renamed steady to monotonic 2024-02-27 12:33:07 -05:00
orignal
b86c83a068 encrypt tunnel tests for ElGamal-only destinations 2024-02-27 11:47:32 -05:00
orignal
6656ef3c8d correct clock for non-encrypted tunnel tests 2024-02-27 09:02:26 -05:00
orignal
6898d04a1d send tunnel test mesaage only if encrypted 2024-02-27 08:30:31 -05:00
Vort
3d03732555 add tunnel test message 2024-02-27 11:08:14 +02:00
Vort
d6d440ba8a allow 0ms latency for tunnel 2024-02-26 05:57:28 +02:00
orignal
821a76a7c5 flush IBGW if tunnel build request OBEP is on the same router 2024-02-25 09:15:08 -05:00
orignal
a1dce017f4 allow tunnel endpoint to send tunnel build reply to itself 2024-02-24 11:40:43 -05:00
orignal
78af34237e reduce session termination timeout 2024-02-23 19:22:49 -05:00
orignal
8874ea8033 fixed typo 2024-02-23 18:06:31 -05:00
orignal
6bd1ee36f7 fixed typo 2024-02-23 16:09:32 -05:00
orignal
f07c4bd1dd drop transit tunnel if next ident is ours 2024-02-23 15:24:52 -05:00
orignal
8524a67895 fail last tunnel if tunnel quantity is 1 2024-02-23 12:32:21 -05:00
orignal
43d880752e Merge branch 'openssl' of https://github.com/PurpleI2P/i2pd into openssl 2024-02-23 11:37:52 -05:00
orignal
d4246edb82 don't fail last tunnel 2024-02-23 11:37:09 -05:00
Vort
5415598f60 add zero check to congestion level calculations 2024-02-22 21:50:05 +02:00
orignal
7d73c304b5 Extend transit tunnels limit to 4 bytes. Bump default value to 10K 2024-02-22 14:22:11 -05:00
orignal
d25206abce encrypted tunnel test messages 2024-02-21 19:46:29 -05:00
orignal
36a060d50f Consider 'M' routers as low bandwidth 2024-02-21 12:37:33 -05:00
Vort
d524105727 skip bandwidth updates in case of time going backwards 2024-02-20 23:27:31 +02:00
Vort
b092e712ec make more attempts to select not bad hop 2024-02-20 19:05:19 +02:00
Vort
19e23b34da add constants for congestion levels 2024-02-20 10:30:05 +02:00
orignal
f2b720617c
Merge pull request #2016 from Vort/medium_congestion2
implement medium congestion indication
2024-02-19 19:13:12 -05:00
Vort
d677d67676 implement medium congestion indication 2024-02-19 21:36:38 +02:00
orignal
7e3157b162 don't process packet in terminated stream 2024-02-18 21:28:06 -05:00
orignal
2b6a95cbee don't check session for symmetric key tagset. re-create tags hash if too many used tags 2024-02-16 21:30:40 -05:00
orignal
900153765a move router's tags cleanup to router's thread 2024-02-16 18:56:04 -05:00
orignal
441e847de8 don't try to decrypt dulpicate message 2024-02-16 14:49:12 -05:00
orignal
6439e227f6 consider test failed state as established. Delete failed tunnels sooner 2024-02-15 19:29:33 -05:00
orignal
def404b61a skip failed and expiring tunnels for peer tests 2024-02-14 22:19:07 -05:00
orignal
d8be5b8ce1 fixed warning 2024-02-14 21:58:03 -05:00
orignal
dddbca6ffb common rng for random shuffle 2024-02-14 21:35:41 -05:00
orignal
56619caa71 random shuffle of tunnels for peer test pairs 2024-02-14 20:16:36 -05:00
orignal
0e502c49b5 show correct tunnel status. restore tunnel if delivery status or data for inbound tunnel received 2024-02-14 18:53:28 -05:00
orignal
967627e58a read correct reply length and handle reply codes 2024-02-12 21:55:30 -05:00
orignal
7691a5b4a9 use common SOCK5 code for reseed 2024-02-12 13:22:26 -05:00
orignal
158160f5c0 common code for SOCKS5 proxy connectivity 2024-02-10 20:03:36 -05:00
Vort
adba3987f8 logging fixes 2024-02-10 17:10:21 +02:00
orignal
36dbc15bca keep SSU2 socket open even if failed to bind 2024-02-09 18:08:51 -05:00
orignal
d96803a290 always request through tunnels in case of restricted routes 2024-02-09 15:24:48 -05:00
orignal
592d6ae4f4 check log level before calculating base32 or base64 of ident 2024-02-08 21:56:25 -05:00
orignal
7dd9a7a0af added CheckLogLevel 2024-02-08 21:45:57 -05:00
orignal
1b23aa2d7b increase request timeout 2024-02-08 21:44:12 -05:00
orignal
f980277552 don't flood failed router 2024-02-08 19:55:54 -05:00
orignal
586695673b correct log message for next netdb request 2024-02-08 18:48:10 -05:00
orignal
c158bbe90a send frame when it exceeds 16K 2024-02-07 19:43:29 -05:00
orignal
c01fd3299f handle drop of destination publish msg 2024-02-06 18:51:59 -05:00
orignal
f64b136f5a remove prestium reseeds 2024-02-06 13:37:08 -05:00
orignal
37e67cbcaa
Merge pull request #2013 from WaxySteelWorm/openssl
reseed.stormycloud.org reseed added
2024-02-06 13:07:04 -05:00
orignal
be815804e6 expire transit tunnel is not sent further 2024-02-05 15:44:17 -05:00
orignal
ce35637866 handle drop of tunnel build message 2024-02-04 15:45:22 -05:00
StormyCloudInc
de2b0f6e09
Update Config.cpp 2024-02-03 10:24:11 -06:00
orignal
47578b69c6 handle drop of tunnel test message 2024-02-01 19:38:12 -05:00
orignal
8f28cee32f drop earlier if delayed queue is semi-full 2024-02-01 18:55:10 -05:00
orignal
96cf6ca531 drop earlier if outgoing queue is semi-full 2024-02-01 18:14:45 -05:00
orignal
83cb3a1820 reduce router unreachable interval 2024-01-31 15:41:21 -05:00
orignal
ffdd5935e9 Handle drop of own RouterInfo publishing message 2024-01-31 11:46:01 -05:00
orignal
2e9f2d4a3b Drop for LeaseSet request 2024-01-30 21:52:18 -05:00
orignal
0ca782ed71 drop unsent messages if session disconnects 2024-01-30 18:02:14 -05:00
orignal
e40b656ecf Drop for tunnel and encrypted messages 2024-01-30 15:41:57 -05:00
orignal
85f5f5b91e fixed potential deadlock 2024-01-30 10:04:19 -05:00
orignal
f008478505 handle I2NP messages drops 2024-01-29 19:54:43 -05:00
orignal
d926a31064 fixed warning 2024-01-29 18:01:41 -05:00
orignal
822cb35efe limit send Ack timeout by Ack delay interval 2024-01-28 18:12:40 -05:00
Vort
81015a5228 log changes of network status 2024-01-28 16:13:23 +02:00
orignal
a3246cd9dc doen't send Ack packet too often if missing packets 2024-01-27 17:57:50 -05:00
orignal
530c353b00 don't send Ack with NACK immediately but after 2 milliseconds 2024-01-27 12:17:59 -05:00
orignal
75c2cb751f lock mutex before deleting RouterInfo's buffer 2024-01-25 18:51:46 -05:00
orignal
67c4d4bcaa fixed VS build error 2024-01-25 09:09:44 -05:00
orignal
25e82105b2
Merge pull request #2010 from wekoq/udp-tunnels-dest
Add support for multiple udp server tunnels on one destionation
2024-01-24 21:05:42 -05:00
weko
4b167fdbaf Update copyright year 2024-01-25 01:57:24 +00:00
weko
5b93558bd0 Add support for multiple udp server tunnels on one destionation 2024-01-25 01:05:58 +00:00
orignal
70639f1139 don't adjust clock if offsets came from same router 2024-01-24 19:05:38 -05:00
orignal
9f217f8a11 don't send expired I2NP messages 2024-01-21 18:59:04 -05:00
orignal
5e19e361e7 check max frame sizebefore sending 2024-01-20 17:33:28 -05:00
orignal
0b47f65b06 don't remove another NTCP2 session with same address 2024-01-19 18:29:17 -05:00
orignal
140146e433 limit mininal received packet size to 40 bytes 2024-01-19 14:09:48 -05:00
orignal
1e5604ed43 check if peer is connected before trying to connect 2024-01-18 19:18:51 -05:00
orignal
39e378a03d check received data size 2024-01-17 18:15:49 -05:00
orignal
7cfcb12c7b don't create peer for unreachable router 2024-01-16 14:33:36 -05:00
orignal
49f4dc53ad try next floodfill for router request on demand 2024-01-15 19:32:17 -05:00
orignal
4afdca090d support multiple RouterInfo request callbacks 2024-01-14 18:54:21 -05:00
orignal
d8f6c4a93d correct encryption and path for follow on lookup request 2024-01-14 17:16:31 -05:00
Vort
34d75b08dd handle 'reservedrange' param properly 2024-01-12 17:17:16 +02:00
orignal
ca9782dd0d handle 'reservedrange' param properly 2024-01-11 15:39:42 -05:00
orignal
2ad26dd4c9 fixed race condition in ECIESx25519 tags table 2024-01-11 14:09:08 -05:00
orignal
828facab57
Merge pull request #2003 from rex4539/typos
Fix typos
2024-01-11 13:14:20 -05:00
orignal
a8135b8d18 2.50.2 2024-01-06 14:51:42 -05:00
orignal
5cf1961fa4 drop updated routers from future 2024-01-06 11:31:01 -05:00
Dimitris Apostolou
577c71b930
Fix typos 2024-01-04 21:35:25 +02:00
orignal
c5cab05a6b reset peding time offset if correct time was received 2024-01-02 19:42:49 -05:00
orignal
b855c71891 don't adjust clock if time offsets are too different 2023-12-31 14:39:59 -05:00
orignal
21f41a2b2a correct time offset direction 2023-12-31 10:14:24 -05:00
orignal
8319dd6b25 drop exploratory and leaseset lookups for non-floodfill router 2023-12-30 19:49:16 -05:00
orignal
d4c47d90cb adjust time offset after second time discrepancy 2023-12-30 17:16:28 -05:00
orignal
302af823a3 fixed race condition with openssl 3.2.0 2023-12-30 15:55:53 -05:00
r4sas
816a58f292
2.50.1
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-12-23 18:13:31 +00:00
orignal
43e130ee34 reinitialize context before each Sign/Verify call to make it working with openssl 3.2 2023-12-19 19:29:08 -05:00
orignal
0e98dd5c70 use fallback EdDSA implementation with openssl 3.2.0 due to regression in EVP_DigestSign (#23075) 2023-12-18 07:40:40 -05:00
orignal
9b82265cd8 2.50.0 2023-12-17 11:07:10 -05:00
orignal
c802c2deb0 update yggdrasil ressed address 2023-12-05 15:48:26 -05:00
orignal
c215f2e8d1 check router for null pointer 2023-11-23 13:06:50 -05:00
orignal
21259204b1 eliminate send buffer mutex completely 2023-11-14 09:39:36 -05:00
orignal
8d6eb5b6b2 don't lock mutex in AsyncSend 2023-11-13 19:12:07 -05:00
orignal
9632e7ba03 exclude NAT64 ipv6 addresses 2023-11-12 18:32:57 -05:00
orignal
083034fa35 send peer tests with random delays 2023-11-09 21:56:32 -05:00
orignal
a3f62e1d71 check actual distance with router to reduce expiration time 2023-10-31 13:20:04 -04:00
orignal
575268d360 reduce expiration time for low bandwidth and far routers 2023-10-30 20:02:48 -04:00
orignal
e1b4feb618 correct base64 check 2023-10-30 08:10:17 -04:00