Commit graph

1115 commits

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