Commit Graph

2239 Commits

Author SHA1 Message Date
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
orignal
dc265367dc drop unexpected I2NP messages 2023-04-20 14:23:41 -04:00
orignal
c22fc75370 set router properties from incoming connections 2023-04-19 19:48:09 -04:00
orignal
6206616347 don't set unreachable twice 2023-04-18 20:21:22 -04:00
orignal
b77ae08388 exclude previously non-reachable transports 2023-04-18 14:35:13 -04:00
orignal
527ee3b3c5 check if ident is unrechable only once 2023-04-16 08:18:41 -04:00
orignal
cd5bfaabb5 mark and check unreachable ident hashes 2023-04-15 22:16:31 -04:00
orignal
e20acb93cf don't lookup streaming destination for each message 2023-04-12 15:28:15 -04:00
orignal
132557f941 don't return default destination if port is specified explicitly 2023-04-12 13:33:20 -04:00
orignal
4ebc7c970a bypass medium congestion(D) routers for client tunnels 2023-04-10 23:04:38 -04:00
orignal
572694b141 check routers' congestion before recreating a tunnel 2023-04-09 21:32:44 -04:00
orignal
c1f19cb258 fixed typo 2023-04-06 16:19:56 -04:00
orignal
caff003a85 check for published ipv4 addresses for floodfills and IBGW 2023-04-06 16:03:15 -04:00
orignal
d580c0155a fixed typo 2023-04-05 21:49:49 -04:00
orignal
9475a22728 update introducers. cleanup unreachable routers 2023-04-05 21:30:36 -04:00
orignal
e3fb9d8483 fixed warning 2023-04-04 13:57:46 -04:00
orignal
220ef283de rename SendTunnelDataMsg to SendTunnelDataMsgTo for router tunnel delivery types 2023-04-04 13:48:00 -04:00