Commit graph

1799 commits

Author SHA1 Message Date
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
orignal a37cf058cd router with expired introducer is still valid 2021-07-16 20:12:41 -04:00
orignal f4902e6642 eligble floodfill must be reachable by ipv4 2021-07-16 13:53:12 -04:00
orignal 5d022c25ba don't send datetime for one time key message 2021-07-16 09:44:22 -04:00
orignal 0cd9f1b002 precalculate padding sizes 2021-07-15 19:01:43 -04:00
orignal cd0751d3f1 padding block for message for router 2021-07-15 18:30:32 -04:00
orignal a1d1a5df74 datetime block for message for router 2021-07-15 18:18:55 -04:00
orignal 197f13f9c0 rollback 2021-07-15 14:02:20 -04:00
orignal 41bfc7899d keep own RouterInfo in netdb 2021-07-14 14:46:56 -04:00
orignal 2c129b6d39 create and handle short tunnel build reply 2021-07-12 19:40:40 -04:00
orignal dbe427d5eb set reply code for short tunnel build messages 2021-07-11 19:29:16 -04:00
orignal 15c3d46492 encrypt inbound tunnel build message for short tunnel build only 2021-07-10 17:28:18 -04:00
orignal 6a467a09bd fixed build error 2021-07-10 16:47:28 -04:00
orignal ba1b8c7c2b WrapECIESX25519MessageForRouter wihout session 2021-07-10 16:15:15 -04:00
orignal 1e9eb30aa3 garlic encryption of inbound tunnel build message 2021-07-10 14:33:23 -04:00
orignal d47bf1bada different tunnel build record size 2021-07-09 19:26:14 -04:00
orignal 59dd60f5cb genarate keys in CreateBuildRequestRecord 2021-07-09 19:24:28 -04:00
orignal c02a0c4da9 process DELAY_REQUESTED option 2021-07-08 22:22:00 -04:00
orignal 84f6024cc9 locate record to build inside CreateBuildRequestRecord 2021-07-08 19:00:25 -04:00
orignal d73b42b726 extract ret code per hop 2021-07-08 16:39:38 -04:00
orignal ed0c2e68a5 DecryptRecord per tunnel hop 2021-07-07 21:16:30 -04:00
orignal 847225c6bf more yggdrasil reseeds added 2021-07-07 08:24:01 -04:00
orignal a6294df9e8 decrypt one-time message encrypted with tag on router 2021-07-06 20:15:55 -04:00
orignal 9000b3df4e KDF for short tunnel build messages 2021-07-05 14:31:07 -04:00
orignal a717542733 update yggdrasil reseed to 0.4 2021-07-04 07:33:28 -04:00
orignal aace644815 added ShortECIESTunnelHopConfig 2021-07-02 22:06:24 -04:00
orignal 0ae170531e different ElGamal and ECIES hops configs 2021-07-02 15:41:33 -04:00
orignal 8b35ce3320 separate decryption between own record and other records 2021-07-02 13:20:24 -04:00
orignal 5781335814 save and check last stream 2021-06-29 19:08:11 -04:00
orignal 25f63ac22a create different I2NP tunnel messages for endpoint and non-endpoint 2021-06-27 15:49:57 -04:00
orignal 66422d6d83 double size tunnel message 2021-06-26 21:44:51 -04:00
orignal b9476791f4 eliminated extra I2NP messages for fragments 2021-06-26 17:40:25 -04:00
orignal d0c5732e16 eliminate extra lookups for sequential fragments 2021-06-26 07:18:42 -04:00
orignal 3c07665479 use unordered_map for incomplete messages 2021-06-22 15:35:44 -04:00
orignal f7f50d049b reduce short tunnel build record length 2021-06-22 13:11:02 -04:00
R4SAS 6971b1e9da fix typo in config option description
Kudos @iBicha
https://github.com/PurpleI2P/i2pd/pull/1662#pullrequestreview-687850246

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-06-20 20:03:33 +03:00
orignal fed04c1a19 requsted router to send to if not in netdb 2021-06-19 14:44:33 -04:00
orignal f5e7d87f5b don't disable floodfill if still reachable by ipv6 2021-06-19 14:25:50 -04:00
orignal 6ca28adcbb set address caps and available transports for new address 2021-06-18 18:19:05 -04:00
R4SAS e8ad7b4f79
rework of storing certificates path (#1642)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-06-18 10:04:48 +03:00
R4SAS d3a49e513c
remove repeatable type definition, add include (#1642)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-06-18 06:45:12 +03:00
R4SAS 5bfab0a796
add certsdir option (#1642)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-06-18 06:38:10 +03:00
orignal 2185019b59 check if router is reachable by transport before obtaining address 2021-06-17 19:46:05 -04:00
orignal 81c83f0d54 pick ECIES routers only for non-x64 2021-06-17 19:10:57 -04:00
orignal 08a82a0bcd don't try to connect to a router not reachable from us 2021-06-17 12:12:06 -04:00
orignal a6af4908d5 use m_ReachableTransports bitmask 2021-06-16 18:14:33 -04:00
orignal dc75868bd3 check Alice's IP address in PeerTest 2021-06-15 19:09:36 -04:00
orignal 631c8c9870 use correct address type for NTCP2 acceptors 2021-06-14 21:19:44 -04:00
orignal bce6685d0c correct check of ipv4/ipv6 address 2021-06-14 12:36:54 -04:00
orignal e412b17f70 don't publish slow tunnel in LeaseSet if possible 2021-06-11 08:34:56 -04:00
orignal a92b93192d reg.i2p for subscriptions 2021-06-10 13:24:04 -04:00
R4SAS 8708a0076f fix build with boost < 1.55.0 (closes #1661)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-06-09 22:23:33 +03:00
orignal 83fd289e46 don't re-create noise state for every message 2021-06-09 12:49:50 -04:00
orignal 3b051dbba3 send OutboundTunnelBuildReply 2021-06-08 15:36:27 -04:00
orignal 8571830485 create transit tunnel and reply for short tunnel build 2021-06-07 18:28:36 -04:00
orignal 5fb426b336 decrypt and encrypt reply for short tunnel build message 2021-06-06 13:55:38 -04:00
orignal d752a83eb5 handle i2cp.dontPublishLeaseSet for all destinations 2021-06-04 18:28:30 -04:00
orignal e740d5fc4f try to pick non-slow tunnel 2021-06-04 12:16:50 -04:00
orignal 8e3e35a36d decrypt short request record 2021-06-02 19:50:29 -04:00
orignal 5ce9c0f1e2 build new tunnels instead slow 2021-06-02 14:45:21 -04:00
orignal ef8c4389e1 reachable transports added 2021-06-02 12:55:08 -04:00
R4SAS 0547d590e1
fix typo
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-31 00:24:54 +03:00
R4SAS be31640010
fix ipv6 preference on linux
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-31 00:23:50 +03:00
R4SAS ed42948051 prefer public ipv6 instead rfc4941 (closes #1251)
Wokrs only on linux-based systems. Not tested on other *nix systems, and
not works on windows.

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-30 03:25:13 +03:00
orignal a0e545a6f1 always create new tunnel from exploratory pool 2021-05-28 12:11:24 -04:00
R4SAS 779f2fa451
[i18n] rework localization system
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-25 22:03:29 +03:00
orignal 08fafe267a rekey all routers to ECIES 2021-05-23 17:27:14 -04:00
orignal d06924b339 LeaseSet type 3 by default 2021-05-23 14:28:10 -04:00
orignal 7ed440ba75
Merge pull request #1657 from PurpleI2P/i18n
I18n
2021-05-23 08:26:11 -04:00
R4SAS df66c2d2dc
[i18n] translate HTTP proxy
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-23 06:06:04 +03:00
orignal f321eb66c0 rename DatabaseLookupTageSet to SymmetricKeyTagset 2021-05-22 18:41:25 -04:00
R4SAS 80b44fc9a9
Support multilang, update code
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-22 18:29:05 +03:00
R4SAS 0e68fe4a57 [i18n] start multilang support for webconsole
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-22 08:39:29 +03:00
orignal 59b471b9a2 i2cp.leaseSetPrivKey for HTTP and SOCKS proxy 2021-05-20 14:10:31 -04:00
orignal f22eaa6db5 2.38.0 2021-05-16 14:26:00 -04:00
R4SAS c359c6e634
update config file example, add v6 status to windows daemon window, code cleanup
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-15 16:31:53 +03:00
orignal baec22610e always set expiration time for NSR tagset 2021-05-12 07:57:37 -04:00
orignal 43b587636b delete tags of termiated session right away 2021-05-11 18:49:17 -04:00
orignal c6cdb26f47 reduce range for extra tags 2021-05-10 20:20:25 -04:00
orignal 1285e30b3e more pre-calculated x25519 2021-05-10 18:55:39 -04:00
orignal d6f5640685 attach updated LeaseSet to ECIESx25519 incoming sessions 2021-05-09 07:33:26 -04:00
orignal 79dbf2a43e request encrypted LeaseSet if expired 2021-05-07 22:15:12 -04:00
orignal 5ad4c2a65e run ipv6 peer test again if still testing 2021-05-04 14:59:25 -04:00
orignal fffa550bb0 SAM subsessions 2021-05-04 14:27:06 -04:00
orignal 0b9cb4e75b check identity and signature length for SessionConfirmed 2021-05-03 19:05:25 -04:00
orignal 7f143a7f23 support EdDSA for blinding 2021-05-02 15:02:52 -04:00
orignal d8d8a68814 rekey all routers but floodfills 2021-04-30 15:19:31 -04:00
orignal e091eba831 don't cleanup ipv6 introducers list twice 2021-04-25 17:55:13 -04:00
orignal 4a0dbec4fb recognize non-published NTCP2 address 2021-04-25 16:42:09 -04:00
orignal 90dee900f0 fixed crash 2021-04-25 10:57:31 -04:00
orignal 94555b9c43 don't select next introducers from existing sessions 2021-04-24 14:56:34 -04:00
orignal db93a7315f find new introducers to connect 2021-04-24 11:11:12 -04:00
orignal 7a19533380 reuse current introducers if no more available 2021-04-23 12:17:48 -04:00
orignal 9d79b26506 check if port if specified 2021-04-22 19:32:47 -04:00
orignal b5618af308 find all introducers at the time 2021-04-21 15:41:04 -04:00
orignal 9c8c3b9174 select few introducers at the time 2021-04-21 10:56:39 -04:00
orignal 01e591b261 find ipv6 intrioducer session 2021-04-21 09:55:36 -04:00
orignal 060e30d283 select ipv6 random introducer 2021-04-21 08:16:13 -04:00
orignal ad019da553 publish ipv6 introducers 2021-04-20 20:02:30 -04:00
orignal ca77ca6ef0 reseed from compatible address 2021-04-18 17:27:50 -04:00
orignal d5b61ed544 select different routers for peer test 2021-04-17 14:33:53 -04:00
orignal 5edb256990 check if our external IP is valid 2021-04-16 19:31:49 -04:00
orignal 74d0c04314 ipv6 address for relay reponse and relay intro 2021-04-15 16:06:02 -04:00
orignal 39d4464be0 make sure that introducer or peer test router is reachable by SSU 2021-04-15 11:43:43 -04:00
orignal be48dc6e87 pick correct local address for intro key 2021-04-13 15:11:37 -04:00
orignal 2783337284 require ipv4 for IBGW 2021-04-13 09:16:52 -04:00
orignal df858d9143 publish iexp 2021-04-09 13:29:07 -04:00
orignal ac47c9c673 don't check U cap 2021-04-09 10:56:46 -04:00
orignal b9a2d5df02 send HolePunch back based on actual address type 2021-04-08 21:07:14 -04:00
orignal 3e873f88c9 don't drop introducers without iExp 2021-04-07 15:55:38 -04:00
orignal 277cef5ec4 eliminate cost field 2021-04-07 13:05:38 -04:00
orignal 5c9b478e46 published field for SSU addresses 2021-04-05 21:45:48 -04:00
orignal ff89edf127 pick random introducer 2021-04-05 18:22:48 -04:00
orignal 2cc9791bf2 exclude already expired introducers 2021-04-04 10:36:22 -04:00
orignal 67b32005f6 check if host if unspecified 2021-04-03 22:18:09 -04:00
orignal 0f166973ca check ureachable cap and actual introducers separately 2021-04-03 20:03:19 -04:00
orignal 4f3333c841 don't check range ffor unspecified address 2021-04-03 19:24:07 -04:00
orignal bea384abea recongnize v4 and v6 SSU addresses without host 2021-04-03 18:56:50 -04:00
orignal 43033695f6 select apropriate address for peer test 2021-04-02 21:31:14 -04:00
orignal 51ef7ef61c don't publish LeaseSet without tunnels 2021-04-01 13:37:21 -04:00
orignal 823b499a02 remove already expired LeaseSets 2021-04-01 11:45:50 -04:00
orignal bb5ed0b40c assign correct 6 or 4 cap to unpublished address 2021-04-01 11:02:29 -04:00
orignal 94ca2514af set zero expiration timeout if no tunnels 2021-04-01 10:29:03 -04:00
orignal 5412352dec publish ipv6 introducers for ipv6 addresses 2021-03-31 13:42:57 -04:00
orignal bd7328345f Don't change Yddrasil address if router becomes unreachable through ipv6 2021-03-30 19:27:40 -04:00
orignal 25eae3c116 return relay tag for ipv6 introducer 2021-03-30 11:31:11 -04:00
orignal 5cca5472e6 don't handle unsilicited HolePunch 2021-03-29 15:50:33 -04:00
orignal 8462d382f4 don't create SSU session for HolePunch 2021-03-29 15:16:39 -04:00
orignal 2b0d18a6d7 don't change router status from ipv6 2021-03-29 14:44:50 -04:00
orignal 167d3a0e3c don't create BN_CTX for ECIES tunnel build record decryption 2021-03-28 12:14:02 -04:00
orignal 86415bc61f publish introducer cap for ipv6 address 2021-03-27 18:49:35 -04:00
orignal a6ea37a21e set ipv6 address caps depending on peer test 2021-03-27 15:16:56 -04:00
orignal 3695aa924b doesn't send peer test to a reserved address 2021-03-24 10:32:15 -04:00
orignal 9e050d1a23 peer test for ipv6 2021-03-23 15:36:57 -04:00
orignal 34eee2fc26 fixed #1644. check leaseset buffer size 2021-03-22 20:12:58 -04:00
orignal ac10f3055d pick correct local SSU address for sending peer test 2021-03-19 21:51:45 -04:00
orignal 991b74f036 bind ipv6 or yggdrasil acceptor to specified address 2021-03-19 13:10:24 -04:00
orignal 589049ef0f connect to ipv6 address through introducer 2021-03-19 10:20:02 -04:00
orignal 6b0c7c2313 handle ipv6 address in RelayResponse 2021-03-18 21:29:39 -04:00
orignal a9c7d0d598 common ExtractIPAddressAndPort 2021-03-18 20:11:24 -04:00
orignal ef1dfb153c handle ipv6 address for RelayIntro 2021-03-18 18:37:02 -04:00
orignal 820a365474 select random peer for first hop for outbound tunnel if number of connections < 100 2021-03-16 18:45:51 -04:00
orignal 1d5d06f731 find actual router for peer 2021-03-16 15:23:00 -04:00
orignal 43d458cf72 publish and upublish NTCP2 and yggdrasil addresses separatly 2021-03-16 13:08:10 -04:00
orignal 7015bad905 2.37.0 2021-03-15 08:30:04 -04:00
orignal cf8665748b network sattus Mesh added 2021-03-13 10:28:03 -05:00
orignal 1b8da90cbb more precise compatibility check 2021-03-12 20:51:12 -05:00
orignal 6012585067 eliminate false positive symmetric NAT 2021-03-12 17:41:41 -05:00
orignal f162876600 insert ipv4 address if enabled back 2021-03-12 16:13:01 -05:00
orignal 6555ae5b0a support authorization for reseed proxy 2021-03-11 17:02:56 -05:00
R4SAS cb8651ec68 [win32] drop service code, fix start with daemon option. Throw notification when unable to parse config
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-11 14:40:06 +03:00
orignal 7c0b0a4e3e common HTTP basic authorization string 2021-03-10 22:47:31 -05:00
orignal 880d1a7ccd NTCP2 proxy with authorization 2021-03-10 20:00:21 -05:00
orignal 744b25190a don't set proxy if ntcp2 is disabled 2021-03-10 15:36:10 -05:00
R4SAS 9049902ced [webconsole] add address registration line generator
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-10 01:48:54 +03:00
orignal 5f93dc72fd convert ifname* params to address* 2021-03-09 15:28:07 -05:00
orignal 09dadd7e01
Merge pull request #1640 from brain5lug/openssl
logging opimization
2021-03-09 07:46:28 -05:00
orignal 60b92f98db OBEP must be ipv4 compatible 2021-03-08 18:54:17 -05:00
orignal 97f315d488 set correct 4 and 6 caps for unreachable addresses 2021-03-08 15:57:05 -05:00
brain5lug f3676d7f18 logging opimization 2021-03-08 11:31:00 +03:00
orignal 742dbdb68a rekey low badwidth routers to ECIES 2021-03-07 10:07:51 -05:00
orignal 2d59c968ca don't publish NTCP2 address connected through proxy 2021-03-06 18:43:50 -05:00
orignal ad22247c9e start other acceptors if connected through a proxy 2021-03-06 15:35:31 -05:00
orignal f38920c338 Status: Proxy 2021-03-06 08:50:47 -05:00
orignal 8f90b21a5d fixed typo 2021-03-05 22:40:27 -05:00
orignal ff0e6813c6 fixed typo 2021-03-05 21:53:19 -05:00
orignal fa5e4d57fd correct caps for SSU address without host 2021-03-05 19:40:37 -05:00
orignal 876973f071 remove coreVersion 2021-03-05 09:29:28 -05:00
orignal b994af9209 check reachability of floodfill to request from 2021-03-05 08:41:44 -05:00
orignal 1f6cde652e check caps for SSU address 2021-03-04 22:47:56 -05:00
R4SAS 3bf6db1c08 enable yggdrasil address finding for android
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-05 03:20:12 +03:00
orignal e70ffc9d7c re-shedule introducers updates if router becomes firewalled 2021-03-04 15:55:51 -05:00
orignal 065cfe3b9d separate ratchet session for ECIES router 2021-03-03 15:30:13 -05:00
orignal def9873a70 request multiple introducers at the time 2021-03-02 21:10:19 -05:00
orignal 618aa26454 allow some unreachable floodfills 2021-03-02 14:13:28 -05:00
orignal 924a7bc533 use connected peers if others not available 2021-03-02 12:29:51 -05:00
orignal ef85277a1b select reachable routers for one hop tunnels 2021-03-02 08:46:13 -05:00
orignal 876375f2c3 precise bandwidth limit 2021-03-01 22:13:17 -05:00
orignal f70ee480ba check connectivity between peers for tunnel 2021-03-01 19:02:27 -05:00
orignal 6d88c3ab05 Symmetric NAT error 2021-03-01 12:20:53 -05:00
orignal 57c969b0ed constants for cost 2021-03-01 11:09:25 -05:00
orignal ae58a7007b different cost for direct or with introducers SSU address 2021-02-28 19:19:09 -05:00
orignal 11c924bbe7 publish and handle SSU addreses without host 2021-02-28 18:58:25 -05:00
orignal bef9a54f4a bind SSU socket to specified address 2021-02-27 16:13:12 -05:00
orignal 288b19c3f7 bind NTCP2 ipv4 acceptor to specified local address 2021-02-27 10:35:50 -05:00
orignal 40f7e9d33e separate decryptor for tunnel builds and floodfill requests 2021-02-26 21:02:51 -05:00
orignal fab53dda66 fixed typo 2021-02-26 20:38:16 -05:00
orignal a4e8bf9857 bind NTCP2 connections to specified address 2021-02-26 19:31:38 -05:00
orignal fbe83f729d don't try to send to unreachable router 2021-02-25 19:55:46 -05:00
R4SAS 4371a084ec
check for pubkey in X25519Keys::Agree
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-02-26 03:20:06 +03:00
orignal a4dda304d2 cancel connect timer upon SessionConfirmed 2021-02-24 10:03:23 -05:00
orignal 124c3ef2d7 always publish SSU port 2021-02-23 21:15:17 -05:00
orignal c3a2fca76a 4 or 6 caps for non-published addresses 2021-02-23 19:59:35 -05:00
orignal b60ebfe1c6 parse '4' and '6' address caps 2021-02-22 22:53:25 -05:00
orignal 1d7639b3f4 caps per address 2021-02-22 21:04:26 -05:00
orignal 94659ba890 create ipv4 and ipv6 NTCP2 addresses separately 2021-02-17 21:51:35 -05:00
orignal d65bc068de create ipv4 and ipv6 NTCP2 addresses separately 2021-02-17 21:12:17 -05:00
orignal 1ca0354cf2 find NTCP2 address by static key. Don't make router unreachable if can't connect by NTCP2 2021-02-17 18:46:41 -05:00
orignal b1fcd4d27b show actual IP addresses for proxy connections 2021-02-17 14:26:48 -05:00
orignal d1a98212ee 2.36.0 2021-02-15 07:57:17 -05:00
orignal 75a31c79ae don't process SSU messages after termination 2021-02-13 18:36:23 -05:00
orignal aa206d034d fixed #1373. Limit number of tunnels by 16 2021-02-11 18:32:03 -05:00
orignal 765ab60753 try to reseed if no compatible routers in netdb 2021-02-10 15:27:13 -05:00
orignal 44e4ec573d enable NTCP2 transport for newly created routers 2021-02-10 14:59:08 -05:00
R4SAS 63127ab181
add yggdrasil address search for windows
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-02-10 17:58:14 +03:00
orignal 7e4c33d27e resend RouterInfo after some interval 2021-02-07 10:39:26 -05:00
orignal c164601acf reseed from clearnet only if ipv4 or ipv6 is enabled 2021-02-06 21:25:16 -05:00
orignal 3b32da4f5c don't disable NTCP2 address if Yggdrasil address is presented 2021-02-06 19:07:39 -05:00
orignal 313921da56 publish and request through exploratory tunnel if floodfill is not reachable 2021-02-06 14:49:42 -05:00
orignal 2d0e219197 add Yggdrasil adddress even if NTCP2 is not published. Correct reachable capacity 2021-02-05 17:24:11 -05:00
orignal dc64d1738a try both ipv4 and ipv6 SSU addresses if presented 2021-02-04 21:48:13 -05:00
orignal 89e8d99294 check availability of particular address 2021-02-03 20:09:43 -05:00
orignal 66a238045f Merge branch 'openssl' of https://github.com/PurpleI2P/i2pd into openssl 2021-02-03 14:25:14 -05:00
orignal 33b82b5669 check transport compatibility with peer before connecting 2021-02-03 14:24:43 -05:00
R4SAS 6966539b86 reindent Datagram, Daemon, update default subscription in config example
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-02-03 14:57:43 +03:00
orignal 0e5dc15005 create Yggdrasil address for new router 2021-02-02 21:39:16 -05:00
orignal a74f685a5d check local address 2021-02-02 19:29:13 -05:00
orignal 05c7aacfa5 check for NTCP for yggdrasil address 2021-02-01 22:24:51 -05:00
orignal ace80c29e7 meshnets.yggaddress added 2021-02-01 18:00:03 -05:00
orignal bfb1380dd2 don't update Yggdrasil address from SSU 2021-02-01 13:18:48 -05:00
orignal ea19802d3f update right ipv6 only 2021-02-01 12:47:41 -05:00
orignal fef4f13b8f don't insert Yggdrasil address twice 2021-01-31 19:09:38 -05:00
orignal c4fc0f4ecf add Yggdrasil address 2021-01-31 18:30:53 -05:00
orignal aad2d68edb NTCP2 transports through the Yggdrasil 2021-01-31 17:25:07 -05:00
orignal 9e5935aea5 NTCP2Mesh added 2021-01-30 18:32:17 -05:00
orignal 129b4a2135 don't support NTCP1 address in RouterInfo 2021-01-30 16:50:53 -05:00
orignal 82649ab2a7 IsYggdrasilAddress added 2021-01-29 13:27:49 -05:00
orignal 1ba5d25819 correct detection of chunked response 2021-01-29 12:12:40 -05:00
orignal daa3f8699b don't detect Yggdrasil for android 2021-01-29 09:32:33 -05:00
orignal 484f69f16b try to select reachable router of inbound tunnel gateway 2021-01-28 13:33:12 -05:00
R4SAS 7c8280934a
update addressbook subscriptions
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-01-27 06:48:35 +03:00
orignal 85902b358a remove [] from yggdrasil reseed address 2021-01-26 13:43:20 -05:00
R4SAS 5931cb59ab fix thread setname on NetBSD
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-01-26 18:54:41 +03:00
orignal d13fbe5549 support reseed throught the Yggdrasil 2021-01-25 19:48:33 -05:00
orignal ed4c00e4f4 check yggdrasil ipv6 range 2021-01-24 21:21:35 -05:00
orignal 07282ec39f get local yggdrasil ipv6 address 2021-01-24 19:42:44 -05:00
orignal 2d998aba43 fixed typo 2021-01-24 15:44:54 -05:00
orignal 2e0019c8c8 check if NTCP2 address is valid before connection attempt 2021-01-24 11:34:11 -05:00
orignal 96e9608036
Merge pull request #1623 from rex4539/fix-warnings2
Fix clang warning
2021-01-24 11:23:12 -05:00
orignal 9d5bb1b2b6 drop routing path for LeaseSet resend 2021-01-23 21:25:52 -05:00
Dimitris Apostolou 67dab9b6d2
Fix clang warning 2021-01-21 11:07:01 +02:00
orignal 6fc5f88a3b dump addressbook in hosts.txt format 2021-01-20 19:19:34 -05:00
orignal e0cec79ad6 try both ipv4 and ipv6 NTCP2 addresses if presented 2021-01-18 18:58:16 -05:00
orignal 1a9e11d86d don't send updated LeaseSet through a terminated session 2021-01-18 12:58:27 -05:00
orignal 1235d18d67 pass address to NTCP2 session 2021-01-17 17:15:41 -05:00
orignal 8f25b66760 limit tunnel length to 8 hops 2021-01-14 11:24:03 -05:00
orignal 29176dd9bf count last send time for expiration 2021-01-09 18:59:09 -05:00
orignal aedcd1bcc0 remove tag after tagset expiration 2021-01-07 14:51:23 -05:00
orignal b1262d54de don't detach ECIESx25519 session from destination 2021-01-05 15:56:48 -05:00
orignal bc4a97774f strong pointer to session for receive tagset 2021-01-04 20:15:48 -05:00
orignal ee3cd44f97 ReceiveRatchetTagSet 2021-01-04 18:20:16 -05:00
orignal 726bd0d63b check if x25519 key is valid 2021-01-01 15:03:11 -05:00
orignal 7ce92118e4 handle follow-on NSR messages 2020-12-27 11:18:53 -05:00
orignal 86ff0d86db check if new tag was created 2020-12-26 17:18:29 -05:00
orignal d34dc397e8 changed to 320 tags max 2020-12-24 14:06:34 -05:00
orignal f2e4d5f06c trim behind not affter max generated tags 2020-12-20 19:52:06 -05:00
orignal da7e2f2580 don't send message through non-established session 2020-12-19 15:07:12 -05:00
orignal 8c61e7d227 replace LeaseSet completely if store type changes 2020-12-17 18:58:30 -05:00
orignal 06a7e181cd ECIES for new routers 2020-12-15 16:06:32 -05:00
orignal bf91e16b5d gererate specified number of tags if misssing tag 2020-12-15 15:04:20 -05:00
orignal 65945b3462 correct offline signature size for close packet 2020-12-13 21:55:51 -05:00
orignal fc2dc9a019 cumulative ACK bitfields 2020-12-12 21:40:07 -05:00
orignal 04645aacc4 Merge branch 'openssl' of https://github.com/PurpleI2P/i2pd into openssl 2020-12-12 17:15:34 -05:00
orignal c91a8711e3 encrypted requests to ECIES floodfills 2020-12-12 17:14:58 -05:00
R4SAS 7373dae026
[avx] check if c++ target supports AVX (closes #1600)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-12-12 09:54:07 +03:00
R4SAS ca3b819151
[avx] check ig c++ target supports AVX
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-12-10 18:32:41 +03:00
orignal ba79b94e06 try to generate missing ECIESx25519 tag in last tagset 2020-12-08 15:16:40 -05:00
R4SAS bfc3acb834
use correct function for thread naming on OpenBSD
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-12-07 19:47:50 +03:00
R4SAS ac67cd7f9a
add FreeBSD builder for GHA (#1595) 2020-12-07 08:36:06 +03:00
R4SAS 3100d4f902 move thread naming to util
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-12-07 06:22:30 +03:00
orignal aace200899 don't create paired zero hops tunnel 2020-12-05 08:26:21 -05:00
orignal a843165cb4 try ratchets tag first 2020-12-04 19:15:06 -05:00
R4SAS 36473e3889 add naming to threads
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-12-04 18:37:17 +03:00
orignal e2fcab34b7 deccrypt and handle garlic message for ECIES router 2020-12-03 22:01:58 -05:00
orignal abdf92c084 encrypt message for ECIES router 2020-12-03 19:43:43 -05:00
orignal 32fc6482cc moved Noise initializations to Crypto.cpp 2020-12-03 17:58:37 -05:00
orignal 0ab95b1b87 2.35.0 2020-11-30 12:50:15 -05:00
orignal 746f53ba07 use SendBufferQueue for queued messages from I2P 2020-11-29 14:59:34 -05:00
orignal c833b16544 check if session expired before generating more tags 2020-11-26 09:15:45 -05:00
orignal 1c5b350c2b TCP_QUICKACK 2020-11-23 18:55:48 -05:00
orignal 9301e39af7 minimal version for floodfill 0.9.28 2020-11-23 12:49:18 -05:00
R4SAS bc330ff0ea update makefiles, license year
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-11-23 01:46:08 +03:00
orignal c875ff923a random intro key 2020-11-21 18:44:40 -05:00
orignal 3dfb44de31 exclude DSA floodfills 2020-11-21 14:27:08 -05:00
R4SAS 2266c3877c
update reseeds
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-11-21 19:45:06 +03:00
orignal f4486bc075 take intro key from right address 2020-11-20 21:48:33 -05:00
orignal 0436a65baa upddate DSA router keys 2020-11-20 20:31:50 -05:00
orignal d8381e9486 disable encryption to ECIES routers 2020-11-18 18:11:29 -05:00
orignal 3925540517 don't update expired tunnels 2020-11-16 12:56:22 -05:00
orignal 3b630fe546 fixed race condition 2020-11-16 10:04:38 -05:00
orignal c69c4ae8a0 don't publish too fast 2020-11-15 21:46:49 -05:00
orignal b4369470cb publish updated RouterInfo 2020-11-15 20:05:27 -05:00
R4SAS 2bd6daeb8d disable aes/avx for winxp by default 2020-11-16 03:43:54 +03:00
orignal 44ca315c75 don't build tunnels for all pools at the time 2020-11-15 19:38:34 -05:00
orignal af20b13c7a create paired inbound tunnels if no inbound tunnels yet 2020-11-15 17:02:01 -05:00
orignal 1f6be38145 wait for publish confirmation or publish to another floodfill 2020-11-15 13:06:02 -05:00
orignal 8b3a7486c7 rename CRYPTO_KEY_TYPE_ECIES_X25519_AEAD_RATCHET to CRYPTO_KEY_TYPE_ECIES_X25519_AEAD 2020-11-14 18:28:50 -05:00
R4SAS 62cd9fffa3
Automate AES-NI and AVX detection on runtime, make it default on x86-based systems (#1578)
Rework CPU extensions detection code and build with AES-NI and AVX support by default
2020-11-15 01:31:20 +03:00
orignal 7e874eaa7c pre-calculated h 2020-11-12 15:15:02 -05:00
orignal 1c7780a423 garlic clove block for router 2020-11-09 15:35:50 -05:00
orignal 07b77443dd don't handle TunnelBuild message for ECIES router 2020-11-07 18:28:38 -05:00
orignal 4ba1be2dc0 one time garlic encryption for ECIES routers 2020-11-05 21:21:46 -05:00
orignal 6362a7bba5 decrypt garlic on ECIES router 2020-11-05 15:27:37 -05:00
orignal 1740715c00 correct reply key and IV for ECIES record 2020-11-04 21:04:28 -05:00
orignal 21501cbf81 correct MixHash after decryption 2020-11-04 13:31:28 -05:00
orignal d5f3d6111e correct tunnel build record size to decrept 2020-11-04 11:52:33 -05:00
orignal bd04f92087 correct public key for ECIES address 2020-11-03 18:41:27 -05:00
orignal 942b2b05e7 correct key for AEAD decryption 2020-11-03 15:53:47 -05:00
orignal b8064b9b4b copy noise state 2020-11-03 15:42:53 -05:00
orignal f94d03465a don't create transit tunnel if decyrption failed 2020-11-03 15:38:25 -05:00
orignal 4e7aafeec1 send transit tunnel reply for ECIES router 2020-11-03 15:23:13 -05:00
orignal d820b8036e correct transient signature length 2020-11-03 09:20:14 -05:00
orignal 3907c17cf5 handle TunnelBuildMessage for ECIES router 2020-11-02 18:49:07 -05:00
orignal b12fa97a38 32 bytes private key for ECIESx25519 2020-10-29 18:41:21 -04:00
orignal 9f2a2e44a3 common MixHash and MixKey 2020-10-28 21:53:11 -04:00
orignal c63818f355 2.34.0 2020-10-27 12:27:08 -04:00
orignal c400372a79 create new ratchets session if previous was not replied 2020-10-27 08:32:38 -04:00
R4SAS 56f3bdd746
[win32] handle WinAPI errors in SSU
Windows can throw WinAPI errors which are not handled by boost asio

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-10-27 11:52:02 +03:00
orignal 21d99e355c MixHash(sepk) added 2020-10-24 15:48:56 -04:00
orignal ef5495bfb2 padding for x25519 crypto key 2020-10-23 22:14:00 -04:00
orignal c93ee0d65d tunnels through ECIES routers 2020-10-23 15:53:22 -04:00
orignal 57d6c7a3b3 Added TunnelConfig.cpp. Removed CryptoWroker.h 2020-10-22 21:06:23 -04:00
orignal d65a282e9d check routers with non ElGamal encryptions for lookup, publish and tunnel build 2020-10-22 18:34:15 -04:00
orignal 801ecaa41c temporary exclude routers with non ElGamal crypto types 2020-10-21 19:03:51 -04:00
orignal 49bf735c22 don't set destination to routers 2020-10-21 18:59:16 -04:00
orignal 387830e07a encyption type 0,4 by default for client tunnels 2020-10-19 18:26:01 -04:00
orignal 417b5ed6cc handle SSU v4 and v6 messages in one thread 2020-10-14 21:06:51 -04:00
orignal acc5592f59 create DH keys for SSU session directly 2020-10-13 21:12:52 -04:00
R4SAS 3f45a11f12
[SSU] handle ICMP responses
Windows network stack can forward ICMP to socket and simple deleting of
packet can cause socket death. Same thing can happen on other systems
but without socket death.

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-10-13 15:22:39 +03:00
orignal e3464add50 don't create new tunnels if offline 2020-10-12 17:15:17 -04:00
R4SAS 18bb4a71c2
fix incorrect chars in variable
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-10-12 18:27:25 +03:00
R4SAS 85e9da82b0 [transports] validate IP when trying connect to remote peer for being in reserved IP range
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-10-12 14:56:17 +00:00
R4SAS 99d046ca11
[http] handle WebDAV methods
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-10-12 07:31:57 +03:00
orignal ffa0f0afd9 check network status 2020-10-11 17:51:40 -04:00
orignal e21dac21c8 fixed #1557. don't try to send empty message 2020-10-11 14:02:12 -04:00
orignal e2a1cd12c3 don't delete unreachable routers if too few 2020-10-07 21:13:26 -04:00
orignal d218c9a983 disable ntcpproxy 2020-10-04 10:12:33 -04:00
orignal c2f13a1496 some cleanup 2020-10-03 22:29:52 -04:00
orignal faae2709d9 removed NTCP 2020-10-03 21:58:20 -04:00
orignal a8d23b5439 disable NTCP for good 2020-10-03 18:46:12 -04:00
orignal 8483464aab don't attach our RouterInfo to router's request 2020-10-03 17:20:04 -04:00
orignal 3a2724ec58 single thread for I2CP 2020-10-02 13:13:27 -04:00
orignal ee84291997 handle i2p.streaming.answerPings properly 2020-09-30 19:06:13 -04:00
orignal fd9229c467 ping/pong for streaming 2020-09-30 17:12:28 -04:00
orignal dec7a9a01c shared transient destination between proxies 2020-09-27 20:50:57 -04:00
orignal 335f9394a5 drop gcc 4.7 support 2020-09-26 19:32:19 -04:00
orignal f939a7b349 reduce variable tunnel build length to 4 2020-09-21 19:22:53 -04:00
orignal 09fdb068d2 Database lookups from ECIES destinations 2020-09-19 21:15:42 -04:00
orignal 024c29b180 eliminate boost/bind 2020-09-17 21:11:46 -04:00
orignal 2b0d1a2190 implement DatabaseLookupTagSet 2020-09-15 19:39:18 -04:00
orignal d0d71c93af set LeaseSet type to 3 for ratchets if not specified 2020-09-10 19:27:29 -04:00
orignal da1e52357f delete symmkey on cleanup 2020-09-08 07:46:55 -04:00
orignal a05a54b38e trim behind ECIESx25519 tags 2020-09-07 18:45:05 -04:00
orignal 954781262c 2.33.0 2020-08-24 12:27:39 -04:00
orignal 3159b06988 reseeds update 2020-08-15 13:53:49 -04:00
orignal e50abbb250 avoid replay upon SSU packet resend 2020-08-08 19:01:55 -04:00
orignal 8e25226574 use unordered_map for incomplete and sent messages 2020-08-08 13:34:27 -04:00
orignal 9636d82b37 MixHash for SessionConfirmed processing 2020-08-03 18:31:03 -04:00
orignal c3aa6b9cda use delivery type local if destination is not secified 2020-07-29 17:47:46 -04:00
orignal c41554109b change datagram routing path if nothing comes back in 10 seconds 2020-07-15 16:20:35 -04:00
orignal 67b94d3533 unordered_map for RouterInfos and LeaseSets 2020-07-07 15:38:20 -04:00
orignal 6f2e6ed887 key for next send ratchet 2020-06-30 15:05:17 -04:00
orignal 5f1e66d64b use pre-calculated x25519 ephemeral keys for ratchets 2020-06-30 13:00:41 -04:00
orignal 1f31fdc257 pre-calculate ephemeral keys for x25519 2020-06-29 20:02:09 -04:00
orignal df9965e129 use unordered_map for peers 2020-06-29 18:19:31 -04:00
orignal 61e9c31f0d don't hold RouterInfo after successive connect 2020-06-24 11:29:54 -04:00
orignal a0b35ebd3e mark NTCP2 unreachable routers 2020-06-22 22:32:18 -04:00
orignal 31494267e5 fixed datagram idle crash 2020-06-17 14:24:25 -04:00
orignal 1e609acb03 keep sending through first successive routing path 2020-06-14 11:16:08 -04:00
orignal 69194118df generate random padding length in bulk 2020-06-13 21:24:16 -04:00
orignal 1a39f7e5c6 GarlicRoutingPath per session 2020-06-13 16:18:12 -04:00
orignal 61897ae16c crypto.ratchet.inboundTags 2020-06-12 20:42:54 -04:00
orignal 5993cc857a start new tunnel message if remining is too small 2020-06-12 16:03:12 -04:00
orignal 44bb8f6f16 allocated datagram I2NP from memory pool 2020-06-10 21:19:37 -04:00
orignal a33cad4b70 eliminate datagram send timer 2020-06-10 11:57:40 -04:00
orignal f077836bf5 store DatagramSession for bulk 2020-06-09 19:20:24 -04:00
orignal 6d7847f2df send bulk datagrams 2020-06-09 16:26:45 -04:00
orignal 6735b2686b set LeaseSet2 for ECIESx25519 2020-06-05 15:41:30 -04:00
orignal 4ae41513ac save new session with NSR tagset 2020-06-04 18:19:38 -04:00
orignal 438a225487 pass calculatePublic 2020-06-03 19:58:36 -04:00
orignal e135696530 support multiple encryption keys through the I2CP 2020-06-03 16:05:19 -04:00
R4SAS 9135772f89
2.32.1
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-06-02 19:26:36 +03:00
orignal 0dc212d97c fixed non-updating LeaseSet1 2020-05-28 13:46:02 -04:00
R4SAS 45e8d5c50e
Return deprecated websocket config options for compatibility
Closes #1523

Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-05-27 21:29:00 +03:00
orignal 37ec90c436 don't gererate more tags for detached session 2020-05-26 16:47:45 -04:00
orignal 0e0169d22b 2.32.0 2020-05-25 08:37:47 -04:00
orignal 1975adc48f print remote peer for queues 2020-05-24 14:14:16 -04:00
orignal 71564f0d10 set default i2cp.leaseSetEncType=0,4 for http and socks proxy for android 2020-05-24 10:30:00 -04:00
orignal 5a32082624 recreate session after 90 seconds incativity 2020-05-23 15:58:11 -04:00
orignal 86e8614934 allow session restart after 2 minutes from creation 2020-05-23 10:20:22 -04:00
orignal ead89c767a compress longer RouterInfo 2020-05-22 18:32:44 -04:00
R4SAS 8bae4975fb add copyright headers
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-05-22 18:14:53 +00:00
R4SAS 7a5146ea74 fix code syle(spaces->tabs, tabulations)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-05-22 18:14:53 +00:00
orignal 46ee427ee3 common header for repliable datagrams 2020-05-21 21:54:00 -04:00
orignal 0c2b0081b5 rollback 2020-05-21 19:38:25 -04:00
orignal f133a7f9fd resend outstading packets again 2020-05-21 18:58:28 -04:00
orignal 153aaa6d21 no compression for RouterInfo gzip 2020-05-21 15:33:12 -04:00
orignal e5901dad91 resend not more than half of window 2020-05-21 14:52:44 -04:00