Commit graph

2555 commits

Author SHA1 Message Date
orignal 0428b5ece1 limit stream's outbound speed 2024-07-04 13:07:57 -04:00
orignal df787060c3 stop destination's thread before cleanup 2024-06-30 11:40:35 -04:00
orignal ea9c69cd53 some cleanup 2024-06-30 08:11:12 -04:00
orignal 199d149bed improved congestion control 2024-06-29 09:17:11 -04:00
orignal ff8941af71 check if address is still introducer before trying to introduce 2024-06-27 18:02:17 -04:00
orignal f125936b2e try to lookup other introducers' routers if found out doesn't have applicable addresses 2024-06-26 08:53:04 -04:00
orignal 457b64f92d try to connect to introducer through any available address 2024-06-14 18:05:01 -04:00
orignal 6caec6b551 check if updated router is still introducer. Remove non-introducer sessions from introducers list 2024-06-13 18:10:45 -04:00
orignal 362edc68ad removed ls's reseed 2024-06-11 15:14:06 -04:00
orignal 29872fc003 check if local address exists 2024-06-10 17:58:19 -04:00
orignal 81d383c99e don't pick routers older that 0.9.58 for client tunnels 2024-06-10 13:40:07 -04:00
orignal 12653f2fe4 don't try introducer with invalid address. Terminate session immediately if appropriate introducer not found 2024-06-09 18:38:13 -04:00
orignal 43f5ba286c update congestion caps before initial publishing 2024-06-09 15:25:19 -04:00
orignal f990a2f69f don't reply with relay tag if we are not on introducer on that address 2024-06-09 15:07:12 -04:00
orignal 0b97b4294c don't request relay tag for every session if we have enough introducers 2024-06-08 19:28:05 -04:00
orignal 4178ac8eac select newest introducers to publish 2024-06-08 16:08:32 -04:00
orignal 6a590bf970 use std::mt19937 instead rand() 2024-06-07 22:10:52 -04:00
orignal 2f847d62bb fixed typo 2024-06-07 13:35:37 -04:00
orignal df6d48dbae request only not found routers from introducers 2024-06-07 13:29:51 -04:00
orignal bacce7dc60 fixed introducer's index 2024-06-06 16:13:30 -04:00
orignal b3314380cc don't use expired introducer even if we a session with it 2024-06-06 14:19:30 -04:00
orignal d4eea61b82 use mt19937 instead rand 2024-06-05 15:08:51 -04:00
orignal a1995c13cd flood to 2 next day closest floodfills before UTC midnight 2024-06-04 12:45:35 -04:00
orignal bc8adf1433 move unsent I2NP messages to new session if replaced 2024-06-01 20:02:04 -04:00
orignal a1322d4667 move unsent I2NP messages to new session if replaced 2024-06-01 17:46:18 -04:00
orignal 4100249313 removed bootstrap from floodfill. Removed requested destinations mutex 2024-05-31 21:11:47 -04:00
orignal acbd3f897b fixed race condition between local buffer creation and sending it through the transports 2024-05-26 15:33:37 -04:00
orignal 7dc5a04b8d update timestamp for non-reachable router 2024-05-26 11:06:39 -04:00
orignal 03635f4444 publish through tunnels in case of restricted routes 2024-05-26 10:55:19 -04:00
orignal 0fae04f96a update local RouterInfo timestamp by timer even in hidden mode 2024-05-26 10:21:26 -04:00
orignal bb531a878d request newly discovered routers with random intervals after exploratory 2024-05-25 15:17:09 -04:00
orignal 0f7db8e418 list of request callbacks 2024-05-24 21:49:39 -04:00
orignal 9a724b2af9 separate timer for netdb requests cleanup 2024-05-23 14:27:39 -04:00
orignal f4ea6138e8 removed non longer used mutex 2024-05-23 13:36:29 -04:00
orignal e74272781f moved exploratory to netdb requests thread 2024-05-22 18:29:40 -04:00
orignal b75e418879 request destination in netdb requests thread 2024-05-22 13:43:00 -04:00
orignal 927123188c handle onDrop for request message in nedb requests thread 2024-05-22 12:30:01 -04:00
orignal c00eb8cf44 handle requests completions in netdb requests thread 2024-05-22 10:07:01 -04:00
orignal 265bb8b779 handle DatabaseSearchReply in netdb requests thread 2024-05-21 22:19:42 -04:00
orignal e3be409945 moved netdb requests to separate thread 2024-05-21 21:25:19 -04:00
orignal 39e16824b9 reset routing path if duplicated SYN received 2024-05-17 19:19:17 -04:00
orignal 285e693a4e fixed deadlock 2024-05-17 19:07:51 -04:00
orignal 940628bf36 update LeaseSet if inbond tunnel failed 2024-05-17 17:35:16 -04:00
orignal b5994e058a increment num attempts if no reply tunnel specified 2024-05-15 14:12:57 -04:00
orignal 22dabfd79e use unordered_map for excluded routers. don't request to self 2024-05-15 13:31:31 -04:00
orignal 0e41c3fa36 resend more interval variance 2024-05-15 11:57:14 -04:00
orignal 124698854f skip resent recently sessions during resend 2024-05-14 18:17:47 -04:00
orignal f5b823a712 common code for sending netdb lookup 2024-05-13 14:45:41 -04:00
r4sas 6921c8391e
[FS] boost 1.85.0 support
Signed-off-by: r4sas <r4sas@i2pmail.org>
2024-05-12 23:58:05 +00:00
orignal 9d38facf3b 2.52.0 2024-05-11 07:15:28 -04:00
orignal b98b3a87b0 fixed race codition between RouterInfo's buffer persist and update 2024-05-08 19:09:03 -04:00
orignal 425ef2cfe5 persist routers in separate thread 2024-05-08 16:19:00 -04:00
orignal c454685605 exclude addresses with wrong keys 2024-05-07 18:38:00 -04:00
orignal c98926abf2 use mt19937 instead rand() 2024-05-07 13:01:27 -04:00
orignal 7aacc97351 initialize requests before reseeds 2024-05-07 11:58:17 -04:00
orignal c49e17ad40 use timestamp to reset rng 2024-05-07 11:53:18 -04:00
orignal 296b721929 shared_ptr for NetdbRequests 2024-05-06 18:23:20 -04:00
orignal d0cf385f4b memory pool for requested destination. Reduced request attaempts to 5 2024-05-05 11:24:44 -04:00
orignal b91f5a7430 fixed race condition on stop 2024-05-03 20:38:57 -04:00
orignal 4d8431907d use std::sample for exploratory selection if C++17 2024-05-03 19:09:31 -04:00
orignal b0cf5130a2 don't try another flloofill if request already exists 2024-05-03 13:34:11 -04:00
orignal 396aa6944d cache complete request for a while and not send the same request again 2024-05-03 13:00:30 -04:00
orignal 8a20d3219b don't build exploratory selection on each request 2024-05-03 08:54:55 -04:00
orignal 13a746162a reduce exploratory selection size 2024-05-02 21:38:51 -04:00
orignal 7e5370fbe5 check for excluded routers during exploratory 2024-05-02 19:55:53 -04:00
orignal ec59308fad return up to 16 hash in expolatory reply 2024-05-02 19:16:48 -04:00
orignal 5ed76b997c log initial destination request 2024-05-02 13:17:15 -04:00
orignal 535fbdb4c9 don't check exporatory too often 2024-05-01 15:57:04 -04:00
orignal 034332a0ef changed minimal exploratory interval to 55 seconds. added variance 2024-05-01 14:10:34 -04:00
orignal a1eac6f28e drop unsolicited database serach replies 2024-05-01 13:40:01 -04:00
orignal ba22a940f1 30 seconds timeout for exploratory requests 2024-05-01 12:08:47 -04:00
orignal 8439f6dc57 don't reply with close than us only floodfills for lookup 2024-05-01 09:48:34 -04:00
orignal a21bec0ed8 check if router if real only if tunnel build rate is low and router's profile is presented when handle exploratory request 2024-04-30 14:16:05 -04:00
orignal 5adbc2c3fe don't stop lookup if number of attempts < 3 2024-04-30 12:52:00 -04:00
orignal cdfdfc9e24 don't manage netdb is transports are not running 2024-04-30 07:51:46 -04:00
orignal 62d279e1b0 don't return routers with 'f' cap to exploratory request 2024-04-29 15:05:47 -04:00
orignal a1fcd8af39 don't accept too old RouterInfo 2024-04-29 10:07:47 -04:00
orignal 8c6c954ea2 enable previously disabled floodfill 2024-04-28 11:23:35 -04:00
orignal 77bb7432bc insert previously ecluded floodfill back when connected 2024-04-28 11:16:59 -04:00
orignal 720ffa8a31 move traverse thrugh profiles files to deleting thread 2024-04-28 08:05:19 -04:00
orignal 733a4a2869 moved save/delete profile disk oprations to separate threads 2024-04-27 16:00:43 -04:00
orignal 648a884a18 use copy of excluded peers 2024-04-27 08:38:43 -04:00
orignal 8fe989050e use share_ptr to store peers 2024-04-27 08:18:49 -04:00
orignal bb6212ccc1 fixed typo 2024-04-26 18:11:05 -04:00
orignal 5f39f65540 mutex for request's excluded peers 2024-04-26 15:35:32 -04:00
orignal 146b3f52c0 check if pool is ready before sending next request 2024-04-26 13:48:44 -04:00
orignal cc75ccd070 don't manage requests if exploratory pool is not ready. use monotonic timer and milliseconds 2024-04-26 12:43:48 -04:00
orignal 0ddc514221 don't send next request if requested destination is over 2024-04-25 18:52:10 -04:00
Vort 6592fab41c manage netDb requests more frequently 2024-04-24 16:44:24 +03:00
orignal 02895d4cf5 respond with confirmied router to exploratory lookup 2024-04-23 18:30:56 -04:00
orignal 8b7941c4ce fixed typo 2024-04-23 18:21:25 -04:00
orignal de673464d1 don't try to connect directy by SSU2 to unnconfirmed router if direct NTCP2 is presented 2024-04-23 11:40:11 -04:00
orignal 6ce2c30522 build client tunnels through confimed routers only if low rate 2024-04-22 13:03:59 -04:00
orignal c5a1e8cac8 give preference to direct connection 2024-04-19 19:12:29 -04:00
orignal f67c38d8d2 fixed typo 2024-04-18 18:06:24 -04:00
orignal 1f1a3270f7 fixed IsPublished for ipv6 2024-04-15 09:26:30 -04:00
orignal ffee29272f avoid two firewalled routers in the row 2024-04-14 20:09:06 -04:00
orignal 26fac94d05 delete unused varibale 2024-04-08 19:24:44 -04:00
orignal 9a30068ae5 don't compare OBEP hash twice to check if it's a fresh tunnel 2024-04-08 19:00:02 -04:00
Vort b2e21a4f12 increase maximum stream resend attempts to 9 2024-04-08 12:35:50 +03:00
Vort 57e46ba0cf reset stream RTO if outbound tunnel was changed 2024-04-07 21:24:56 +03:00
Vort df3dc1f574 change tunnels during stream resend attempts 5 and 6 2024-04-07 17:30:19 +03:00
r4sas 1b5f67e185
[FS] misc: bump year
Signed-off-by: r4sas <r4sas@i2pmail.org>
2024-04-06 20:38:58 +00:00
orignal c49dd712de 2.51.0 2024-04-06 08:53:54 -04:00
orignal 4f1cb74f75 request choking delay if too many NACKs. Drop window size to 1 if choking delay received 2024-04-02 18:49:16 -04:00
orignal 75df8d3c7b drop ack Through to last packet if Number of NACKs exceeds 255 2024-04-02 11:30:38 -04:00
orignal 85be76b01a check if LeaseSet was submitted recently. Fixed typo 2024-04-01 08:41:58 -04:00
Vort ac9d92c681 select maximum SSU2 queue size depending on RTT value 2024-03-26 10:18:56 +02:00
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 fd4513ebb2 show bandwidth caps for hops 2024-02-22 23:07:07 +02: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
orignal 3286bdb4a7 verify jump link for valid characters 2023-10-29 22:11:38 -04:00
orignal d04b19d77c don't recalculate badwidth if clock was adjusted too much 2023-10-18 18:09:41 -04:00
orignal 04adc14b76 ls@mail.i2p yggdrasil reseed added 2023-10-16 18:46:59 -04:00
orignal 0cc91dd2d2 don't pick too active peer 2023-10-15 08:31:55 -04:00
orignal 606e35eec1 reseed.us.prestium.org reseed added 2023-10-10 12:59:40 -04:00
orignal e926b0392f reseed.is.prestium.org reseed added 2023-10-07 14:22:53 -04:00
orignal efdbe26755 try peer test again if Unknown 2023-09-28 18:40:51 -04:00
hfsfox 0cf656cd76
Add Haiku OS support (#1970) 2023-09-28 22:30:38 +03:00
r4sas fb420bb563
[cpu] more builtin version check changes
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-09-18 18:12:26 +00:00
r4sas 3da5061426
[cpu] Increase GCC version for use of builtin CPU extensions checker
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-09-18 17:11:45 +00:00
r4sas 1857f14be8
[cpu] use short defines instead of long checks
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-09-17 18:33:42 +00:00
orignal df6bb6d9b8 2.49.0 2023-09-17 10:19:57 -04:00
orignal 918aa556ef fixed non-x86 build 2023-09-15 11:37:45 -04:00
r4sas 4ed19c05f6
[cpu] split AES detect for GNU C < 5
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-09-07 21:20:52 +00:00
r4sas 4a5e16b994
[cpu] tests with preprocessor
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-09-07 16:56:53 +00:00
r4sas c53ad2012c
[cpu] use cpuid on gcc < 5
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-09-06 23:30:16 +03:00
R4SAS 7b6aa41ca8
CPU: remove AVX code, switch to __builtin for AES detection (#1959)
* [cpu] remove avx detect and code blocks, try to switch to __builtin
* [cpu] use __builtin_* only on x86 systems
* [cpu] perform check in separate function
* [cpu] set AES definition on MSVC
* update x86 and aes support checks at compile time
* [cmake] update comment about AES on MSVC
2023-08-31 19:52:51 +03:00
orignal c112276eea memory poll for RouterProfile 2023-08-26 10:57:05 -04:00
Chad Fraleigh 662a59d0fd Eliminate additional undefined behavior of bit shifting signed int. 2023-08-16 19:49:18 +00:00
Chad Fraleigh 627b8dca83
Fixed buf offset EVP_EncryptFinal_ex() to include outlen. 2023-08-13 17:08:14 -07:00
orignal 7bcc905f05 exclude SSU1 introducers 2023-08-07 21:28:13 -04:00
orignal 8447822c35 don't publish intrducers with zero tag 2023-08-05 15:25:16 -04:00
Vort 9bac680f2a improve transport session logging 2023-08-05 18:25:01 +03:00
orignal 38795a41cb don't publish introducers with zero iTag 2023-08-05 08:55:06 -04:00
Vort 68f4961f1a separate test status from network status 2023-07-30 15:44:16 +03:00
orignal ae5239de43 remove introducer from RouterInfo after 60 minutes 2023-07-23 07:42:36 -04:00
orignal 2064504cce fixed send keepalive for existing session 2023-07-23 07:17:10 -04:00
orignal 4aa631c33f clear implied list if no more introducers found 2023-07-22 16:51:19 -04:00
orignal d6834d6a9a keep non-published, but not-expired introducers in the introducers list 2023-07-22 15:03:03 -04:00
orignal 413e25f20e don't pick too old session for introducer 2023-07-22 10:13:05 -04:00
orignal b8e19bf5f1 reduced peer test interval and added peer test interval variance 2023-07-22 08:50:49 -04:00
orignal c7efd465fa padding for path response 2023-07-21 18:25:28 -04:00
orignal 6e9a3422e9 correct min size for keepalive 2023-07-21 07:59:09 -04:00
Vort f13cc0b862 allow 0 hops with explicitPeers 2023-07-19 16:43:40 +03:00
orignal 0754255c1f drop incoming session from too old or from future routers 2023-07-17 21:08:26 -04:00
orignal 902899ae24 don't pick completely unreachable peers 2023-07-17 19:49:42 -04:00
orignal c620fc1232 clear unreachable flag upon succesive connect 2023-07-17 18:44:51 -04:00
orignal e7157cf15e don't create paired inbound tunnel if length is different 2023-07-17 17:57:30 -04:00
orignal 8e63f8f333 consider all addresses non published for U and H routers 2023-07-15 17:11:56 -04:00
Vort ea7cf1cf69 fix termination block processing and size check 2023-07-15 18:44:37 +03:00
orignal 17c4038c60 select router with ipv4 for endpoint 2023-07-11 13:16:35 -04:00
orignal 5022a9c610
Merge pull request #1948 from chadf/fuzzing-5
Use offset from Identity::signingKey instead of Identity::certificate for key.
2023-07-10 08:06:47 -04:00
orignal ca8ec6286a
Merge pull request #1947 from chadf/fuzzing-4
Eliminate undefined behavior of bit shifting signed int.
2023-07-10 08:03:10 -04:00
orignal 5142459e12
Merge pull request #1945 from chadf/fuzzing-2
Fixed division by zero due to thread race condition.
2023-07-10 08:01:46 -04:00
Chad Fraleigh c4be5f7fdb
Use offset from Identity::signingKey instead of Identity::certificate for key. 2023-07-09 18:45:30 -07:00
Chad Fraleigh 47dc5591b9
Eliminate undefined behavior of bit shifting signed int. 2023-07-09 15:09:17 -07:00
Chad Fraleigh 2bb48b4546
Fixed crash when Base64ToByteStream() is only given '=' characters. 2023-07-09 13:12:22 -07:00
Chad Fraleigh 638e9b4d7f
Fixed division by zero due to thread race condition. 2023-07-08 17:07:04 -07:00
orignal 13f263b791 correct transport comptibility for OBEP in second attempt 2023-06-30 11:54:55 -04:00
r4sas 03cc6e0524
use uint16_t for ports
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-06-12 05:10:32 +03:00
orignal 52b2d6c393 2.48.0 2023-06-11 15:44:16 -04:00
orignal bb52056aec correct index for connected transport 2023-06-11 06:48:47 -04:00
r4sas 09f233dbfb
NetDB: ignore LeaseSet store request if not floodfill
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-06-06 01:00:07 +03:00
r4sas dfe5df29e1
suppress build warnings on windows
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-05-30 21:05:15 +03:00
orignal 86173400d5 don't drop profile of real router too early 2023-05-29 08:49:45 -04:00
r4sas ae439b5385
SSU2: check if socket is opened before sending data, handle network_reset error
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-05-27 01:00:19 +03:00
r4sas fdf38f45d9
more debug messages at destinations stop
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-05-23 00:44:47 +03:00
orignal c984f89dfb don't handle unecnrypted DatabaseSearchReply msg if came throug client tunnel 2023-05-21 18:43:58 -04:00
weko d44be2fd73 fix typo 2023-05-08 15:33:40 +00:00
weko a158647153 refactor TBM hadling 2023-05-08 14:52:48 +00:00
orignal 623c3f4605 check for max number of records in tunnel build and tunnel build reply messages 2023-05-06 18:07:21 -04:00
orignal 8a52295882 make router real upon successive outgoing NTCP2 session. Eliminate static keys table 2023-05-06 16:43:09 -04:00
orignal f2bc2598dc
Merge pull request #1925 from wekoq/openssl
Do not save useless peer profiles
2023-05-06 06:34:59 -04:00
weko 1d8a91c5cc redo no save useless profiles 2023-05-06 08:04:27 +00:00
orignal 3bc56ba423 store 'connected' in 'usage' section 2023-05-06 08:04:27 +00:00
orignal e068a3cf22 store 'connected' in 'usage' section 2023-05-05 19:58:58 -04:00
weko 2e2cbe7803 save profile if has connected 2023-05-05 22:46:48 +00:00
weko 1c1452e06b Merge branch 'openssl' of https://github.com/PurpleI2P/i2pd into openssl 2023-05-05 22:42:46 +00:00
orignal c757b6d020 reset floodfill cap for unknown floodfills 2023-05-05 18:22:11 -04:00
weko 8fcab7b0c1 fix incorrect merge conflict resolve 2023-05-05 21:55:31 +00:00
weko 7646147ed2 save only non-default peer profile 2023-05-05 21:44:54 +00:00
orignal b6de474fda don't include unconfirmed floodfill to the list if we have enough floodfills already 2023-05-05 16:14:54 -04:00
orignal 2f74e670a5 invalidate routers with incorrect family signature 2023-05-04 15:32:19 -04:00
orignal c1168c2aa0 don't catch RouterInfo at OBEP 2023-05-04 09:39:37 -04:00
orignal 1bd6390f78 check if s is x25519 public key 2023-05-04 08:20:38 -04:00
orignal a9e9e14c42
Merge pull request #1921 from contextswap/openssl
limit aes-ni assembly to x86
2023-05-03 12:21:00 -04:00
SidorKozlov 3b13a3f2a1 Configurable minimum successful tunnels 2023-05-03 16:13:03 +02:00
orignal 4ce2ef1d83 make router unreachable if AEAD fails in SessionCreated 2023-05-03 07:43:28 -04:00
contextswap 12d0abda55
[
Signed-off-by: contextswap <ctxswp@proton.me>
2023-05-03 19:10:16 +09:00
contextswap 7418f11651
limit aesni inline asm to x86
Signed-off-by: contextswap <ctxswp@proton.me>
2023-05-03 19:04:16 +09:00
weko dab34e9051 get indent hash directly 2023-05-01 20:08:08 +00:00
weko ec2297ed9d Recognize invalid static key 2023-05-01 19:28:32 +00:00
orignal 7c535159bc static keys table 2023-04-30 20:05:35 -04:00
orignal 2af4a2b58d override reply token only if non-zero 2023-04-28 08:01:02 -04:00
orignal ead6a6dca3 correct parsing of caught RouterInfo at IBGW and OBEP 2023-04-27 21:37:30 -04:00
orignal 76adac31c3 enrcrypt lookup if being sent through a tunnel 2023-04-24 19:25:26 -04:00
r4sas edfcd23b01
[webconsole] added a button to prematurely release a leaseset
Signed-off-by: r4sas <r4sas@i2pmail.org>
2023-04-24 14:01:21 +03:00
orignal f21e1c75d5 check tagset for null 2023-04-23 15:31:24 -04:00
orignal 786c27c8ec publish encrypted RouterInfo 2023-04-21 22:27:55 -04:00
orignal c34df2090c don't reply to DatabaseStore messages extracted from transit 2023-04-21 21:31:14 -04:00
orignal 5769a41208 use unordered_map for LeaseSets 2023-04-21 14:54:54 -04:00