Commit Graph

1051 Commits

Author SHA1 Message Date
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
orignal
bdd75e1171 build client tunnels through router with version >= 0.9.36 2020-05-20 14:59:18 -04:00
orignal
648d035a0f GzipNoCompression for datagrams 2020-05-19 21:02:32 -04:00
orignal
7ebf2f010c shorter padding for optimal packet length 2020-05-19 19:03:12 -04:00
orignal
3db4421aa7 don't invoke gzip for decompression if no compression 2020-05-19 10:48:23 -04:00
orignal
9fb59e128b resubmit updated LeaseSet if not confirmed 2020-05-18 22:31:36 -04:00
orignal
c7c6e5917a Streaming MTU size 1812 for ECIESX25519AEADRatchet 2020-05-18 20:45:25 -04:00
orignal
7b418b3adf insert whole message to queue 2020-05-18 17:51:45 -04:00
orignal
1c8d662e30 don't add padding for optimal packet size 2020-05-18 16:42:06 -04:00
orignal
d4bfeab36c pass gzip parameter to UDP tunnels 2020-05-18 12:01:13 -04:00
orignal
e1b1032df9 reseeds update 2020-05-18 08:29:09 -04:00
orignal
329439d0ae don't copy datagram payload 2020-05-17 16:49:31 -04:00
orignal
0b1cfb2102 send response to recived datagram from ECIESX25519AEADRatchet session 2020-05-16 19:10:17 -04:00
orignal
23be4c01df CreateLeaseSetClove 2020-05-13 18:09:26 -04:00
orignal
86782f3479 eliminate extra buffer allocation for incoming packets 2020-05-12 18:30:04 -04:00
orignal
a96c205830 allow encryption type param for encrypted LeaseSet 2020-05-08 14:20:13 -04:00
orignal
9b6facf3b0 fixed crash of encrypted leaseset without authentication 2020-05-06 14:08:54 -04:00
orignal
d503190647 fixed crash of encrypted leaseset without authentication 2020-05-06 10:08:01 -04:00
orignal
c4d9c03930 handle termination block 2020-05-05 13:01:23 -04:00
orignal
d7d70b707f configurable throw function 2020-05-05 11:13:59 -04:00
orignal
bb7f03857c ThrowFatal function 2020-05-05 09:35:41 -04:00
orignal
53b43353eb fixed formatting 2020-05-05 08:27:56 -04:00
orignal
b197556447 remove dependency from Win32App 2020-05-05 08:11:01 -04:00
R4SAS
42d4781a96
[windows] add binding exceptions messagebox notifications, update exceptions handling code
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-05-05 02:45:25 +03:00
R4SAS
4d48d35ad7
[SSU] handle socket binding errors
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-05-04 18:12:23 +03:00
orignal
b7ba8f8e93 precalculate initial h and ck 2020-05-03 13:23:08 -04:00
orignal
dff510c181 set best compression for RouterInfo 2020-05-03 09:27:17 -04:00
orignal
1eead0e885 GzipNoCompression witout zlib calls 2020-05-02 21:18:44 -04:00
orignal
e301387896 don't calculate checsum for Data message send through ECIESX25519AEADRatchet session 2020-05-02 11:13:40 -04:00
orignal
c49e544781 allow longer families 2020-05-01 14:30:56 -04:00
orignal
d48db501e0 max payload is always 1730 2020-05-01 07:33:05 -04:00
orignal
ec4e17f75c cleanup previous tagsets 2020-04-30 21:27:35 -04:00
orignal
17e69e67b1 create additional tags for NSR tagset 2020-04-30 15:38:15 -04:00
orignal
c4f9f7da06 fixed warning 2020-04-30 13:45:26 -04:00
R4SAS
f5712c4198
remove not needed initialization for pointer
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-04-30 04:59:05 +03:00
R4SAS
1aa0da3382 [NTCP2] fix socks proxy support
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-04-30 04:47:32 +03:00
orignal
27d69894d4 show ECIESx25519 session and tag on the web console 2020-04-29 20:50:31 -04:00
orignal
627d8cfe69 correct timestamp check for LeaseSet2 2020-04-29 17:11:48 -04:00
orignal
3d9c844dca handle out of order NSR 2020-04-28 22:03:13 -04:00
orignal
65e1871cd7 new tag for each NSR 2020-04-28 18:23:13 -04:00
R4SAS
0a431594f8
[Log] Change default loglevel (closes #1230)
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-04-29 00:56:43 +03:00
orignal
7b22ef4270 create incoming NSR tagset 2020-04-28 14:47:53 -04:00
orignal
f77a58b2dc set some ECIESx25519 params 2020-04-27 18:53:02 -04:00
orignal
142a138cfc store previous reverse key 2020-04-27 09:35:02 -04:00
R4SAS
e6fdf5ad8d
[Log] create logfile even if loglevel is "none"
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-04-27 13:59:00 +03:00
orignal
50a77fedca removed trivial check 2020-04-26 19:37:00 -04:00
orignal
51e3d5f7bc create next tagset 2020-04-26 19:27:31 -04:00
R4SAS
7f859978dd
[webconsole] Add runtime transit limit changer, fix button CSS
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-04-26 23:45:30 +03:00
orignal
d8134e8a21 handle and send next key message without public key 2020-04-25 21:09:03 -04:00