Commit Graph

1578 Commits

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