Commit Graph

1365 Commits (8c3e716c3f7a912d5ecd472a8918f73eeb90374d)

Author SHA1 Message Date
orignal 2cd50ebaee fixed race condition 3 years ago
orignal cb6f6a6596 Merge branch 'openssl' of https://github.com/PurpleI2P/i2pd into openssl 3 years ago
orignal e4ab0acc92 create RouterInfo from shared pointer to Buffer 3 years ago
Dimitris Apostolou ac2c6c6010
Fix typo 3 years ago
orignal c6b2ce93c4 Memory pool for RouterInfo address 3 years ago
orignal f567417bb3 memory pool for RouterInfo buffer 3 years ago
orignal ae5cb3bbe7 rollback 3 years ago
orignal 0eb8e15796 allocated actual buffer size for RouterInfo 3 years ago
orignal 1c95c7856f avoid duplicated addresses. Check presence of netId and version 3 years ago
orignal daf7551e59 try another fllodfill if no compatible tunnels 3 years ago
orignal 5b63d3692e HidUser0's yggdrasil reseed added 3 years ago
R4SAS 1be4cce074
[addressbook] fix loading subscriptions from config
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
orignal 935e93eb36 minimal send ack interval 3 years ago
orignal b3bd175e64 2.40.0 3 years ago
R4SAS edc0162163
clean line trailing spaces and tabs
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
R4SAS 94661f697b
[log] update log messages (closes #1693)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
R4SAS 96cdb3bca3
reseeds update
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
orignal 6c57ba36f7 lazy initialization or tunnel gateway's random buffer 3 years ago
acetone 8b931dd40b
Transit traffic bandwidth limit 3 years ago
acetone 6b81478bd2
Merge branch 'PurpleI2P:openssl' into openssl 3 years ago
acetone 9d94eb83c1
--help
Traffic bandwidth -> Transit traffic bandwidth
3 years ago
R4SAS 174983548d
Merge pull request #1705 from rex4539/typos
Fix typos
3 years ago
orignal 9abd383014 eliminate extra pointers for tunnel hops 3 years ago
Dimitris Apostolou 8ee9c437e1
Fix typos 3 years ago
orignal 4052b1ea6d pick compatible outbound tunnel for datagrams 3 years ago
orignal d798faa1ca pick compatible ooutbound tunnel 3 years ago
orignal 3f63f15b16 copy compatible transports to new tunnel 3 years ago
orignal f8c390cdd3 pick compatible tunnels 3 years ago
orignal 8f0978cfd6 all transports by default 3 years ago
orignal 1a8a32a773 select next tunnel with compatible transports 3 years ago
orignal c0400bfd07 virtual destructor for TunnelConfig 3 years ago
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>
3 years ago
orignal 56ec8fe95b eliminate local destination mutex 3 years ago
Simon Vetter 58b7b7d731 libi2pd: add missing locks to i2p::tunnel::TunnelPool 3 years ago
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.
3 years ago
Simon Vetter 7073a6bf38 libi2pd: make Tunnel and TunnelConfig destructors virtual 3 years ago
orignal 26db88d89b check if sip key is available 3 years ago
orignal 876e98d91e check if sip key is available 3 years ago
orignal 8566f6c127 don't store EVP_PKEY sip keys 3 years ago
orignal bb8dc67942 don't use openssl's SipHash from 3.0.0 due regression 3 years ago
orignal 9965d72990 don't store EVP_PKEY with EdDSA signer and verifier 3 years ago
orignal 921ec9ec12 fix build with openssl 3.0.0 3 years ago
orignal f1990bc2ab use tunnel endpoint memroy pool to split to tunnel messages at gateway 3 years ago
orignal cdc8e463b7 use memory pool for outgoing tunnel gateway messages 3 years ago
R4SAS b0f043ec86
[make] USE_GIT_VERSION option to use commit info in version (closes #1702)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
orignal ae0cf2e831 use memory pool for tunnel messages 3 years ago
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.
3 years ago
Simon Vetter af794f901f libi2pd: minor logging fixes 3 years ago
orignal 278fd2d8d5 create tunnel I2NP message for tunnel data 3 years ago
orignal 197882a4c9 create I2NP depending on type in I2NP block 3 years ago
orignal d310efcb5c pass I2NPMessage by move 3 years ago
orignal 1af9117b80 don't create new tunnel message for encryption/decryption 3 years ago
orignal 44e01b41f8 reserve address for 3 introducers 3 years ago
orignal 7def2fa6a3 use std::vector for address list 3 years ago
orignal 48131f4597 don't store full path with RouterInfo 3 years ago
orignal 49e8cf89d8 don't send short tunnel build messages for ElGamal only destinations 3 years ago
orignal e6bcd04a36 short build message for re-created tunnels and far end transports 3 years ago
orignal af133f4968 fixed crash if incorrect blinded signature type 3 years ago
orignal cc75efcbca fixed build for C++11 3 years ago
orignal 2eded7cdd7 send ping every keealive interval for client tunnels 3 years ago
orignal b10e5ce358 send ping 3 years ago
orignal 1bb1d89fab change back to map and unodered_map 3 years ago
orignal b9dd4aee8d use flat_map for incompete messages 3 years ago
orignal 518e53a61c use flat_map for smaller tables 3 years ago
orignal 18b6ba80f2 cleanup RelayRequests 3 years ago
orignal 8debdc264c use common cleanup timer for all SSU sessions 3 years ago
orignal 31bdce1f1f cleanup received messages list by timestamp 3 years ago
orignal 317d8cdc48 don't allocate separate buffers for SessionRequest and SessionCreated 3 years ago
orignal 5b2b9e00a2 reuse receive buffer 3 years ago
R4SAS d2faec70be
[gzip] do not initialize deflator if gzip is not enabled for tunnel
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
orignal 247b6a0ed2 memory pool for SSU packets 3 years ago
orignal f7f36568ef set gzip compression to false by default 3 years ago
orignal e054c6e82c memory pool for SSU messages and fragments 3 years ago
orignal 5e2e1a1e3d don't include old tunnel to LeaseSet if recreated 3 years ago
orignal ad036de69d eliminate allocation of m_ExtendedBuffer 3 years ago
orignal 20652f7995 resseed if too few floodfills 3 years ago
R4SAS 2f88a75325
Merge pull request #1688 from yangfl/openssl
disable pthread_setname_np on GNU/Hurd
3 years ago
orignal 292fe94352 RouterContext is always ECIES 3 years ago
orignal 76dca1b46b don't handle ElGamal build record 3 years ago
orignal a54b5c18c6 fixed crash 3 years ago
orignal c763472914 select ECIES routers only for peer tests and introducers 3 years ago
orignal 41d6c117ee make sure server tunnel is published 3 years ago
orignal e8f4c42bfb moved current language from RouterContext to ClientContext 3 years ago
yangfl 3f46ca41ca disable pthread_setname_np on GNU/Hurd
which does not exist on GNU/Hurd
3 years ago
orignal 349022ae42 don't select ElGamal routers for tunnels 3 years ago
orignal bb518d3d51 don't pass BN_CTX to encrypt/decrypt functions 3 years ago
orignal c45e202fab removed ElGamal encryption support for own router 3 years ago
orignal 541464b705 don't delete floodfill if number of remaining floodfills is less than minimal 3 years ago
R4SAS f0c49b58fb
suppress inconsistent-missing-override warning message
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
R4SAS 455c71ff25 fix warning about ifr_name size
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
orignal 96850da31e 2.39.0 3 years ago
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>
3 years ago
orignal 49b3ac7f77 don't reschedule resend timer for terminated streams 3 years ago
orignal 64ec7dd559 narrow down random range 3 years ago
orignal 367df4d0db RAND_bytes from random router selection 3 years ago
orignal da7e41c188 use Tag<64> for ratechet tags 3 years ago
R4SAS d88fe203e1
[tunnels] count outbound traffic for zero-hop tunnels
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
orignal 1e01c30e63 set pool for zero-hops tunnels 3 years ago
orignal 7a55d1fc38 don't insert garlic tag for short tunnel build reply if the same router 3 years ago
orignal f8623b6121 consistent path for explicit peers 3 years ago
orignal 9a3c22f47d don't encrypt ShortTunnelBuild and ShortTunnelBuildReply if on the same router 3 years ago
orignal e68cff8bba try routers before random router 3 years ago
orignal 513493fa78 fixed typo 3 years ago
orignal a6937c792f more precise router selection 3 years ago
orignal 99c7d5c23a don't create enryptor for ECIES record encryption 3 years ago
orignal cd8e8970de NTP request through compatible address 3 years ago
orignal 26d5ced2ef optimal padding for one-time messages 3 years ago
orignal c7234f705a let NTCP sync through ipv6 3 years ago
orignal c153471c49 use short tunnel build if possible 3 years ago
orignal f28024cfe8 decline transit tunnels from short tunnel build message 3 years ago
orignal 911ab9813e handle encrypteed I2NPShortTunnelBuildReply in destination 3 years ago
orignal cfbf5862f9 set pool for tunnel before build 3 years ago
orignal 5cb1f5986d use msgID from ECIESx25519 block 3 years ago
orignal 0b14c810fb handle ShortTunnelBuildReply 3 years ago
orignal c2334db8f8 correct reply key for short tunnel build record 3 years ago
orignal 4807092df6 fixed typo 3 years ago
orignal bdc1107c96 correct message type for ShortTunnelBuild 3 years ago
orignal db9223b0d5 set minimal version for floodfill to 0.9.38 3 years ago
orignal 6ecfe0789f don't allocate payload buffer for every single ECIESx25519 message 3 years ago
orignal a37cf058cd router with expired introducer is still valid 3 years ago
orignal f4902e6642 eligble floodfill must be reachable by ipv4 3 years ago
orignal 5d022c25ba don't send datetime for one time key message 3 years ago
orignal 0cd9f1b002 precalculate padding sizes 3 years ago
orignal cd0751d3f1 padding block for message for router 3 years ago
orignal a1d1a5df74 datetime block for message for router 3 years ago
orignal 197f13f9c0 rollback 3 years ago
orignal 41bfc7899d keep own RouterInfo in netdb 3 years ago
orignal 2c129b6d39 create and handle short tunnel build reply 3 years ago
orignal dbe427d5eb set reply code for short tunnel build messages 3 years ago
orignal 15c3d46492 encrypt inbound tunnel build message for short tunnel build only 3 years ago
orignal 6a467a09bd fixed build error 3 years ago
orignal ba1b8c7c2b WrapECIESX25519MessageForRouter wihout session 3 years ago
orignal 1e9eb30aa3 garlic encryption of inbound tunnel build message 3 years ago
orignal d47bf1bada different tunnel build record size 3 years ago
orignal 59dd60f5cb genarate keys in CreateBuildRequestRecord 3 years ago
orignal c02a0c4da9 process DELAY_REQUESTED option 3 years ago
orignal 84f6024cc9 locate record to build inside CreateBuildRequestRecord 3 years ago
orignal d73b42b726 extract ret code per hop 3 years ago
orignal ed0c2e68a5 DecryptRecord per tunnel hop 3 years ago
orignal 847225c6bf more yggdrasil reseeds added 3 years ago
orignal a6294df9e8 decrypt one-time message encrypted with tag on router 3 years ago
orignal 9000b3df4e KDF for short tunnel build messages 3 years ago
orignal a717542733 update yggdrasil reseed to 0.4 3 years ago
orignal aace644815 added ShortECIESTunnelHopConfig 3 years ago
orignal 0ae170531e different ElGamal and ECIES hops configs 3 years ago
orignal 8b35ce3320 separate decryption between own record and other records 3 years ago
orignal 5781335814 save and check last stream 3 years ago
orignal 25f63ac22a create different I2NP tunnel messages for endpoint and non-endpoint 3 years ago
orignal 66422d6d83 double size tunnel message 3 years ago
orignal b9476791f4 eliminated extra I2NP messages for fragments 3 years ago