Commit Graph

112 Commits

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