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
orignal
d0c5732e16
eliminate extra lookups for sequential fragments
3 years ago
orignal
3c07665479
use unordered_map for incomplete messages
3 years ago
orignal
f7f50d049b
reduce short tunnel build record length
3 years ago
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>
3 years ago
orignal
fed04c1a19
requsted router to send to if not in netdb
3 years ago
orignal
f5e7d87f5b
don't disable floodfill if still reachable by ipv6
3 years ago
orignal
6ca28adcbb
set address caps and available transports for new address
3 years ago
R4SAS
e8ad7b4f79
rework of storing certificates path ( #1642 )
...
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
R4SAS
d3a49e513c
remove repeatable type definition, add include ( #1642 )
...
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
R4SAS
5bfab0a796
add certsdir option ( #1642 )
...
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
orignal
2185019b59
check if router is reachable by transport before obtaining address
3 years ago
orignal
81c83f0d54
pick ECIES routers only for non-x64
3 years ago
orignal
08a82a0bcd
don't try to connect to a router not reachable from us
3 years ago
orignal
a6af4908d5
use m_ReachableTransports bitmask
3 years ago
orignal
dc75868bd3
check Alice's IP address in PeerTest
3 years ago
orignal
631c8c9870
use correct address type for NTCP2 acceptors
3 years ago
orignal
bce6685d0c
correct check of ipv4/ipv6 address
3 years ago
orignal
e412b17f70
don't publish slow tunnel in LeaseSet if possible
3 years ago
orignal
a92b93192d
reg.i2p for subscriptions
3 years ago
R4SAS
8708a0076f
fix build with boost < 1.55.0 ( closes #1661 )
...
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago
orignal
83fd289e46
don't re-create noise state for every message
3 years ago
orignal
3b051dbba3
send OutboundTunnelBuildReply
3 years ago
orignal
8571830485
create transit tunnel and reply for short tunnel build
3 years ago
orignal
5fb426b336
decrypt and encrypt reply for short tunnel build message
3 years ago
orignal
d752a83eb5
handle i2cp.dontPublishLeaseSet for all destinations
3 years ago
orignal
e740d5fc4f
try to pick non-slow tunnel
3 years ago
orignal
8e3e35a36d
decrypt short request record
3 years ago
orignal
5ce9c0f1e2
build new tunnels instead slow
3 years ago
orignal
ef8c4389e1
reachable transports added
3 years ago
R4SAS
0547d590e1
fix typo
...
Signed-off-by: R4SAS <r4sas@i2pmail.org>
3 years ago