Commit Graph

901 Commits

Author SHA1 Message Date
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
orignal
614d91e0b1 send same next key reponse 2020-04-25 14:45:53 -04:00
orignal
30067fc7d7 handle next key forward 2020-04-24 21:36:08 -04:00
orignal
ec29597dbd associate tagset for ECIESx25519 tags 2020-04-24 15:46:02 -04:00
orignal
ad211a63f3 check if number of peers to exclude doesn't exceed 512 2020-04-23 15:22:07 -04:00
orignal
6b596bd05f check ECIES flag for encrypted response 2020-04-21 15:14:03 -04:00
orignal
510b85fd23 try ECIESx25519 tag first 2020-04-20 19:37:46 -04:00
orignal
e3c8f3fd6f use ack request instead DeliveryStatus for LeaseSet confirmation 2020-04-19 15:00:51 -04:00
orignal
f9175db28e store intermediate symmetric keys 2020-04-16 21:30:18 -04:00
orignal
f4798d05e7 persist multi encryption keys 2020-04-15 22:04:18 -04:00
orignal
a2a0f62135 multi crypto keys in i2cp.leaseSetEncType 2020-04-15 18:01:01 -04:00
orignal
d923f0e01b support two encryption keys 2020-04-14 19:12:44 -04:00
orignal
2fc16ee13d indetification of incoming garlic messages 2020-04-13 20:00:19 -04:00
orignal
5e606573b1 2.31.0 2020-04-10 12:57:47 -04:00
orignal
b7c206c44b replace by new incoming session 2020-04-09 15:00:38 -04:00
orignal
49c1e47736 correct termination if session already exists 2020-04-08 18:02:12 -04:00
orignal
4e1319d874 handle ECIESFlag in DatabaseLookup at floodfill 2020-04-07 11:40:18 -04:00
R4SAS
a9436aa9af drop i2lua
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-04-03 14:31:38 +03:00
orignal
aa7750bfd3 keep sending new session reply until first established session message received 2020-04-02 21:48:39 -04:00
orignal
8872d1f389 mutex for m_RemoteIdentity 2020-04-01 09:54:10 -04:00
orignal
f21af4068f preferred crypto type for Decrypt 2020-03-31 17:35:51 -04:00
orignal
f4ca6bbb52 fixed race with identity verifier 2020-03-30 19:27:10 -04:00
orignal
869d0156ce handle Ack request 2020-03-26 19:03:38 -04:00
orignal
fe9ac10f02 generate new tags based on last received index 2020-03-22 21:21:12 -04:00
orignal
6fb80f226a reopen socked and restart receiver on exception 2020-03-22 08:14:20 -04:00
orignal
962c2160c7 set actual LeaseSet2 buffer size 2020-03-20 17:43:37 -04:00
R4SAS
168da33d8b
add comma
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-03-20 18:43:54 +03:00
R4SAS
b6b25dc9f3 update log messages
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-03-20 17:51:55 +03:00
orignal
3ca17fdc03 support multiple encryption keys 2020-03-19 18:33:42 -04:00
orignal
f3b0e57a54 publish multiple encryption keys 2020-03-18 18:03:03 -04:00
orignal
5da92437a1 set msg type for deliverystatus 2020-03-16 16:41:07 -04:00
orignal
b5bc05ac2b delete unconfirmed LeaseSet and DeliveryStatus 2020-03-14 16:35:34 -04:00
orignal
45145fa50a add ECIESX25519AEADRatchet session to delivery status 2020-03-14 09:33:48 -04:00
R4SAS
2f56547d5f
Merge pull request #1477 from PurpleI2P/drop-websockets
drop websockets support
2020-03-11 12:37:38 +00:00
orignal
3c53479864 update LeaseSet for ECIESX25519AEADRatchet sessions 2020-03-08 20:58:59 -04:00
orignal
4adc741de3 send DeliveryStatusMsg for LeaseSet 2020-03-08 18:13:41 -04:00
orignal
64da62dbe6 alsways store latest symmkey 2020-03-07 18:46:40 -05:00
orignal
5eec580727 delete strem from destination upon termination 2020-03-04 18:31:22 -05:00
orignal
1e9a53da3f delete stream by id for HTTP interface 2020-03-04 15:54:09 -05:00
orignal
2d3fad2cdb correct proxy buffers 2020-03-02 16:24:00 -05:00
orignal
e969d58689 handle ntcp2.proxy parameter 2020-03-01 15:11:54 -05:00
orignal
ae20e3aa95 NTCP2 proxy 2020-03-01 11:24:18 -05:00
unlnown542a
4f0da87a7a add ntcp2proxy support 2020-03-01 14:35:24 +00:00
orignal
2ffe62ba41 [[fallthrough]] if C++17 only 2020-02-29 09:21:50 -05:00
orignal
e0cb26bd9e fixed fallthough warning for C++17 2020-02-28 14:15:41 -05:00
orignal
1893127e84 use fold expression if C++17 2020-02-28 14:05:51 -05:00
R4SAS
bca0809918
cleanup removed websockets funtions
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-02-28 18:48:43 +03:00
R4SAS
00db527377
drop websockets support
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2020-02-27 14:58:06 +03:00
orignal
5115c27e72 2.30.0 2020-02-25 11:15:30 -05:00
orignal
91919c6d64 check if both sides are ECIESx25519 2020-02-20 21:07:45 -05:00
orignal
7168738835 check ctx for null 2020-02-20 21:05:07 -05:00
orignal
9c9b723cf5 delete expired ECIESX25519AEADRatchet sessions and tags 2020-02-20 15:44:09 -05:00
orignal
f392edd66c single thread SAM by default 2020-02-19 13:27:28 -05:00
orignal
24b48e5d50 reseeds update 2020-02-18 17:45:04 -05:00
orignal
32e2f0b1fa correct termination of streaming destination 2020-02-15 16:30:10 -05:00
orignal
09ed57ad42 select preferred crypto from LeaseSet2 2020-02-12 11:09:20 -05:00
orignal
53a6162b0c generate more receive tags when needed 2020-02-09 17:19:42 -05:00
orignal
694d851cdb Symmetric Key Ratchet 2020-02-08 21:51:02 -05:00
orignal
8e53c30a00 correct calls sequence for tag and index 2020-02-07 22:08:55 -05:00
orignal
012f22cc47 create session tags for ECIESX25519 2020-02-05 15:48:51 -05:00
orignal
9d891ab5dd single thread mode for SAM 2020-02-04 15:31:04 -05:00
orignal
d0e78be867 moved io_service away from ClientDestination 2020-02-04 14:17:23 -05:00
orignal
cbedebc9dd change minimal MTU size 2020-02-04 13:32:16 -05:00
orignal
969f9aa436 common RuunableBase with private inheritance 2020-02-04 11:48:56 -05:00
orignal
b982be5ff5 handle existing session message 2020-02-03 16:21:07 -05:00
orignal
2d154ee640 move RunnableService away from LeaseSetDestination 2020-02-02 18:58:58 -05:00
orignal
49810eb153 common RunnableService 2020-02-02 17:05:30 -05:00
orignal
85b88b8749 second x25519 for new session reply 2020-01-30 19:30:30 -05:00
orignal
239c8b5172 destination delivery instructions 2020-01-30 11:48:32 -05:00
orignal
8c800dc178 save aepk from new session message 2020-01-29 21:57:10 -05:00
orignal
cdd068d99a correct message size 2020-01-29 19:27:38 -05:00
orignal
48fa10b080 incoming ECIESX25519AEADRatchet messages hanler 2020-01-29 15:54:11 -05:00
orignal
a1dbec0fcb handle new session reply 2020-01-29 12:54:26 -05:00
orignal
abe668f1c3 fixed build error 2020-01-28 10:31:35 -05:00
orignal
77440c235d replaced map by unordered_map 2020-01-28 10:03:51 -05:00
orignal
fd1ee48dbe datetime and padding blocks 2020-01-23 14:26:40 -05:00
orignal
205e807b66 reset keys 2020-01-22 21:42:30 -05:00
orignal
34295adb05 attach LeaseSet clove 2020-01-22 14:26:47 -05:00
orignal
7c212bef63 add new session to the list after reply received 2020-01-22 11:27:47 -05:00
orignal
76f95644b7 fixed #1461. Use openssl's HKDF for 1.1.1 anf higher 2020-01-22 09:59:08 -05:00
orignal
928b90d5bc fixed #1461. Use openssl's HKDF for 1.1.1 anf higher 2020-01-22 09:50:50 -05:00
orignal
09c6c2a4f3 decode aepk and bepk back 2020-01-21 21:09:19 -05:00
orignal
2b2bd733e9 correct sharedkey for new outgoing session 2020-01-21 19:13:23 -05:00
orignal
0d2d7e5e71 fixed Elligator tests 2020-01-21 17:53:48 -05:00
orignal
6142e93252 session tag for ECIESx25519 sessions 2020-01-21 14:40:23 -05:00
orignal
ccec3376ba try another ephemeral keys if elligator encoding failes 2020-01-21 12:19:20 -05:00
orignal
f497a74ec4 set random two highest bits 2020-01-21 12:18:31 -05:00
orignal
8b49a55442 ratchet tagsets 2020-01-20 15:17:38 -05:00
Rosen Penev
eabcafa516
replace random_shuffle with shuffle
random_shuffle is gone with C++17.

Found and fixed with clang-tidy.
2020-01-19 18:09:04 -08:00
orignal
6cc388c1bc use HKDF for MixKey 2020-01-18 14:43:36 -05:00
orignal
62e39ddfbd new session reply 2020-01-17 14:11:15 -05:00
orignal
80373623cd create payload 2020-01-17 11:21:41 -05:00
orignal
451c3945f0 create new ECIESX25519AEADRatchet session if not found 2020-01-16 19:33:00 -05:00
orignal
00cb15d9b4 fixed tyypo 2020-01-16 18:03:51 -05:00
orignal
67dd59125e new outgoing ECIESX25519AEADRatchet session 2020-01-16 16:34:13 -05:00
orignal
b6800dd125 lookup ECIESX25519AEADRatchet session by static key 2020-01-16 15:45:22 -05:00
orignal
dc9da69509 derive ECIESX25519AEADRatchetSession from GarlicRoutingSession 2020-01-16 14:59:19 -05:00
orignal
d7d964bf57 GarlicRoutingSession/ElGamalAESSession split 2020-01-16 14:31:01 -05:00
orignal
bcfe44db54 handle tunnel delivery instructioin for ECIESx25519 2020-01-16 12:47:08 -05:00
orignal
376bf6ba72 correct message size for ECIESx25519 2020-01-15 19:22:42 -05:00
orignal
f651baab25 ECIESX25519AEADRatchetSession added 2020-01-15 15:13:43 -05:00
orignal
61752e2aab correct ciphertext length 2020-01-13 22:37:31 -05:00
orignal
4f70822b13 always persist crypto keys for public destinations 2020-01-12 10:03:30 -05:00
orignal
0007f304d0 don't pass from to HandleI2NPMessage 2020-01-07 15:20:55 -05:00
orignal
4afef91359 invoke HandleCloveI2NPMessage 2020-01-06 16:14:41 -05:00
orignal
815b6db0bf HandleCloveI2NPMessage 2020-01-06 15:31:20 -05:00
orignal
a335841509 pass msgID to HandleDeliveryStatus 2020-01-06 14:37:40 -05:00
orignal
5337aa10f7 check AES tag first 2020-01-02 13:30:54 -05:00
orignal
9f79bdae9b encryptor for ECIES-X25519-AEAD-Ratchet 2019-12-19 15:59:15 -05:00
orignal
db84be2488 use HKDF for NTCP2 key derivation data phase 2019-12-18 20:48:30 -05:00
orignal
599ec62bb0 use HKDF for NTCP2 key derivation data phase 2019-12-18 20:45:47 -05:00
orignal
19a88300c6 decrypt payload section 2019-12-18 14:44:02 -05:00
orignal
b5d55e1ffb decrypt flags/static section 2019-12-17 16:34:47 -05:00
orignal
521fb83e38 initial code for ECIES-X25519-AEAD-Ratchet KDF 2019-12-17 16:18:40 -05:00
orignal
553d59c32b decryptor for ECIES-X25519-AEAD-Ratchet 2019-12-11 13:38:36 -05:00
orignal
9ed58e5186 encode with highY 2019-12-10 14:10:12 -05:00
orignal
36eaaa748c handle case when encoded key is (p-1)/2 2019-12-10 13:40:04 -05:00
orignal
5faf84c732 correct conversion from Little Endian 2019-12-10 12:51:39 -05:00
orignal
d7b819267f check a for 0 in Legendre 2019-12-10 10:53:39 -05:00
orignal
7417867d0f implemented Legendre 2019-12-10 10:45:08 -05:00
orignal
8d74905257 0.9.44 2019-12-10 10:44:19 -05:00
orignal
c38298c06e Elligator decode 2019-12-09 16:11:46 -05:00
orignal
3100d587d1 use d%q 2019-12-09 13:23:17 -05:00
orignal
95df3e4b39 encode key 2019-12-06 20:29:03 -05:00
orignal
e6956d9bb0 calculate constants 2019-12-06 14:54:15 -05:00
orignal
2877900233 use 486662 for A 2019-12-05 16:13:59 -05:00
orignal
df1aa52e08 Elligator's encode 2019-12-05 16:03:11 -05:00
orignal
5fa2485a7d removed reseed.i2p.net.in 2019-12-04 17:27:16 -05:00
orignal
29f0e10411 Elligator added 2019-12-04 15:37:24 -05:00
orignal
0abb871f3f close socket after if accept failed 2019-11-20 13:00:50 -05:00
orignal
704fca969f handle accept errors 2019-11-20 12:05:32 -05:00
orignal
6cfe4fa580 handle sending errors 2019-11-18 14:13:31 -05:00
orignal
515c086099 Use GetProcAddress for inet_pton. Fixed build error 2019-11-12 15:06:04 -05:00
orignal
34ce06ac17 some cleanup 2019-11-12 14:19:14 -05:00
orignal
a104c9881e some cleanup 2019-11-12 11:57:34 -05:00
orignal
c3e3c091cc correct implementation of GetMTUWindows for WindowsXP 2019-11-12 11:35:59 -05:00
orignal
651240113c mark RI as unreachable if all connections failed 2019-11-12 10:03:33 -05:00
orignal
77189bf8e9 start over if an active session got disconnected 2019-11-12 09:38:22 -05:00
orignal
60fd3a4542 fixed #1434 use memset inster bzero 2019-11-12 07:17:57 -05:00
orignal
c66f9c8d6d reset connection attempts before reconnect 2019-11-12 06:46:08 -05:00
orignal
a7e8dd04fe 2.29.0 2019-10-21 11:50:59 -04:00
orignal
dfdd76a1bb fixed #1429. Don't use monotonic timer for Win32 2019-10-15 10:32:29 -04:00
orignal
c2f47119ce fixed #1424. Check if .b32.i2p address string is valid 2019-09-23 13:42:15 -04:00
orignal
d6b1d0d4fb remove incoming session from pending list when established 2019-09-22 21:01:34 -04:00
orignal
03a861745b removed CloseSession 2019-09-20 20:09:25 -04:00
orignal
9a7aed20e9 handle error for SessionConfrimed send 2019-09-19 16:54:23 -04:00
orignal
b7f17d4cb1 client auth flag for B33 address 2019-09-06 11:02:19 -04:00
orignal
44a2549b81 2.28.0 2019-08-27 09:46:54 -04:00
orignal
e42efec220 correct outet plain text length in case of authKeys 2019-08-26 07:35:11 -04:00
orignal
9d06aa2f6a pass authSalt or epk 2019-08-25 20:51:15 -04:00
orignal
80765a797b correct outer cipher text len 2019-08-25 19:14:53 -04:00