Commit Graph

2150 Commits

Author SHA1 Message Date
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
orignal
8178df752b fixed warning 2023-04-04 13:42:54 -04:00
orignal
922e5915b1 rename SendTunnelDataMsg to SendTunnelDataMsgs for multiple messages 2023-04-04 13:19:08 -04:00
orignal
dc6499aa98 fixed warnings 2023-04-03 22:50:31 -04:00
orignal
0c8a80b6f8 fixed warnings 2023-04-03 21:35:10 -04:00
orignal
b8032e7fbf publish congestion cap G 2023-04-02 11:27:51 -04:00
weko
a3bdc4ddc1 change some log levels back 2023-03-31 12:40:38 +00:00
weko
2abc997af8 change some log levels back 2023-03-31 12:29:13 +00:00
weko
710a35993d change some log level to error back 2023-03-31 12:16:32 +00:00
weko
354a04f0f6 Up level for some logs to critical 2023-03-31 11:29:04 +00:00
weko
a80aeb6715 add critical log level 2023-03-30 21:31:12 +00:00
orignal
cd1af85e39 bypass slow transport sessions 2023-03-29 15:54:53 -04:00
orignal
60e648bf9a set cap 6 for unspecified ipv6 address 2023-03-29 13:40:12 -04:00
orignal
c45e31b1b2 validate new router 2023-03-28 22:00:17 -04:00
orignal
6d204b4d7b shorter streaming I2NP data messages 2023-03-26 22:12:43 -04:00
Dimitris Apostolou
d91d734b5c Fix typos 2023-03-26 01:48:22 +00:00
orignal
5fee6df87a handle reset in reposnse to SYN 2023-03-23 19:52:39 -04:00
orignal
644d65054d create smaller I2NP packets 2023-03-21 21:25:00 -04:00
orignal
f41563a700 check packet number for SessionConfirmed 2023-03-19 17:42:53 -04:00
orignal
32b54fa1f8 handle i2p.streaming.answerPings properly 2023-03-19 15:47:50 -04:00
orignal
084663d6ea mediam size I2NP messages 2023-03-18 15:32:05 -04:00
orignal
55b2f2c625 memory pool for IdentityEx 2023-03-16 21:32:53 -04:00
orignal
5ad9c8e740 create I2NP tunnel message for first fragment 2023-03-13 19:19:57 -04:00
R4SAS
e96f0bfb14
[msvc] fix warnings, revert cmake boost libs linking list
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-03-13 18:34:45 +00:00
orignal
a6bd8275ca 2.47.0 2023-03-11 10:35:55 -05:00
orignal
6f01ebc0a5 check target destination 2023-03-11 08:44:07 -05:00
orignal
98f06e3ba1
Merge pull request #1889 from polistern/feat/sam-udp-port
Added SAM UDP port parameter
2023-03-10 11:11:27 -05:00
R4SAS
7b35c793f3
[reseed] support domains in yggdrasil reseeder, fix IPv6 URL host parsing
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-03-10 01:19:09 +00:00
R4SAS
58ef08310d
[reseed] skip records in reserved IP ranges, check Yggdrasil avalability if domain resolves in ygg address
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-03-09 18:50:28 +03:00
orignal
ec5c13a95e add back i2p.novg.net with new certificate 2023-03-08 18:38:49 -05:00
orignal
0a564d153a reseed update 2023-03-08 18:23:32 -05:00
orignal
46e4f4aea5 update RouterInfo if congestion cap changed 2023-03-07 13:09:07 -05:00
orignal
6d7f20961f
Merge pull request #1902 from Vort/pool_leak
Prevent leaking of ExploratoryPool
2023-03-07 10:06:45 -05:00
Vort
4b7fcdc719 Prevent leaking of ExploratoryPool 2023-03-07 12:06:50 +02:00
orignal
716926f0d7 publish high congestion cap 2023-03-06 19:48:04 -05:00
orignal
24a14e3440 moved max num transit tunnels to Tunnels 2023-03-05 20:08:15 -05:00
orignal
3154eda6a6 fixed typos 2023-03-04 15:46:44 -05:00
orignal
d50cf0ad83 recognize congestion caps 2023-03-03 20:21:56 -05:00
Vort
a4759694c8 Prevent out of bounds array access 2023-03-03 21:28:22 +02:00
Vort
6610af08c2 Correct processing of reseed.floodfill option 2023-03-03 21:26:38 +02:00
orignal
4db643aa8e limited number of acked packets to 511 2023-03-02 16:18:25 -05:00
Vort
064c013a72 Remove unreachable reseed 2023-03-02 21:25:29 +02:00
Vort
9e0389df1b Fix several warnings 2023-03-02 12:22:24 +02:00
orignal
1b921a2eac removed some SSU1 code 2023-03-01 22:05:24 -05:00
Vort
64f0a545fd Improve MSVC 2015 compatibility 2023-02-28 19:41:17 +02:00
Vort
34617bcb44 Code style unification across file 2023-02-27 20:00:43 +00:00
Vort
5f8820d9d6 Silence several compiler warnings 2023-02-27 20:00:43 +00:00
R4SAS
b7f0d87daf
GHA and Cmake changes (#1888)
Done with Vort's (https://github.com/Vort) cooperation

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-02-26 23:38:23 +03:00
polistern
3ff1adf597
feat: Added SAM UDP port parameter. 2023-02-26 16:51:56 +00:00
orignal
93d89a1fe0 fixed typo 2023-02-26 09:07:53 -05:00
orignal
3c9a574e90 create io_service after daemonization 2023-02-26 08:46:01 -05:00
orignal
de82b3ae19 don't publish non-reachable router 2023-02-25 17:19:14 -05:00
orignal
f84d88ac63 publish own RouterInfo in router's thread 2023-02-24 18:28:30 -05:00
orignal
2e62f9532f separate thread for processing router's messages 2023-02-23 13:58:06 -05:00
orignal
d40cd00cdb use DHT table for floodfills 2023-02-22 15:58:20 -05:00
Vort
95cc544c92 Check for null pointer before dereferencing it 2023-02-22 19:39:32 +02:00
orignal
8544283110 don't expire connected routers 2023-02-21 21:33:30 -05:00
orignal
abf687ff09 store RouterInfo in DHT 2023-02-21 19:08:12 -05:00
orignal
3adff82d4a don't handle ack request for router 2023-02-20 14:55:59 -05:00
R4SAS
82ac0aa492
2.46.1
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-02-20 05:50:14 +03:00
orignal
b8a99878b6 don't create profile for every new non-floodfill 2023-02-19 10:30:07 -05:00
orignal
eaca435a5b find multiple closest hashes 2023-02-18 19:45:31 -05:00
orignal
ce05cce331 validate LeaseSet if signature verification was not requested 2023-02-18 08:54:36 -05:00
orignal
e190dab7d6 fixed crash when shows leasesets 2023-02-17 21:13:50 -05:00
orignal
289c308600 set proper caps if host is unspecified 2023-02-17 20:08:05 -05:00
orignal
bff12b06f4 fixed race condition 2023-02-17 10:34:14 -05:00
orignal
b8590075e6 initial commit for Kademlia DHT 2023-02-16 22:14:02 -05:00
orignal
182a721674 2.46.0 2023-02-15 14:47:02 -05:00
orignal
fa286a6fb3 faster GetBit 2023-02-14 19:49:29 -05:00
orignal
02a36a9fa8 don't populate buffer of unreachable router 2023-02-14 15:44:35 -05:00
R4SAS
77142e59ee
[http] fix query detection, addresshelper processing, update tests
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-02-14 18:51:14 +00:00
weko
76d39cc7c9 changed to tabs, move tor port to function 2023-02-14 20:46:24 +03:00
weko
9e0c5d67c7 Don't use reversed port for choise random port. (by whothefuckami) 2023-02-14 20:46:24 +03:00
orignal
03111ad0df don't save profiles under mutex 2023-02-14 09:50:32 -05:00
orignal
abb81c353d fixed race condition 2023-02-14 09:33:10 -05:00
orignal
1ad38c0b95 fixed typo 2023-02-13 19:37:11 -05:00
orignal
532a29b0c4 don't reply with unreachable router 2023-02-13 19:18:02 -05:00
orignal
4f3a416e37 send DateTime together with RouterInfo 2023-02-13 15:44:20 -05:00
orignal
4d0ad47491 GetBit for IdentHash 2023-02-13 13:45:06 -05:00
orignal
7b632bd03d set minimal floodfill version to 0.9.51 2023-02-13 13:25:02 -05:00
orignal
c2faa5c614 don't try to save RouterInfo if no buffer 2023-02-12 19:10:22 -05:00
orignal
d15581d95e delete invalid router after update 2023-02-12 18:02:16 -05:00
orignal
7bde4de1f5 don't try to save unreachable routers 2023-02-12 15:28:06 -05:00
orignal
88f19f551d don't save RouterInfo buffer if invalid 2023-02-12 09:21:59 -05:00
orignal
d79bdc9f66 send datetime block after approximately every 250 packets 2023-02-11 20:11:34 -05:00
orignal
48a3c767e5 in-meory storage for router profiles 2023-02-11 16:22:02 -05:00
R4SAS
86fc12e395
[style] clean code
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-02-11 09:41:51 +03:00
R4SAS
3c65012a63
[ssu2] close socket if it was opened on OpenSocket
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-02-11 06:29:37 +00:00
orignal
97b7ea0da5 create separate new ipv4 and ipv6 published addresses 2023-02-10 22:04:42 -05:00
orignal
1c4cc02c23 drop garlic message in garlic clove 2023-02-10 18:21:12 -05:00