Commit Graph

1412 Commits

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