Commit graph

2040 commits

Author SHA1 Message Date
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