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
orignal
bb518d3d51
don't pass BN_CTX to encrypt/decrypt functions
2021-08-31 18:51:40 -04:00
orignal
da7e41c188
use Tag<64> for ratechet tags
2021-08-01 18:42:13 -04:00
orignal
26d5ced2ef
optimal padding for one-time messages
2021-07-23 20:28:55 -04:00
orignal
6ecfe0789f
don't allocate payload buffer for every single ECIESx25519 message
2021-07-18 18:45:08 -04:00
orignal
5d022c25ba
don't send datetime for one time key message
2021-07-16 09:44:22 -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
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
83fd289e46
don't re-create noise state for every message
2021-06-09 12:49:50 -04:00
orignal
f321eb66c0
rename DatabaseLookupTageSet to SymmetricKeyTagset
2021-05-22 18:41:25 -04:00
orignal
baec22610e
always set expiration time for NSR tagset
2021-05-12 07:57:37 -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
065cfe3b9d
separate ratchet session for ECIES router
2021-03-03 15:30:13 -05:00
orignal
9d5bb1b2b6
drop routing path for LeaseSet resend
2021-01-23 21:25:52 -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
f2e4d5f06c
trim behind not affter max generated tags
2020-12-20 19:52:06 -05: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
c833b16544
check if session expired before generating more tags
2020-11-26 09:15:45 -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
orignal
1c7780a423
garlic clove block for router
2020-11-09 15:35:50 -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
2b0d1a2190
implement DatabaseLookupTagSet
2020-09-15 19:39:18 -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
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
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
69194118df
generate random padding length in bulk
2020-06-13 21:24:16 -04:00
orignal
61897ae16c
crypto.ratchet.inboundTags
2020-06-12 20:42:54 -04:00
orignal
4ae41513ac
save new session with NSR tagset
2020-06-04 18:19:38 -04:00
orignal
37ec90c436
don't gererate more tags for detached session
2020-05-26 16:47:45 -04:00
orignal
86e8614934
allow session restart after 2 minutes from creation
2020-05-23 10:20:22 -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
7ebf2f010c
shorter padding for optimal packet length
2020-05-19 19:03:12 -04:00