Commit Graph

2296 Commits

Author SHA1 Message Date
orignal
c18e8f6c78 drop too long LeaseSet without processing 2023-01-07 10:54:49 -05:00
orignal
a6f9a56e40 support C++20 2023-01-06 14:08:39 -05:00
orignal
acd6af709e don't use netdb memory pool for local RouterInfo 2023-01-05 18:16:36 -05:00
orignal
55704ece3a drop duplicated I2NP messages 2023-01-05 15:33:41 -05:00
orignal
0d3ede56cb reject duplicated trnsit tunnel 2023-01-05 11:59:47 -05:00
R4SAS
503f522cc3
[style] clean trailing spaces and tabs
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-01-03 21:25:19 +03:00
R4SAS
22179400c7
2.45.0
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-01-03 18:16:34 +00:00
Tomas Globis
66f82cb43f
Use moving average to calculate tunnel creation success rate 2023-01-03 03:07:07 +03:00
orignal
1df67bd43c 2.45.0 2023-01-02 18:59:13 -05:00
orignal
6942c20879 don't select overloaded peer 2023-01-01 19:42:40 -05:00
orignal
7b341d5d30 update and show send queue size for transports 2023-01-01 16:03:53 -05:00
R4SAS
2c19da9aa7
fix warnings about unused code
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2023-01-01 13:48:41 +03:00
orignal
3e3e2c41bd unlock mutex for good after wait 2022-12-30 22:12:49 -05:00
orignal
cb139226df ilimit umner of simultaneous tunnel build requests per pool 2022-12-30 18:06:47 -05:00
orignal
84d6028454 limit number of message to handle at the time 2022-12-29 17:26:57 -05:00
orignal
126dc0ebe0 inseer incoming session into sessions list 2022-12-28 16:47:50 -05:00
orignal
099d9d977f terminate duplcated session properly 2022-12-28 16:47:12 -05:00
orignal
5a167316cb don't filter yggdrasil address 2022-12-27 22:24:20 -05:00
orignal
85e31f84ec reset termination timer for new incoming connection 2022-12-27 22:07:26 -05:00
orignal
edb7a0e23c Refuse dulicated incoming pending session from same IP 2022-12-27 21:54:32 -05:00
Dimitris Apostolou
9f9e8bfa14
Fix typos 2022-12-27 10:44:23 +02:00
orignal
99356fd24d make sure that AsycReceive complete 2022-12-25 15:35:00 -05:00
orignal
5ef5f5a170 don't create encryption for new transit tunnel immediately 2022-12-25 09:36:16 -05:00
orignal
b6f83dfe9f set error before status 2022-12-22 08:36:07 -05:00
orignal
3f728149ab bump default max number of transit tunnels to 5000 2022-12-21 18:27:42 -05:00
orignal
36501fe31e change network status back to OK if port in msg 7 matches 2022-12-21 18:14:19 -05:00
orignal
e4ddc883d2 drop future RouterInfo and LeaseSet upon receive 2022-12-20 18:41:19 -05:00
orignal
5ac01ddce8 delete routers with timestmep from future 2022-12-20 15:23:54 -05:00
orignal
d3656fcb3f don't publish ::1 2022-12-20 14:16:23 -05:00
orignal
d6c101d261 try to handle RelayIntro again is Alice's RouterInfo not found 2022-12-19 13:28:21 -05:00
orignal
eeea02d834 rounded to seconds timestamps 2022-12-19 12:56:19 -05:00
R4SAS
c210553a39
getting rid of old c99 array designators
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-18 23:26:18 +03:00
R4SAS
a315e4ce62
more overrides
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-18 22:53:14 +03:00
R4SAS
96cfd9acc2
fix override
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-18 22:37:26 +03:00
R4SAS
d869bb25ed
fix missing override warning
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-18 22:32:23 +03:00
orignal
476e6aae35 don't iterate through addresses when it's not necessary 2022-12-16 19:57:19 -05:00
orignal
d30ee99cf1 fixed crash 2022-12-16 15:33:56 -05:00
orignal
84d9c8f1b8 access to RouterInfo's addresses by index 2022-12-16 15:12:30 -05:00
orignal
df737a65b2 SessionRequest must be min 88 bytes 2022-12-15 15:08:56 -05:00
orignal
c5230ca44b don't accept incoming session from invalid endpoint 2022-12-14 15:44:31 -05:00
R4SAS
3471e6fe16
use deadline_timer for bandwidth calculation timer
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-13 23:25:16 +03:00
R4SAS
f1437feede
SSU2: handle standard network errors more correctly
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-13 22:04:21 +03:00
R4SAS
0d523bd2a6
use 15s average bw for transit limits check
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-13 22:04:20 +03:00
R4SAS
8943200ffa
calculate bandwidth every 1 and 15 seconds
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-13 22:04:19 +03:00
orignal
a902d68669 enable compressible padding 2022-12-12 18:36:29 -05:00
orignal
f6ca7c19af allow zero length padding 2022-12-12 14:18:36 -05:00
orignal
3458665df8 don't delete unreachable routers if tunnel creation success rate is too low 2022-12-11 17:03:53 -05:00
orignal
8320987124 delete invalid sessions from peers 2022-12-10 19:09:37 -05:00
orignal
648b09d45f try to restart acceptors after termination of expired NTCP2 if no descriptors 2022-12-10 15:44:37 -05:00
R4SAS
857df5c734
prevent log spamming with no_descriptors error
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-12-10 21:57:23 +03:00
orignal
737603e81b No descriptors error 2022-12-10 13:22:37 -05:00
orignal
53ca5dc67a memory pool for address vectors 2022-12-07 14:08:27 -05:00
orignal
8ad5696e50 don't send termination again if termination received block received 2022-12-06 21:40:33 -05:00
orignal
2bb5ff7184 eliminate RTT self-reduction 2022-12-05 15:48:11 -05:00
orignal
410d2c2fa9 use shared pointer for RouterInfo's addreses list 2022-12-04 19:21:51 -05:00
orignal
6a743f66e8 eliminate RTT self-reduction 2022-12-04 17:52:44 -05:00
orignal
709c451400 disable MemoryPool for RouterInfo's address 2022-12-04 17:49:59 -05:00
orignal
cb73c7c72e make sure that only *Mt method can be called for MemoryPoolMt 2022-12-04 17:43:29 -05:00
orignal
50abeea82a print endpoint if more than two fragments of SessionConfirmed 2022-12-04 17:08:38 -05:00
orignal
8db352b4d0 recognize symmetric NAT from peer test msg 7 2022-12-04 16:30:45 -05:00
orignal
6589bdf6b5 delete expired token right away 2022-12-03 15:05:27 -05:00
orignal
1ac171152a don't print error message if incomplete 2022-12-03 14:27:52 -05:00
orignal
629c718527 fixed races condition with pending outgoing sessions 2022-12-03 14:18:40 -05:00
orignal
949c38f5f0 reuse list of addresses 2022-11-28 19:16:21 -05:00
orignal
2a6f906177 print separate message for introducer timeout 2022-11-27 17:14:33 -05:00
orignal
64c3282aae check minimal message size 2022-11-27 09:13:24 -05:00
orignal
f5d511ae0f
Merge pull request #1811 from rex4539/typos
Fix typos
2022-11-26 14:25:31 -05:00
orignal
aa9a9ef18d memory pool for addreses 2022-11-25 19:18:53 -05:00
Dimitris Apostolou
73b9c0302b
Fix typos 2022-11-25 22:37:52 +02:00
orignal
aead9db971 Read local RouterInfo from file 2022-11-25 14:53:40 -05:00
orignal
fb8be32c28 removed SSU and NTCP transports 2022-11-23 15:45:00 -05:00
orignal
a298588943 SSU2 only introducers 2022-11-23 13:44:03 -05:00
orignal
ccfeca728e use only SSU2 for network status 2022-11-22 22:03:19 -05:00
orignal
7705423c42 remove SSU 2022-11-22 20:05:52 -05:00
orignal
379075c594 exluded SSU from transports 2022-11-22 19:29:20 -05:00
orignal
6a23153c0b don't read SSU addresses 2022-11-22 18:28:56 -05:00
orignal
9e02c99db5 check and limit LeaseSet's buffer size 2022-11-22 15:40:48 -05:00
orignal
9f59ff2df4 2.44.0 2022-11-20 08:56:05 -05:00
orignal
78357baca4 sync AcceptStream 2022-11-11 13:31:54 -05:00
orignal
85b78dfb9b call stream request callback after CreateStream 2022-11-09 18:26:16 -05:00
orignal
9fd60b52f1 sync StreamCreate 2022-11-08 19:52:43 -05:00
orignal
c6a6a4e0e8 sync Receive from stream 2022-11-08 18:34:59 -05:00
orignal
c88638afe4 reconnect to proxy if receive error 2022-11-08 10:37:34 -05:00
Sergey Fedorov
7f98a8b972
Fix definitions for Darwin PPC; do not use pthread_setname_np on unsupported OS versions (#1797)
* Correct define for Darwin PPC is __POWERPC__

* util.cpp: do not use pthread_setname_np on unsupported macOS versions
2022-11-06 13:48:02 +03:00
orignal
e13f151474 ssu2.mtu4 and ssu2.mtu6 2022-10-31 18:11:36 -04:00
orignal
4ed4e8708e close relay socket if associate socket gets closed 2022-10-28 18:54:04 -04:00
orignal
1738d118f7 recconnect to proxy 2022-10-28 14:06:45 -04:00
orignal
f1f66d7b8f handle SOCKS connect reply for ipv6 address 2022-10-27 19:47:24 -04:00
orignal
4ed5e44de7 correct buffer size for ipv6 SOCKS proxy reply 2022-10-27 15:22:24 -04:00
orignal
3e3f92c616 set and check proxy status for ipv6 if presented 2022-10-27 15:02:54 -04:00
orignal
5fb1247b87 correct MTU calculation through proxy 2022-10-27 13:56:42 -04:00
orignal
016222463d don't run peer test for SSU2 through proxy 2022-10-26 21:14:28 -04:00
orignal
0e477bf938 set min MTU if through proxy 2022-10-26 18:55:13 -04:00
orignal
eb75eb0e55 reset port value before parsing 2022-10-26 18:35:56 -04:00
orignal
2a703e0844 SSU2 through a socks5 proxy 2022-10-26 16:05:40 -04:00
orignal
2b6d9eaa8b disable compressible padding for now 2022-10-26 13:26:16 -04:00
orignal
f9b0bb0383 I2PTunnel/UDPTunnel split 2022-10-25 15:30:12 -04:00
orignal
c6e8873d57 always compress SYN packet 2022-10-24 19:21:58 -04:00
orignal
b2767304e9 correct padding offset 2022-10-24 18:07:04 -04:00
orignal
3d4d3ce80d compressable crypto key and padding for routers and destination 2022-10-24 15:12:07 -04:00
orignal
f3aada9e1a Proxy connection and UDP associate request 2022-10-18 21:11:06 -04:00
orignal
08fd32b3bf allow different ports from RelayReponse and HolePunch 2022-10-17 18:38:44 -04:00
orignal
39a86ce5c9 handle UDP packet from proxy relay 2022-10-16 22:16:16 -04:00
orignal
fe25260ee2 send UDP request to proxy relay 2022-10-16 21:23:28 -04:00
orignal
63fd05c7d3 SOCKS5 constants 2022-10-15 21:37:00 -04:00
orignal
e5553f7528 milliseconds for peer test send time 2022-10-11 18:21:04 -04:00
orignal
6e3cec653d resend PeerTest msg 2 2022-10-11 15:27:19 -04:00
orignal
55976fd9dc resend PeerTest msg 1 2022-10-10 16:34:08 -04:00
R4SAS
1d9d89b115
[transports] get addresses on interfaeces before initializing RouterContext
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-10-10 15:43:37 +03:00
orignal
3544f77e90 terminate peer session if Charlie's RouterInfo not found 2022-10-09 15:03:32 -04:00
R4SAS
96c4463d39
clean code
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-10-09 20:24:43 +03:00
R4SAS
650b7abef6
[SSU2] add log messages about peertest
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-10-09 20:12:22 +03:00
R4SAS
714b3856a2
[SSU2] print to log when peer test is sent
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-10-09 18:59:53 +03:00
orignal
69ca3bc75d catch lexical_cast exceptions 2022-10-06 18:48:17 -04:00
orignal
549dcbee32 don't set port=1 2022-10-03 15:40:25 -04:00
orignal
0a0c2350f2 random seelection between NTCP2 and SSU2 priority 2022-10-01 19:39:08 -04:00
orignal
cef2263a7f Transports priority for peer 2022-09-30 19:24:36 -04:00
orignal
638c376e5b enable SSU2 and disable SSU by default 2022-09-24 16:37:18 -04:00
orignal
8eade86624 moved InitTransports code from Daemon to Transports 2022-09-23 21:27:11 -04:00
orignal
24ae8d5443 don't handle more than 2 fragments in SessionConfirmed 2022-09-20 18:32:29 -04:00
orignal
030af11d86 don't merge duppicated fragment of SessionConfirmed 2022-09-18 21:13:38 -04:00
orignal
857a2bc399 verify path response 2022-09-14 19:08:14 -04:00
orignal
09e6e2940f correct max paddign size 2022-09-09 07:23:46 -04:00
orignal
23e18a34d4 check if new address is in reserved range 2022-09-08 18:46:48 -04:00
orignal
3bdef5f58d update remote endpoint and send path challenge 2022-09-07 19:11:33 -04:00
orignal
cf27581c76 check min MTU 1280 2022-09-05 15:27:38 -04:00
orignal
4634bff9f0 limit number of resent packets. Resend interval variance 2022-09-03 15:38:52 -04:00
orignal
1a9c658836 immediate ack request flag 2022-09-01 18:40:54 -04:00
orignal
1a32c55ca3 delete routers with expired SSU2 introducers 2022-08-31 13:10:52 -04:00
orignal
9b5a885b3b check if I2NP message to send is not null 2022-08-30 08:48:28 -04:00
orignal
f378119889 5 SSU2 peer tests if no SSU 2022-08-29 21:27:02 -04:00
orignal
8fd466c5a9 separate network status and errors 2022-08-29 21:11:17 -04:00
orignal
95f19a5fb2 send Retry instead SessionCreated if clock skew 2022-08-26 10:14:30 -04:00
orignal
f98780b1d7 check timestamp for token request 2022-08-25 18:48:26 -04:00
orignal
150c89e48a don't request session if zero token received 2022-08-25 15:14:45 -04:00
R4SAS
63227ab2f1
fix log message
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-08-24 11:25:14 +03:00
orignal
b40f1b67b9 2.43.0 2022-08-21 14:52:55 -04:00
orignal
f875823357 copy path challenge to response 2022-08-15 15:32:55 -04:00
orignal
75611866eb update router's transports when SSU or NTCP address was deleted 2022-08-14 10:43:16 -04:00
orignal
c3dd7ed73a try to resend if window is full 2022-08-12 18:56:58 -04:00
orignal
3ae885d120 change status back to Testing from Unknow if next test was accepted 2022-08-12 16:12:30 -04:00
orignal
81f53d313c alsways set some port to SSU2 address 2022-08-11 20:16:08 -04:00
orignal
9d123fa5ad select random port if port not found or specified 2022-08-10 22:00:11 -04:00
orignal
f4d6a08d57 create separate addresses for published SSU2 2022-08-10 15:50:30 -04:00
orignal
8f5768f85b memory pool for leases 2022-08-09 19:40:07 -04:00
orignal
3dd78a2589 remove SSU address if SSU is off 2022-08-09 19:12:11 -04:00
orignal
df92a85159 set SSU2 port +1 if not specified 2022-08-09 14:08:13 -04:00
orignal
ab606a1121 adjust clock from SSU2 2022-08-08 19:57:48 -04:00
orignal
c6f898b8ca connect to Charlie if RelayResponse from Bob was received before HolePunch 2022-08-08 13:08:12 -04:00
orignal
b9970e1908 cleanup introducers upon reschedule 2022-08-07 09:50:30 -04:00
orignal
8bb9a57908 re-insert introducer back 2022-08-06 20:05:08 -04:00
orignal
53934a470b update keys for NTCP2 and SSU2 addreses 2022-08-06 16:30:49 -04:00
orignal
a94ae7d77d update keys for NTCP2 and SSU2 addreses 2022-08-06 16:25:46 -04:00
orignal
f43e860998 cleanup introducers if router is not longer firewalled 2022-08-05 21:23:23 -04:00
orignal
3e40852999 memory pool for sent packets 2022-08-04 18:13:44 -04:00
orignal
df073bb306 send local address in RelayResponse block 2022-08-04 15:15:19 -04:00
orignal
771c4a0d02 allocate smaller I2NP buffer for fragmented message. Limit number of fragments by 64 2022-08-03 16:06:07 -04:00
orignal
cb959ab14c allocate tunnel message buffer for I2NP block with tunnel data message type 2022-08-03 10:26:55 -04:00
orignal
ed5c533982 recgnize symmetric NAT from SSU2 2022-08-02 20:02:55 -04:00
orignal
98d2ce5845 Respond to path challenge. Correct termination reason for duplicated session 2022-08-02 13:35:18 -04:00
orignal
eba4626589 kappa for RTO culculation 2022-07-31 09:45:18 -04:00
orignal
ff5fa1d137 3 bytes off for token in RelayResponse 2022-07-30 18:50:43 -04:00
orignal
71766ecd16 select introducers randomly. More logging for RelayIntro 2022-07-30 16:31:44 -04:00
orignal
fc63ca6982 correct excluded routers size for exploratory request 2022-07-30 14:28:09 -04:00
orignal
0e6d888ed3 changed some retransmission params 2022-07-29 18:45:02 -04:00
orignal
9afe3b5f39 fixed typo 2022-07-29 18:27:21 -04:00
orignal
3bd40fc8b3 calculate RTT and RTO 2022-07-29 15:24:24 -04:00
orignal
01fe642beb don't create another session for peer test 2022-07-29 12:48:23 -04:00
orignal
e70d57dcb4 resend intervals in milliseconds 2022-07-28 19:30:08 -04:00
orignal
fd41fba069 variable retranmission window 2022-07-27 20:00:03 -04:00
orignal
8a6fe0f321 check if address type matches peer's address type for peer test msg 1 2022-07-27 10:55:08 -04:00
orignal
ae73e8a305 find SSU2 address with static key if supports both ipv4 and ipv6 2022-07-27 10:19:25 -04:00
R4SAS
a344c09d0d
[util] add inet_ntop for XP
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-07-27 15:44:30 +03:00
R4SAS
991e37d0bf
[peertest] fixed ssu2 router exclusion
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-07-27 13:38:28 +03:00
R4SAS
fdeb884fe5
fixed getting MTU on windows, add address to log messages with MTU
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-07-27 13:24:07 +03:00
orignal
4b1f5c9c9b terminate session in separate task 2022-07-26 19:56:30 -04:00
orignal
b574aaf99c fix SSU2 crash on shutdown 2022-07-26 18:46:05 -04:00
orignal
f9106b77bb add SSU2 introducer if SSU2 only 2022-07-26 13:57:37 -04:00
orignal
a0419e4f34 add SSU2 introducer if SSU2 only 2022-07-26 13:55:31 -04:00
orignal
46a549c875 random size of fragments 2022-07-26 13:00:41 -04:00
orignal
f8a609f692 respond to termination 2022-07-25 18:46:25 -04:00
orignal
987497bb10 don't publish invalid host/port 2022-07-25 15:23:52 -04:00
orignal
e537878b8a check Ack block bufer size and shrink ranges if necessary 2022-07-25 13:42:59 -04:00
orignal
617f45bc59 try to send I2NP message in one packet, reduce or drop Ack block if necessary 2022-07-24 19:44:49 -04:00
orignal
fe744f8f81 more routine cleanup 2022-07-24 16:44:02 -04:00
orignal
93d879b297 more tunnel brokers ranges 2022-07-24 15:39:46 -04:00
orignal
dbb9295063 set MTU if local address is specified explicitly. update MTU for ipv6 if not set 2022-07-24 15:24:01 -04:00
orignal
09aa96e486 always bring to closing state if termination requested 2022-07-23 19:48:37 -04:00
orignal
4d0047ae7c request termination for existing session 2022-07-23 18:48:53 -04:00
orignal
b860a4799d testing cap for published SSU2 address 2022-07-23 16:17:30 -04:00
orignal
6ff64352d3 don't create and oublish duplicates 2022-07-23 14:32:16 -04:00
orignal
3683ec6a95 fixed race condition 2022-07-22 15:16:42 -04:00
orignal
454fa9ee9b update SSU2 port 2022-07-22 14:52:24 -04:00
orignal
d33aeb4bb2 set unreachable if firewalled. Store router's hash of introducer instead session 2022-07-21 19:38:18 -04:00
R4SAS
5ff34b93c0
print detected MTU
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-07-21 23:53:12 +03:00
orignal
2eb929fe05
Merge pull request #1776 from simonvetter/openssl
leaseset: add missing bound checks
2022-07-21 16:23:48 -04:00
orignal
ea0ed9e844 update SSU2 introducers if Firewalled 2022-07-20 21:55:48 -04:00
orignal
4a3e481a83 don't publish introducers for non-published SSU2 address 2022-07-20 16:13:00 -04:00
orignal
2197cd8620 add/remove SSU2 introducers to local RouterInfo 2022-07-20 16:01:08 -04:00
orignal
cf0d3b5f61 create new list of SSU2 introducers 2022-07-19 18:38:58 -04:00
orignal
6f7ab49346 moved creation time to TransportSession 2022-07-19 17:02:37 -04:00
orignal
000e0358a7 resend SessionConfirmed immediately if another SessionCreated received 2022-07-19 16:09:16 -04:00
orignal
a3e19931f0 insert RouterInfo from SessionConfirmed into netdb immediately 2022-07-19 14:06:00 -04:00
orignal
9fec1a86cf send ack for peer test 2022-07-18 19:58:19 -04:00
orignal
ffab29890b created additional ranges if acnt > 255 2022-07-17 15:22:41 -04:00
orignal
206c068d8e don't send termination without address 2022-07-17 07:44:11 -04:00
orignal
dc30cd1112 handle SessionConfirmed fragments in reversed order 2022-07-16 16:08:55 -04:00
Simon Vetter
412a245e88 leaseset: add missing bound checks
This builds on ChadF's issue and patch (https://github.com/PurpleI2P/i2pd/issues/1772)
and fixes other potential bound check issues.
2022-07-16 18:00:20 +02:00
orignal
16290bf66f fixed race condition on session termination 2022-07-15 18:22:18 -04:00
orignal
4f8b0e6484 send more SessionConfirmed termination messages. Limit send queue 2022-07-15 15:01:46 -04:00
orignal
5026dbc1b3 receive bigger packets 2022-07-14 20:12:27 -04:00
orignal
014e4b0e1d detect MTU for some known ipv6 tunnel brokers 2022-07-14 13:48:28 -04:00
orignal
14a6947b02 round MTU to multiple of 16 for SSU1 2022-07-14 07:58:55 -04:00
orignal
665a914dc3 set max MTU for ipv4 2022-07-13 20:08:57 -04:00
orignal
8feac310af start initial peer test if SSU2 only 2022-07-13 19:56:55 -04:00
orignal
3394bb4b8d calculate SSU2 session MTU and max payload size 2022-07-13 19:35:18 -04:00
orignal
1dd2bd0013 publish MTU for ipv6 SSU2 address. Max MTU of 1488 for SSU1 2022-07-13 15:52:19 -04:00
orignal
5c62726992 check clock skew and terminate 2022-07-13 12:45:20 -04:00
orignal
90981f628e Send fragmented SessionConfirmed 2022-07-12 19:04:03 -04:00
orignal
0c34189d94 correct buffer size for fragments of SessionConfirmed 2022-07-12 12:17:58 -04:00
orignal
f1d3d6a7b5 set max compression for SessionConfirmed 2022-07-12 10:50:21 -04:00
orignal
b0d962b49a send ack for retransmitted SessionConfirmed 2022-07-11 19:00:23 -04:00
orignal
c50e453af6 check out of sequence messages range 2022-07-11 18:16:05 -04:00
Simon Vetter
3cf809e99d fix SSU2 introducers selection logic 2022-07-11 08:16:07 +00:00
orignal
8b649aaaf8 NACKs and Acks only Ack ranges 2022-07-10 18:50:02 -04:00
orignal
fdebbc4498 select sessions for introducers 2022-07-10 17:13:25 -04:00
orignal
3ff3417ff2 send termiation with reason 2022-07-09 17:05:23 -04:00
orignal
bb6227281a teminate session after 5 unacked resends 2022-07-08 21:31:44 -04:00
orignal
2f44d99a74 session closing state 2022-07-08 19:06:09 -04:00
orignal
ca4414d15a request relay tag if firewalled 2022-07-08 13:52:09 -04:00
orignal
fbb961b43c extract correct endpoint from peer test msg 2 2022-07-07 13:23:51 -04:00
orignal
fa9c174264 handle first packet from Bob 2022-07-06 21:28:53 -04:00
orignal
83f43ab166 pick 3 routers for SSU2 peer test 2022-07-06 19:33:02 -04:00
orignal
f7e9e6a1c4 set status OK after both peer test msg 4 and 5 2022-07-06 13:35:04 -04:00
orignal
aa21748e9a set status OK after peer test msg 5 2022-07-06 12:41:51 -04:00
orignal
a2f4e08b00 set testing status for SSU2 peer test 2022-07-05 19:38:24 -04:00
orignal
66bc29d075 insert received RouterInfo into netdb immediately 2022-07-05 19:15:50 -04:00
orignal
3ed625f949 don't try SSU peer test if SSU is disabled 2022-07-05 13:07:23 -04:00
orignal
a1e414c3b7 make SSU2 server eligible for peer test 2022-07-05 12:55:11 -04:00
r4sas
a5a35b1fa6 [daemon] check for SSU2 transport at start
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-07-05 06:11:23 +00:00
orignal
6039cdceb0 correct SSU2 only detection 2022-07-04 20:01:45 -04:00
orignal
473159be0f don't use port from SSU2 address 2022-07-04 19:32:43 -04:00
orignal
0e6ad548b2 invoke SSU2 peer test updates 2022-07-04 18:54:20 -04:00
orignal
6143515ac6 update our IP adress from SSU2 2022-07-03 09:31:20 -04:00
orignal
50419f200d fixed 1 packet off for out of sequence clean up 2022-07-01 17:35:38 -04:00
orignal
455390f121 clean up first out of sequence packet if too many 2022-07-01 10:52:10 -04:00
orignal
d375299fa9 send token in relay response block 2022-06-30 20:00:18 -04:00
orignal
28db337166 give priority to SSU2 over SSU 2022-06-30 12:53:50 -04:00
orignal
6ca9a599ff remove session after HolePunch received 2022-06-30 08:37:50 -04:00
orignal
83bd3b6f0b use token from RelayResponse block 2022-06-29 13:42:57 -04:00
orignal
a68765e021 fixed off 5 bytes for follow on fragment 2022-06-29 08:30:11 -04:00
orignal
f5ed9129cd process retry as reponse to relay request 2022-06-29 08:09:43 -04:00
orignal
5e3115a614 check nonce in HolePunch relay response block 2022-06-28 18:51:31 -04:00
orignal
624c46f925 correct msg offset for follow-on fragment 2022-06-28 16:09:13 -04:00
orignal
52d1ee161f store RouterInfo in netdb from SessionConfirmed 2022-06-28 10:35:35 -04:00
orignal
d3bc9eb110 update token and conn id after HolePunch 2022-06-27 23:03:27 -04:00
orignal
72b61a29c2 check TokenRequest message size 2022-06-27 15:56:47 -04:00
orignal
a99fcfe54f cleanup terminated sessions 2022-06-26 21:35:26 -04:00
orignal
b5d139f7b2 process session created after session request sent 2022-06-26 14:31:24 -04:00
orignal
463ed12ce8 don't pick same session for PeerTest msg 2 2022-06-26 10:07:39 -04:00
orignal
baf74cb582 1 byte off for RelayRequest signature 2022-06-26 09:53:29 -04:00
orignal
63d7cffefe Merge branch 'openssl' of https://github.com/PurpleI2P/i2pd into openssl 2022-06-25 18:52:09 -04:00
orignal
d7d74666b2 correct max MTU size 2022-06-25 18:51:24 -04:00
R4SAS
078d76c6f3
fix tabulation, remove long description (to be moved to documentation)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-06-26 01:38:42 +03:00
orignal
3539ee9be6
Merge pull request #1769 from AVAtarMod/sigtstp-patch-1
Add SIGTSTP, SIGCONT support
2022-06-25 13:09:57 -04:00
AVAtarMod
437282b148 [config, daemon] catch TSTP, CONT is option 2022-06-25 18:54:54 +03:00
orignal
dd1dd3b7cf wait for Ack for SessionConfirmed or resend 2022-06-24 22:06:30 -04:00
orignal
ae77d4ad22 correct signed content for peer test msg 3 2022-06-24 18:18:11 -04:00
orignal
821987fed7 don't send peer test for unknown address/port 2022-06-24 15:31:08 -04:00
orignal
18ddba4332 send RouterInfo message to right session in relay request 2022-06-24 14:08:39 -04:00
orignal
aaad6dece6 set session request sent status in right place 2022-06-24 13:27:13 -04:00
orignal
ed04747b9d resend SessionRequest and SessionCreated 2022-06-24 13:07:02 -04:00
orignal
827a88d772 exclude expired SSU2 introducers 2022-06-23 18:23:25 -04:00
orignal
38e43bc9c8 check Charlie's address for PeerTest msg 4 2022-06-23 08:18:35 -04:00
orignal
c3c5c7ae63 forward correct RelayResponse from Charlie to Alice 2022-06-22 16:56:54 -04:00
orignal
578a15bbe5 don't send PeerTest msg 5 if address is not supported 2022-06-22 15:26:23 -04:00
orignal
6b3d7372ae token received session state 2022-06-22 13:58:22 -04:00
orignal
55f7529167 delete pending outgoind session when Retry received 2022-06-22 13:36:01 -04:00
orignal
bceae244c1 delete pending outgoind session when SessionCreated received 2022-06-22 13:15:25 -04:00
orignal
5de224d6bf don't connect if pending connection already 2022-06-22 11:59:29 -04:00
orignal
694b936f30 verify signature for PeerTest msg 4 2022-06-21 18:54:13 -04:00
orignal
dda25d431c check if we can send HolePunch to partcular address 2022-06-21 16:20:39 -04:00
orignal
22f9abc2f1 send errors for RelayIntro 2022-06-21 15:45:35 -04:00
orignal
c6c3de9164 fixed PeerTest signature verification 2022-06-21 14:46:59 -04:00
orignal
58186f0283 handle PeerTest msg 4 if msg 5 was received before 2022-06-21 12:09:58 -04:00
orignal
0253e2d3f6 different nonce location for PeerTest msg 2 and 4 2022-06-21 09:51:49 -04:00
orignal
ee20d5b804 sign data for PeerTest msg 3 and 5 2022-06-21 08:12:41 -04:00
orignal
b8bc114502 correct source connection id for HolePunch 2022-06-20 15:52:16 -04:00
orignal
74d29770e1 handle unexpected PeerTest message 2022-06-20 13:14:02 -04:00
orignal
e4d5788cdc correct endianess for PeerTest mesaage connection id 2022-06-20 08:16:50 -04:00
orignal
2a5cf3e4a8 SSU2 connect timer 2022-06-19 16:40:03 -04:00
orignal
c348736058 send updated local RouterInfo for long sessions 2022-06-19 14:21:35 -04:00
orignal
5bb20cb039 token expiration threshold 2022-06-19 08:52:47 -04:00
orignal
dd602a27b5 send RelayResponse rejection message 2022-06-17 19:55:58 -04:00
orignal
2067de162a show itag for SSU2 sessions 2022-06-17 18:45:37 -04:00
orignal
2cc106b43e bind SSU2 socket to specified interface 2022-06-17 15:16:12 -04:00
orignal
b15bfd99b3 correct layout for peer test masg 2 and 4 2022-06-17 08:34:40 -04:00
orignal
67252b90b3 generate new token with longer expiration time 2022-06-16 22:37:33 -04:00
orignal
079f7e515c correct hangling of Ack ranges 2022-06-16 14:13:28 -04:00
orignal
e8c58270c4 Populate router's buffer before sending RouterInfo block 2022-06-15 13:10:49 -04:00
orignal
0c64f278d7 1 byte off for ranges in Ack block 2022-06-14 13:02:39 -04:00
orignal
03518ec94f fixed typo 2022-06-14 08:42:01 -04:00
orignal
93b5dc2dff send new token block in SessionCreated 2022-06-13 17:55:41 -04:00
orignal
3bef6383d9 send update local RouterInfo 2022-06-13 14:02:36 -04:00
orignal
17892238a9 update supported transports for SSU2 2022-06-12 18:26:02 -04:00
orignal
b678c989e2 fixed typo 2022-06-12 17:26:19 -04:00
orignal
b72d1237d2 correct values for last ack range 2022-06-12 16:54:02 -04:00
orignal
f7b6db5dad PeerTest for connection through introducer 2022-06-11 21:26:23 -04:00
orignal
b744a0cc38 correct ack ranges calculation 2022-06-11 10:15:27 -04:00
orignal
b918499f14 correct SSU2 server termination 2022-06-10 12:50:55 -04:00
orignal
2cfd054f2c publisuh peer test cap for published SSU2 addresses 2022-06-10 10:59:26 -04:00
orignal
dddc7ab039 publisuh peer test cap for published SSU2 addresses 2022-06-10 10:33:27 -04:00
orignal
2e4d8cdc8b handle PeerTest msg 1 2022-06-09 18:04:37 -04:00
orignal
0640bec026 corect ack count in ranges 2022-06-08 12:52:56 -04:00
orignal
cbcee5fb45 handle peer test messages 4 and 5 2022-06-07 16:09:20 -04:00
orignal
47460d86b2 verify signature and send peer test msg 5 2022-06-07 12:55:58 -04:00
orignal
3cd74f0d4f send PeerTest message 2022-06-06 17:28:39 -04:00
R4SAS
690c9f7c6f
[FS] add support for windows ProgramData path when running as service
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-06-06 18:25:22 +03:00
R4SAS
e2718e5a12
[config] change descriptions for deprecated options
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-06-06 17:44:36 +03:00
orignal
d9fefe757e SSU2/SSU2Session split 2022-06-05 19:33:36 -04:00
orignal
55e4bf6b65 set correct statuc code for peer test 2022-06-05 14:59:33 -04:00
orignal
4670b12d49 correct buffer size for token request 2022-06-04 08:18:45 -04:00
orignal
321ec8ae4d correct size for Ack block with ranges 2022-06-03 19:16:52 -04:00
orignal
1ccbb8d10b correct offset for nonce in peer test message 2022-06-03 14:02:31 -04:00
orignal
86c0accdce check nonce for peer test msg 5 2022-06-03 13:18:37 -04:00
orignal
38d6c29ce9 correct timestamp size for peer test message 2022-06-03 08:39:54 -04:00
orignal
0cf9478cd4 create SSU2 session for peer test msgs 5-7 2022-06-02 20:12:25 -04:00
orignal
a04abd304a don't send own hash for peer test msg 1 2022-06-02 18:23:51 -04:00
orignal
84aec9fe31 correct msg for first peer test message 2022-06-02 15:40:51 -04:00
orignal
593b9bb6c5 start SSU2 server before peer test 2022-06-02 15:08:38 -04:00
orignal
d3a9cc8fde check if session is established before sending peer test 2022-06-02 15:04:35 -04:00
orignal
87a434c377 start peer test for SSU2 2022-06-01 21:51:02 -04:00
orignal
56022c9442 handle garlic messages from tunnels without pool 2022-05-31 21:43:31 -04:00
orignal
593d6bf466 create initial peer test 2022-05-31 18:31:05 -04:00
orignal
1d6104ecf3 addressbook.enabled config param 2022-05-27 13:17:06 -04:00
orignal
14da941ff4 Fixed #1761. Correct section for SSU2 2022-05-25 08:37:36 -04:00
R4SAS
06b87311ea
2.42.1
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-24 15:09:26 +03:00
orignal
fd7b889a0f 2.42.0 2022-05-22 08:26:14 -04:00
R4SAS
6b4ffcff5a cleanup code (spaces, tabs)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-20 17:44:29 +00:00
R4SAS
d31cd2e5d6
fix incorrect boolean value parsing
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-17 19:02:12 +03:00
R4SAS
ee6bb40736 remove obsolete msvc define
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-15 11:47:10 +03:00
orignal
2cd3ebbdb3 copy peer test block 2022-05-14 19:18:58 -04:00
orignal
5e25e30330 check if there is only one unacked packet 2022-05-14 16:36:16 -04:00
orignal
5aa2a8f60f handle peer tests 2022-05-13 20:38:18 -04:00
orbea
0a1e302e8a libi2pd: Fix the build with LibreSSL 3.5.2 2022-05-12 19:11:17 +00:00
orignal
bb705a77cf handle PeerTest message 2022-05-11 17:48:25 -04:00
orignal
cb6155b946 fixed warning 2022-05-11 11:44:27 -04:00
orignal
714d1cc993 close stream if delete requested 2022-05-08 11:49:11 -04:00
orignal
bc8e4494c4 random new profiles cleanup interval 2022-05-07 09:56:58 -04:00
R4SAS
c3a064f980
change int type
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-07 03:40:59 +03:00
R4SAS
eb3feb7dbd [profiles] add daily cleanup
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-07 03:19:32 +03:00
orignal
da3f3ccac9 connect to reachable introducers only 2022-05-06 19:38:48 -04:00
orignal
1a1871e8cd add RouterInfo block before RelayIntro 2022-05-06 15:02:09 -04:00
orignal
c22ab7e1fc use openssl's siphash for 3.0.1 and higher 2022-05-04 18:58:08 -04:00
orignal
436992b069 send and process HolePunch message 2022-05-04 13:58:06 -04:00
orignal
18cb3912e5 fixed imccorect termination 2022-05-02 15:05:44 -04:00
R4SAS
3716b6f988
move TunnelHopVisitor inside Tunnel class
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-01 23:40:00 +03:00
R4SAS
c9e4e78f41
[webconsole] remove version from title, move tunnel chain print from Tunnel class
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-01 23:25:08 +03:00
orignal
5aebefe73f connect through introducer 2022-05-01 10:33:25 -04:00
R4SAS
8f2124beab
update reseeds
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-30 19:33:30 +03:00
orignal
1f5ed89a88 set blinded signature type to RedDSA for EdDSA 2022-04-29 12:48:45 -04:00
orignal
dc82105226 check status code and verify RelayResponse signature 2022-04-28 20:41:06 -04:00
orignal
5221f3ddc9 one SSU2 session per remote router 2022-04-28 13:11:51 -04:00
orignal
e970deb92b check presense of introducers in SSU2 address 2022-04-28 11:43:33 -04:00
orignal
9db7ec6bb0 create and send RelayRequest 2022-04-27 18:52:44 -04:00
orignal
2e691b6655 check if next manage time is too long 2022-04-26 21:02:39 -04:00
orignal
f22e10537b fixed typo 2022-04-26 20:45:10 -04:00
orignal
6e532c494c create new published SSU2 addresses 2022-04-26 20:30:39 -04:00
orignal
f9ed0d4aa2 fixed crash 2022-04-26 20:01:32 -04:00
orignal
78b1afcc8c publish introducer cap for SSU2 address 2022-04-26 15:20:57 -04:00
orignal
40340cf9c2 handle RelayResponse 2022-04-26 13:59:59 -04:00
orignal
eb6437050f SSU2 introducers 2022-04-25 19:57:46 -04:00
orignal
45ebfe378b correct Ack range 2022-04-23 11:11:49 -04:00
R4SAS
1326597226 use ipv6 preference only when netinet headers not used (entware with musl workaround)'
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-23 13:50:34 +03:00
orignal
751da92c13 send relay response 2022-04-22 20:34:19 -04:00
orignal
e10ca637da handle RelayIntro 2022-04-22 15:03:49 -04:00
orignal
c5d9d71a8a create relay tag and relay request block 2022-04-21 15:47:36 -04:00
orignal
3e0f5d231d send queue after batch of packets 2022-04-18 15:47:35 -04:00
orignal
6990f177ba window size 2022-04-18 13:14:09 -04:00
orignal
4c91ae0085 check if end of list 2022-04-16 17:01:06 -04:00
orignal
43f74d4d5a resend packet with new packet number 2022-04-16 15:42:11 -04:00
orignal
8c3e716c3f ranges in ack block 2022-04-15 16:26:44 -04:00
orignal
05946125b5 handle single packet 2022-04-13 12:33:59 -04:00
orignal
1e2a0a4549 handle incoming packets in batch 2022-04-12 11:42:51 -04:00
orignal
f9d67b28ec handle fragmented SessionConfirmed 2022-04-09 19:56:57 -04:00
orignal
46b77cc280 increase RouterInfo buffer size 2022-04-09 14:40:38 -04:00
orignal
678a1ae0fb send fragmented messages 2022-04-09 11:42:34 -04:00
orignal
51cbffd097 don't lookup session for every sinle packet 2022-04-07 10:57:57 -04:00
orignal
207b13dcab send correct acnt if gaps 2022-04-05 18:23:52 -04:00
orignal
3052dbd1e8 single receive thread for both ipv4 and ipv6 2022-04-05 16:27:52 -04:00
orignal
5891b1ceb2 separate receive thread 2022-04-05 16:14:13 -04:00
orignal
07e14ddda8 check if SSU2 enabled 2022-04-04 20:37:29 -04:00
orignal
db5e90787c update I2NP header after all fragments received 2022-04-04 13:25:08 -04:00
orignal
67e501f5c7 correct nonce for SessionCorfirmed part 2 2022-04-04 11:52:14 -04:00
orignal
2160001167 correct non for token request and retry encryption 2022-04-04 09:58:17 -04:00
orignal
f5f4150d17 fixed typo 2022-04-03 13:43:33 -04:00
orignal
f5f282af97 cost for published SSU2 address 2022-04-02 14:32:26 -04:00
orignal
82f9585b7a handle fragments 2022-04-02 13:05:11 -04:00
orignal
eb561bb0c2 handle Ack ranges 2022-04-01 15:09:35 -04:00
orignal
81207999eb check token in SessionRequest 2022-03-31 21:07:51 -04:00
orignal
2fef595b83 resend packets 2022-03-31 15:35:55 -04:00
orignal
2024e790ca send I2NP messages 2022-03-30 18:04:12 -04:00
orignal
f9925c7374 hanlde Ack block 2022-03-30 15:03:45 -04:00
orignal
dd774b8dfd store out of sequence packet numbers 2022-03-30 12:31:24 -04:00
orignal
064b8042a5 ssu2.published and update SSU2 ipv4 2022-03-29 14:56:57 -04:00
orignal
7923ed9567 publish SSU2 address 2022-03-29 13:56:56 -04:00
orignal
30b83414ef find SSU2 address by address type 2022-03-28 18:03:22 -04:00
orignal
990906c57f insert garlic tag in destination's thread 2022-03-28 12:15:40 -04:00
orignal
4c323a666a show SSU2 transports in web console 2022-03-27 19:29:50 -04:00
orignal
a3f165d374 handle and send termination 2022-03-27 16:39:58 -04:00
orignal
7d5f51e357 don't send instant Ack for out-of-sequence message 2022-03-27 09:26:45 -04:00
orignal
371a339b18 encrypt Data header 2022-03-27 07:47:25 -04:00
orignal
7e7aee27b6 handle I2NP message block 2022-03-26 21:59:21 -04:00
orignal
53148fe58f send Ack packet 2022-03-26 16:35:07 -04:00
orignal
56b6de6962 correct header decryption for Data message 2022-03-25 17:57:59 -04:00
orignal
44735681af KDF and process Data message 2022-03-25 15:34:43 -04:00
orignal
ee1c4f4fdc internal numeric id for families 2022-03-24 15:50:20 -04:00
orignal
fb6ecdde1e handle TokenRequest 2022-03-23 21:48:41 -04:00
orignal
861166d8a9 send TokenRequest message: 2022-03-23 19:13:44 -04:00
R4SAS
70dca81c40 dropped MESHNET build option
Dropping MESHNET build option due to lack of usage. That change won't
affect on usage with currently supported Yggdrasil network.

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-03-24 01:36:12 +03:00
orignal
2440ffbfc9 handle SSU2 SessionConfirmed 2022-03-23 14:06:55 -04:00
orignal
77c5dde320 send SessionConfirmed 2022-03-21 21:06:14 -04:00
orignal
aa49cad279 correct encrypted payload size for MixHash 2022-03-21 13:21:08 -04:00
orignal
f56ae240ab don't delete peding endpoint if Retry received 2022-03-21 12:56:02 -04:00
orignal
e871a30a78 initialize connid in constructor 2022-03-20 16:53:32 -04:00
orignal
30e6984889 handle Retry message 2022-03-20 15:10:18 -04:00
orignal
324932c758 separate i and key fields for shared SSU address 2022-03-20 10:28:08 -04:00
orignal
421800bc8f recognize SSU address supporting SSU2 2022-03-19 17:34:07 -04:00
orignal
87bf5c2418 cleanup pending sessions 2022-03-18 20:21:31 -04:00
orignal
5c9af1c613 MixHash with encrypted payload after decryption 2022-03-18 15:32:32 -04:00
orignal
765e0e5c6b correct 'i' size for SSU2 2022-03-18 13:33:33 -04:00
orignal
cc296e16dc don't make SSU2 address published is 'i' is presented 2022-03-18 13:02:59 -04:00
orignal
ab9901525b separated sockets for ipv4 and ipv6 2022-03-17 18:45:14 -04:00
orignal
3643a46a0c don't update SSU2 port 2022-03-17 14:47:00 -04:00
orignal
d467e6869d don't update address for SSU2 2022-03-17 13:21:51 -04:00
orignal
3c5c375f71 connect to SSU2 address 2022-03-16 21:11:48 -04:00
orignal
7473d8c9aa create and handle Address block 2022-03-16 13:13:31 -04:00
orignal
40c8a1bc1d handle payload blocks 2022-03-15 20:49:41 -04:00
orignal
7b72d91549 receive incoming SSU2 packets 2022-03-14 19:25:59 -04:00
orignal
b3c2e86436 skip unknown address 2022-03-14 15:54:55 -04:00
orignal
908bdc7624 always publish intro key for SSU2 address 2022-03-13 21:55:03 -04:00
orignal
21c1ec9c8c enable SSU2 server 2022-03-13 21:34:11 -04:00
orignal
6eba061c2a show local SSU2 address 2022-03-13 11:04:37 -04:00
orignal
f184f550b9 SSU2 address in config and RouterInfo 2022-03-12 21:51:17 -05:00
orignal
bb7c0fef20 SSU2 address in config and RouterInfo 2022-03-12 21:40:12 -05:00
orignal
5c15a12116 don't allocate buffer from netdb for LocalRouterInfo 2022-03-11 19:03:00 -05:00
orignal
68d015763e recognize SSU2 addresses 2022-03-11 16:17:44 -05:00
orignal
7faa732f38 send SessionCreated 2022-03-08 21:33:21 -05:00
orignal
11f9eeabf1 inbound.lengthVariance and outbound.lengthVariance 2022-03-07 22:20:11 -05:00
orignal
a152f36894 MixHash for SSU2 long header 2022-03-07 18:20:06 -05:00
orignal
d4ede6ff01 process SessionRequest 2022-03-05 18:39:27 -05:00
orignal
35542d803c KDF for session request 2022-03-04 21:51:40 -05:00
orignal
f6ba776c12 SSU2 keys 2022-03-01 21:23:08 -05:00
orignal
1511dcb309 store endpoint and send packet 2022-02-28 21:46:00 -05:00
R4SAS
35afa98112
[reseed] add new reseed
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-03-01 00:23:52 +03:00
orignal
9f1a125ed9 decrypt connID for incoming packet 2022-02-27 20:15:14 -05:00
orignal
0a34f1f3ad 2.41.0 2022-02-19 17:21:11 -05:00
orignal
7bdeaa9611 don't pick own router for peer test 2022-02-19 08:15:49 -05:00
R4SAS
a51ef0cfc6
set of updates:
* [webconsole] change error handling code to restart acceptor after any
error
* [webconsole] call shutdown vefore stopping acceptor on exit
* update license headers for modified files, change year to file
  creation year, not 2013 (when project started)

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-02-18 09:20:06 +03:00
orignal
a92c29e04c drop routers older than 6 months on start 2022-02-13 15:42:06 -05:00
orignal
510fe43ec4 create and encrypt SessionRequest 2022-02-11 19:21:04 -05:00
R4SAS
73e572b66b
disable thread naming for PowerPC (#1726)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-02-11 22:17:38 +03:00
R4SAS
90130b5492
fix exception printing
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-02-11 00:38:29 +03:00
R4SAS
f22faaefeb
remove duplicate definition
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-02-11 00:27:19 +03:00
R4SAS
ac25649425 cast pthread name to char* for apple sdk
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-02-11 00:05:07 +03:00
orignal
04388325a8 KDF and encryption for SessionRequest 2022-02-10 14:03:09 -05:00
orignal
61ec873842 fixed incorrect ret code 2022-02-10 13:07:29 -05:00
orignal
ea1f2d4e26 use i for intro key for SSU 2022-02-06 10:17:35 -05:00
orignal
4211c733a2 s and i keys for all addresses 2022-02-05 17:14:25 -05:00
orignal
450266818a Noise XK for SSU2 2022-02-05 15:58:39 -05:00
orignal
1e019157bb SSU2 initial commit 2022-02-04 15:01:18 -05:00
orignal
c9a1066f02 send SessionCreated before connection close if slock skew 2022-02-03 14:49:36 -05:00
R4SAS
0062f7d764
[reseed] dont do yggdrasill address check if option disabled
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-02-03 14:49:24 +03:00
orignal
95e994e171 pass incomplete I2NP message by move 2022-02-02 17:33:33 -05:00
orignal
19cc1c3b3f adjust clock from SSU SessionCreated is time difference exceeds 15 seconds 2022-02-01 18:43:11 -05:00
R4SAS
53f19e4050
Use builtin bitswap for endian on windows
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-01-29 22:09:27 +03:00
R4SAS
54b7d46f5a reseeds update
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-01-28 18:39:21 +03:00
orignal
c10ee59de3 cleanup memrory pools if no more streams 2022-01-21 21:34:50 -05:00
orignal
58cf26c304 cleanup properties before update 2022-01-15 19:26:11 -05:00
orignal
a2de5564ac moved m_Properties to LocalRouterInfo 2022-01-15 18:54:02 -05:00
orignal
338b17ccf1 LocalRouterInfo for own router 2022-01-15 12:48:49 -05:00
orignal
2cd50ebaee fixed race condition 2022-01-07 13:39:12 -05:00
orignal
cb6f6a6596 Merge branch 'openssl' of https://github.com/PurpleI2P/i2pd into openssl 2022-01-03 16:28:17 -05:00
orignal
e4ab0acc92 create RouterInfo from shared pointer to Buffer 2022-01-03 16:27:28 -05:00
Dimitris Apostolou
ac2c6c6010
Fix typo 2022-01-02 12:14:12 +02:00
orignal
c6b2ce93c4 Memory pool for RouterInfo address 2022-01-01 15:12:59 -05:00
orignal
f567417bb3 memory pool for RouterInfo buffer 2021-12-30 15:16:13 -05:00
orignal
ae5cb3bbe7 rollback 2021-12-28 08:00:03 -05:00
orignal
0eb8e15796 allocated actual buffer size for RouterInfo 2021-12-27 13:02:06 -05:00
orignal
1c95c7856f avoid duplicated addresses. Check presence of netId and version 2021-12-24 18:58:20 -05:00
orignal
daf7551e59 try another fllodfill if no compatible tunnels 2021-12-18 17:55:26 -05:00
orignal
5b63d3692e HidUser0's yggdrasil reseed added 2021-12-13 13:47:59 -05:00
R4SAS
1be4cce074
[addressbook] fix loading subscriptions from config
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-12-07 22:59:11 +03:00
orignal
935e93eb36 minimal send ack interval 2021-12-05 17:54:34 -05:00
orignal
b3bd175e64 2.40.0 2021-11-27 18:01:13 -05:00
R4SAS
edc0162163
clean line trailing spaces and tabs
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-11-27 23:30:35 +03:00
R4SAS
94661f697b
[log] update log messages (closes #1693)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-11-27 22:53:53 +03:00
R4SAS
96cdb3bca3
reseeds update
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-11-21 20:20:23 +03:00
orignal
6c57ba36f7 lazy initialization or tunnel gateway's random buffer 2021-11-20 18:31:18 -05:00
acetone
8b931dd40b
Transit traffic bandwidth limit 2021-11-20 08:37:36 -05:00
acetone
6b81478bd2
Merge branch 'PurpleI2P:openssl' into openssl 2021-11-20 05:47:32 -05:00
acetone
9d94eb83c1
--help
Traffic bandwidth -> Transit traffic bandwidth
2021-11-20 05:46:44 -05:00
R4SAS
174983548d
Merge pull request #1705 from rex4539/typos
Fix typos
2021-11-14 20:37:33 +03:00
orignal
9abd383014 eliminate extra pointers for tunnel hops 2021-11-13 15:11:59 -05:00
Dimitris Apostolou
8ee9c437e1
Fix typos 2021-11-13 19:07:50 +02:00
orignal
4052b1ea6d pick compatible outbound tunnel for datagrams 2021-11-08 18:23:26 -05:00
orignal
d798faa1ca pick compatible ooutbound tunnel 2021-11-07 17:18:31 -05:00
orignal
3f63f15b16 copy compatible transports to new tunnel 2021-11-06 19:16:45 -04:00
orignal
f8c390cdd3 pick compatible tunnels 2021-11-06 15:44:56 -04:00
orignal
8f0978cfd6 all transports by default 2021-11-06 10:49:18 -04:00
orignal
1a8a32a773 select next tunnel with compatible transports 2021-11-05 14:51:24 -04:00
orignal
c0400bfd07 virtual destructor for TunnelConfig 2021-10-31 22:14:59 -04:00
R4SAS
c6e4758187
Revert "Merge pull request #1703 from simonvetter/simon/memory-and-multithreading-fixes"
This reverts commit 67863cfcf9, reversing
changes made to 4c5ec68ff1.

That change completly bloking transports thread on windows.

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-11-01 05:03:34 +03:00
orignal
56ec8fe95b eliminate local destination mutex 2021-10-31 21:20:16 -04:00
Simon Vetter
58b7b7d731 libi2pd: add missing locks to i2p::tunnel::TunnelPool 2021-10-31 23:26:52 +01:00
Simon Vetter
1de1c79d4f libi2pd: add missing locks to i2p::tunnel::Tunnels
m_InboundTunnelsMutex, m_OutboundTunnelsMutex and m_PoolsMutex
have been changed to recursive_mutexes since they can be
acquired multiple times by the same thread.
2021-10-31 23:14:28 +01:00
Simon Vetter
7073a6bf38 libi2pd: make Tunnel and TunnelConfig destructors virtual 2021-10-31 14:02:25 +01:00
orignal
26db88d89b check if sip key is available 2021-10-27 22:33:37 -04:00
orignal
876e98d91e check if sip key is available 2021-10-27 22:23:32 -04:00
orignal
8566f6c127 don't store EVP_PKEY sip keys 2021-10-27 21:18:21 -04:00
orignal
bb8dc67942 don't use openssl's SipHash from 3.0.0 due regression 2021-10-27 19:05:16 -04:00
orignal
9965d72990 don't store EVP_PKEY with EdDSA signer and verifier 2021-10-26 21:36:34 -04:00
orignal
921ec9ec12 fix build with openssl 3.0.0 2021-10-23 18:10:02 -04:00
orignal
f1990bc2ab use tunnel endpoint memroy pool to split to tunnel messages at gateway 2021-10-22 21:08:20 -04:00
orignal
cdc8e463b7 use memory pool for outgoing tunnel gateway messages 2021-10-22 19:18:45 -04:00
R4SAS
b0f043ec86
[make] USE_GIT_VERSION option to use commit info in version (closes #1702)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-10-22 05:35:01 +03:00
orignal
ae0cf2e831 use memory pool for tunnel messages 2021-10-20 21:05:22 -04:00
Simon Vetter
a348e10620 libi2pd: fix undefined behaviour and memory overruns
This fixes the following issues (flagged by cppcheck):
[libi2pd/ECIESX25519AEADRatchetSession.cpp:537]: (error) Buffer is accessed out of bounds: m_NSREncodedKey
[libi2pd/Identity.cpp:22]: (error) Buffer is accessed out of bounds: keys.publicKey
[libi2pd/Identity.cpp:22]: (error) Buffer is accessed out of bounds: publicKey
[libi2pd/NetDb.cpp:70] -> [libi2pd/NetDb.cpp:69]: (error) Iterator 'it' used after element has been erased
[libi2pd/SSUData.cpp:186] -> [libi2pd/SSUData.cpp:187]: (warning) Shifting 32-bit value by 63 bits is undefined behaviour.
2021-10-19 22:27:12 +02:00
Simon Vetter
af794f901f libi2pd: minor logging fixes 2021-10-19 22:27:06 +02:00
orignal
278fd2d8d5 create tunnel I2NP message for tunnel data 2021-10-18 19:03:08 -04:00
orignal
197882a4c9 create I2NP depending on type in I2NP block 2021-10-17 15:30:24 -04:00
orignal
d310efcb5c pass I2NPMessage by move 2021-10-17 11:31:37 -04:00
orignal
1af9117b80 don't create new tunnel message for encryption/decryption 2021-10-15 14:01:41 -04:00
orignal
44e01b41f8 reserve address for 3 introducers 2021-10-12 13:28:16 -04:00
orignal
7def2fa6a3 use std::vector for address list 2021-10-10 09:53:21 -04:00
orignal
48131f4597 don't store full path with RouterInfo 2021-10-07 15:08:33 -04:00
orignal
49e8cf89d8 don't send short tunnel build messages for ElGamal only destinations 2021-10-06 12:42:32 -04:00
orignal
e6bcd04a36 short build message for re-created tunnels and far end transports 2021-10-05 19:38:33 -04:00
orignal
af133f4968 fixed crash if incorrect blinded signature type 2021-09-29 12:38:38 -04:00
orignal
cc75efcbca fixed build for C++11 2021-09-27 18:25:15 -04:00
orignal
2eded7cdd7 send ping every keealive interval for client tunnels 2021-09-26 16:25:12 -04:00
orignal
b10e5ce358 send ping 2021-09-26 11:20:20 -04:00
orignal
1bb1d89fab change back to map and unodered_map 2021-09-25 18:30:17 -04:00
orignal
b9dd4aee8d use flat_map for incompete messages 2021-09-24 19:12:12 -04:00
orignal
518e53a61c use flat_map for smaller tables 2021-09-24 14:23:39 -04:00
orignal
18b6ba80f2 cleanup RelayRequests 2021-09-22 19:09:56 -04:00
orignal
8debdc264c use common cleanup timer for all SSU sessions 2021-09-21 22:13:34 -04:00
orignal
31bdce1f1f cleanup received messages list by timestamp 2021-09-21 19:01:22 -04:00
orignal
317d8cdc48 don't allocate separate buffers for SessionRequest and SessionCreated 2021-09-18 15:44:43 -04:00
orignal
5b2b9e00a2 reuse receive buffer 2021-09-17 21:52:39 -04:00
R4SAS
d2faec70be
[gzip] do not initialize deflator if gzip is not enabled for tunnel
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-09-14 14:48:21 +03:00
orignal
247b6a0ed2 memory pool for SSU packets 2021-09-13 13:13:27 -04:00
orignal
f7f36568ef set gzip compression to false by default 2021-09-12 14:29:43 -04:00
orignal
e054c6e82c memory pool for SSU messages and fragments 2021-09-11 18:58:27 -04:00
orignal
5e2e1a1e3d don't include old tunnel to LeaseSet if recreated 2021-09-10 19:57:38 -04:00
orignal
ad036de69d eliminate allocation of m_ExtendedBuffer 2021-09-09 21:19:52 -04:00
orignal
20652f7995 resseed if too few floodfills 2021-09-09 15:12:53 -04:00
R4SAS
2f88a75325
Merge pull request #1688 from yangfl/openssl
disable pthread_setname_np on GNU/Hurd
2021-09-05 21:00:19 +00:00
orignal
292fe94352 RouterContext is always ECIES 2021-09-05 11:16:41 -04:00
orignal
76dca1b46b don't handle ElGamal build record 2021-09-05 09:10:13 -04:00
orignal
a54b5c18c6 fixed crash 2021-09-05 09:08:29 -04:00
orignal
c763472914 select ECIES routers only for peer tests and introducers 2021-09-05 08:41:32 -04:00
orignal
41d6c117ee make sure server tunnel is published 2021-09-04 18:45:32 -04:00
orignal
e8f4c42bfb moved current language from RouterContext to ClientContext 2021-09-04 14:01:57 -04:00
yangfl
3f46ca41ca disable pthread_setname_np on GNU/Hurd
which does not exist on GNU/Hurd
2021-09-04 15:07:09 +08:00
orignal
349022ae42 don't select ElGamal routers for tunnels 2021-09-03 13:30:01 -04:00
orignal
bb518d3d51 don't pass BN_CTX to encrypt/decrypt functions 2021-08-31 18:51:40 -04:00
orignal
c45e202fab removed ElGamal encryption support for own router 2021-08-29 14:22:01 -04:00
orignal
541464b705 don't delete floodfill if number of remaining floodfills is less than minimal 2021-08-26 15:13:58 -04:00
R4SAS
f0c49b58fb
suppress inconsistent-missing-override warning message
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-08-23 19:29:55 +03:00
R4SAS
455c71ff25 fix warning about ifr_name size
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-08-23 17:00:57 +03:00
orignal
96850da31e 2.39.0 2021-08-23 06:58:36 -04:00
R4SAS
b3e7b1b5ac
Squashed commit of the following:
commit 40ec4e8b59
Author: Simon Vetter <simon.vetter@runbox.com>
Date:   Fri Jul 30 21:23:27 2021 +0200

    libi2pd: mark additional ipv6 addresses/nets as reserved

    This adds :: (undefined address), ::1 (loopback address) as well as
    ff00::/8 (multicast prefix) to reservedIPv6Ranges.

    A bunch of nodes seem to be publishing bogus addresses (mostly ::1)
    in the netDB, resulting in unnecessary tunnel build failures.

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-08-13 09:11:56 +03:00
orignal
49b3ac7f77 don't reschedule resend timer for terminated streams 2021-08-11 12:23:43 -04:00
orignal
64ec7dd559 narrow down random range 2021-08-03 19:26:09 -04:00
orignal
367df4d0db RAND_bytes from random router selection 2021-08-03 15:43:58 -04:00
orignal
da7e41c188 use Tag<64> for ratechet tags 2021-08-01 18:42:13 -04:00
R4SAS
d88fe203e1
[tunnels] count outbound traffic for zero-hop tunnels
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-08-01 09:25:02 +03:00
orignal
1e01c30e63 set pool for zero-hops tunnels 2021-07-30 14:12:50 -04:00
orignal
7a55d1fc38 don't insert garlic tag for short tunnel build reply if the same router 2021-07-28 21:14:03 -04:00
orignal
f8623b6121 consistent path for explicit peers 2021-07-28 19:08:55 -04:00
orignal
9a3c22f47d don't encrypt ShortTunnelBuild and ShortTunnelBuildReply if on the same router 2021-07-28 15:06:24 -04:00
orignal
e68cff8bba try routers before random router 2021-07-27 18:35:30 -04:00
orignal
513493fa78 fixed typo 2021-07-26 18:46:29 -04:00
orignal
a6937c792f more precise router selection 2021-07-26 17:51:32 -04:00
orignal
99c7d5c23a don't create enryptor for ECIES record encryption 2021-07-25 22:30:54 -04:00
orignal
cd8e8970de NTP request through compatible address 2021-07-24 16:01:11 -04:00
orignal
26d5ced2ef optimal padding for one-time messages 2021-07-23 20:28:55 -04:00
orignal
c7234f705a let NTCP sync through ipv6 2021-07-23 18:34:51 -04:00
orignal
c153471c49 use short tunnel build if possible 2021-07-22 20:58:35 -04:00
orignal
f28024cfe8 decline transit tunnels from short tunnel build message 2021-07-21 18:12:37 -04:00
orignal
911ab9813e handle encrypteed I2NPShortTunnelBuildReply in destination 2021-07-21 14:55:38 -04:00
orignal
cfbf5862f9 set pool for tunnel before build 2021-07-21 13:08:12 -04:00
orignal
5cb1f5986d use msgID from ECIESx25519 block 2021-07-20 22:00:06 -04:00
orignal
0b14c810fb handle ShortTunnelBuildReply 2021-07-20 19:38:36 -04:00
orignal
c2334db8f8 correct reply key for short tunnel build record 2021-07-20 18:02:48 -04:00
orignal
4807092df6 fixed typo 2021-07-20 15:17:58 -04:00
orignal
bdc1107c96 correct message type for ShortTunnelBuild 2021-07-20 14:35:02 -04:00
orignal
db9223b0d5 set minimal version for floodfill to 0.9.38 2021-07-19 17:50:55 -04:00
orignal
6ecfe0789f don't allocate payload buffer for every single ECIESx25519 message 2021-07-18 18:45:08 -04:00