Commit Graph

985 Commits

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