Commit Graph

545 Commits

Author SHA1 Message Date
orignal
12af68bdb5 initial support of LeaseSet2 2018-12-21 15:00:03 -05:00
orignal
1933e44719 reseeds update 2018-12-17 20:14:12 -05:00
orignal
8a987af244 initialize m_Pkey 2018-12-11 15:14:51 -05:00
orignal
65cbb06080 create ephemeral keys after getting connected 2018-12-07 19:24:46 -05:00
orignal
979ea9c252 removed address resolvers as discontinued 2018-12-07 12:27:06 -05:00
orignal
c7af2889fa removed dummy initializer 2018-12-05 14:56:40 -05:00
orignal
5ab3390434 don't create dummy initializer for android 2018-12-05 11:39:48 -05:00
orignal
67f60f1889 set openssl no_config before boost::asio:ssl 2018-12-04 21:20:12 -05:00
orignal
985a468d0f don't read openssl config file 2018-12-04 18:39:49 -05:00
orignal
34dc6fbdc1 check if session is terminated before sending 2018-12-04 16:10:52 -05:00
orignal
b57152cc25 common code for padding and sending termination and RouterInfo messages 2018-12-04 15:56:55 -05:00
orignal
dc9562e430 padding for termination message 2018-12-04 15:23:43 -05:00
orignal
05689fe183 padding for short messages 2018-12-04 15:00:10 -05:00
orignal
8f6f95211e eliminate extra copy of RouterInfo 2018-12-04 12:56:49 -05:00
orignal
f30b6c9e6e const reference to vector of buffers 2018-12-04 12:54:48 -05:00
orignal
12ac7d6a00 enable sending I2NP messages 2018-12-03 18:47:20 -05:00
orignal
10251a6447 fixed typo 2018-12-03 15:54:35 -05:00
orignal
089cbbc20a rollback 2018-12-03 14:51:27 -05:00
orignal
95ab68acd1 don't copy I2NP messages to NTCP2 frame 2018-12-03 14:14:36 -05:00
orignal
abc4f6c70b fixed bug with chacha20 encryption of short messages 2018-12-03 13:36:17 -05:00
orignal
8fc3a1f9c9 correct frame size for I2NP msgs 2018-12-03 12:29:24 -05:00
orignal
5c3d0fc02c create I2NP blocks 2018-12-02 17:24:31 -05:00
orignal
7efb47fed4 send NTCP2 frame from I2NP messages 2018-12-02 14:24:39 -05:00
orignal
7692332f0e don't inialize Chacha20 state twice 2018-11-30 21:31:06 -05:00
orignal
ef6db64e9f correct chacha20 for multiple messages 2018-11-30 16:21:11 -05:00
orignal
e68f1dbc99 AEAD/Chacha20/Poly1305 encrypt multiple buffers 2018-11-30 14:41:14 -05:00
orignal
0c9ebc36d4 remove AVX and SSE for CipherBlock XOR 2018-11-27 14:33:31 -05:00
orignal
328c2182c2 alignment for tunnel message AES decryption 2018-11-27 10:35:17 -05:00
orignal
08706f5dfb fixed typo 2018-11-25 18:49:59 -05:00
orignal
d49f165f0d fixed build warning 2018-11-25 15:59:00 -05:00
orignal
cf0fc3a4a9 some performance improvements 2018-11-25 10:33:48 -05:00
orignal
72c8fd257c eliminate extra buffer for Poly1305 2018-11-24 15:39:37 -05:00
orignal
fa620e41a4 correct alignment for polyKey 2018-11-24 14:41:17 -05:00
Jeff Becker
16b3108719
Merge remote-tracking branch 'purple/openssl' into openssl 2018-11-24 10:08:12 -05:00
Jeff Becker
f385c624c7
expose poly1305 digester 2018-11-24 10:07:17 -05:00
orignal
f7e9975192 restore BlockCipher XOR using SSE 2018-11-24 09:43:30 -05:00
orignal
cde989b59d don't compile compatibility code if openssl 1.1.1 2018-11-22 12:13:16 -05:00
orignal
c0e263abd3 default value for m_PersistProfiles 2018-11-22 11:30:44 -05:00
R4SAS
79c0c11e80 configure persist of peer profiles
* If persist.profiles = false, peer profiles not stored on disk
* remove inet_pton for windows
* update configs
2018-11-22 00:13:23 +03:00
orignal
ca671551c8 flood NTCP2 RouterInfo if requested 2018-11-21 13:24:54 -05:00
orignal
42ed312384 handle NTCP2 RouterInfo flag 2018-11-21 11:23:48 -05:00
orignal
0e9074aaba reduce start and stop time 2018-11-20 13:57:51 -05:00
orignal
8a549b83a2 NTP sync in separate thread 2018-11-16 12:49:04 -05:00
orignal
d7081c5f23 handle RouterInfo from NTCP2 in netdb's thread 2018-11-14 20:52:54 -05:00
orignal
588d64a30b more NTP logging 2018-11-14 12:27:11 -05:00
orignal
8335bdf3d4 correct ntp servers 2018-11-14 11:47:50 -05:00
orignal
85394f2438 NTP time sync 2018-11-14 11:06:53 -05:00
asokolov
a26ed6fe6c Merge remote-tracking branch 'upstream/openssl' into webroot 2018-11-09 16:30:54 +03:00
R4SAS
779228857e 2.22.0 2018-11-09 02:22:55 +00:00
asokolov
23ae220aa7 add webroot setting 2018-11-07 18:07:05 +03:00
orignal
b3fd8bd0ae check if keys are available before sending termination message 2018-11-04 18:51:25 -05:00
orignal
bffeb237de termination might be send for non-established session 2018-11-04 15:32:31 -05:00
orignal
23e3602ea1 common MixHash 2018-11-01 16:06:39 -04:00
orignal
34cfd205f6 create new static keys by X25519Keys 2018-11-01 10:43:31 -04:00
l-n-s
a141678119 Add --version flag to display i2pd and system libraries versions 2018-10-28 10:52:22 -04:00
orignal
96d109af81 fixed typo 2018-10-27 19:55:23 -04:00
orignal
a309eb9f3c faster CipherBlock XOR implementation for non-AVX 2018-10-27 18:41:05 -04:00
orignal
d034dab265 fill m3p2 with SessionRequest 2018-10-26 09:58:18 -04:00
orignal
a2e84e5a1e 2.21.1 2018-10-22 09:19:39 -04:00
orignal
9439621849 fixed #1259. read extra tunnels from tunnels.d 2018-10-19 15:23:46 -04:00
orignal
15ded89618 set cost=14 for unpublished NTCP2 addresses 2018-10-11 13:00:37 -04:00
orignal
b84f74c167 limit SSU message size to 32K 2018-10-11 11:17:14 -04:00
orignal
a97300f8be fixed #1256 I2NP messages up to 64K 2018-10-10 11:31:55 -04:00
orignal
15899c10b2 2.21.0 2018-10-04 09:38:04 -04:00
orignal
af793395f0 don't publish O with X or P 2018-09-30 16:08:26 -04:00
orignal
8f41776858 check send queue size 2018-09-28 09:54:42 -04:00
orignal
5f7dda5ba8 treat extra bandwidth as high bandwidth 2018-09-22 14:12:46 -04:00
orignal
2dfa1ca0f2 check RouterInfo's timestamp in SessionConfirmed 2018-09-21 11:45:04 -04:00
orignal
358cdcf4c4 removed RSA signatures completly 2018-09-21 11:16:38 -04:00
orignal
c8f4ace5c4 update timestamp before publishing 2018-09-21 10:13:18 -04:00
orignal
5cac6ca8bb read message body immediatly after length 2018-09-17 13:08:49 -04:00
orignal
fccad71df1 temporary buffer for EdDSA signature for openssl 1.1.1 2018-09-16 18:08:59 -04:00
orignal
97ae2674dc always use EdDsa signer fallback 2018-09-14 21:54:45 -04:00
orignal
7c70affd7f eddsa signer fallback 2018-09-14 21:23:16 -04:00
orignal
52ff568d86 fixed incorrect second signature 2018-09-14 18:58:40 -04:00
orignal
8de443ec4c siphash from openssl 1.1.1 2018-09-11 13:26:29 -04:00
orignal
7d9893c614 fixed build error 2018-09-09 17:27:53 -04:00
orignal
3540712517 some cleanup 2018-09-09 08:38:12 -04:00
orignal
a8b1a86bd7 X25519Keys for static key 2018-09-08 22:08:08 -04:00
orignal
1babd3a5a2 separate X25519Keys 2018-09-08 16:52:42 -04:00
orignal
33aa8e2471 use x25519 from openssl 1.1.1 for ephemeral keys 2018-09-05 11:19:58 -04:00
orignal
2c58fe736b fixed build error with openssl 1.1.1 2018-09-05 09:51:03 -04:00
orignal
2c3b19a539 use EdDSA from openssl 1.1.1 2018-09-03 17:39:49 -04:00
orignal
b67424643d done insert NTCP2 ipv6 address twice 2018-08-27 18:56:57 -04:00
orignal
575a4c01c9 publish NTCP2 adress if port is specified 2018-08-27 18:35:35 -04:00
orignal
f0d4ee6618 pass NTCP2 ipv6 address 2018-08-27 16:01:47 -04:00
orignal
8753186a0d publish NTCP2 ipv6 address if applicable 2018-08-27 15:01:43 -04:00
orignal
9dd38b99d6 check NTCP2 for addreses comparison 2018-08-26 09:40:27 -04:00
orignal
71ac0286b1 2.20.0 2018-08-23 10:24:44 -04:00
orignal
022f4d2c11 don't send message to not established session 2018-08-23 07:23:50 -04:00
orignal
b259ee89aa send RouterInfo from NTCP2Server's thread 2018-08-22 12:33:43 -04:00
orignal
d9476fb5ca set correct IV when NTCP2 address gets published 2018-08-19 16:17:57 -04:00
orignal
2d758ce963 change cost for NTCP and NTCP2 2018-08-18 13:52:35 -04:00
orignal
1dd003d26a check m2p3len 2018-08-18 08:27:36 -04:00
orignal
5e110e9f7b enable NTCP2 by default 2018-08-16 13:48:47 -04:00
orignal
77a409935d license added 2018-08-16 13:46:59 -04:00
orignal
11142690a0 show correct value of time drift 2018-08-16 10:13:32 -04:00
orignal
02e8c5faca fixed typo 2018-08-15 13:23:10 -04:00
orignal
c41081d35c check timestamps 2018-08-15 11:42:56 -04:00
orignal
e4ab51329d move handshake messages processing to NTCP2Establisher 2018-08-14 14:01:04 -04:00
orignal
86782aeb1b don't send RouterInfo twice 2018-08-14 11:27:27 -04:00
orignal
49a44fc92e assume siphash IV in Litte Endian 2018-08-13 14:07:57 -04:00
orignal
cd39a52c25 correct endianness for siphash length 2018-08-13 13:43:51 -04:00
l-n-s
29b91075d2 Don't add SSU/NTCP addresses to RI if they are disabled in config (#1220) 2018-08-12 02:36:00 -04:00
orignal
6d46fc9f9f check send frame error code 2018-08-11 16:08:21 -04:00
orignal
a2c41c9e36 allow NTCP2 only transports 2018-08-10 15:35:43 -04:00
orignal
ee700ac861 fixed incorrect iv for published NTCP2 addresses 2018-08-10 15:14:07 -04:00
orignal
9884a4336f don't connect to NTCP2 only address using NTCP 2018-08-10 13:42:59 -04:00
orignal
5b83d4bef8 move handshake messages creation to NTCP2Establisher 2018-08-10 10:53:34 -04:00
orignal
d320a89590 don't copy buffer to ifself 2018-08-09 16:32:43 -04:00
orignal
f7e4afc282 use same buffer for input and output for AEAD/Chacha20/Poly1305 2018-08-09 15:47:02 -04:00
orignal
88e87d589b add incoming NTCP2 session to the sessions list 2018-08-09 14:20:10 -04:00
orignal
d8c6dede7e moved NTCP2 handshake buffers to establisher 2018-08-09 12:53:36 -04:00
orignal
5cc84133e3 fixed incorrect lenght 2018-08-08 17:38:21 -04:00
orignal
f7728aa1f6 reuse NTCP2 frame buffers 2018-08-08 16:23:44 -04:00
orignal
2b61f9a731 fixed #1217. verify decryption result 2018-08-07 10:35:25 -04:00
orignal
f407022fe6 connect to NTCP2 address if presented 2018-08-04 13:48:09 -04:00
orignal
41b9f19b01 get unpublished NTCP2 address 2018-08-04 08:47:58 -04:00
orignal
09c6faf923 don't overwrite NTCP2 keys 2018-08-03 21:16:35 -04:00
orignal
26d0177c01 always make NTCP address first 2018-08-03 20:28:29 -04:00
orignal
f7415c8a8f enable/disable NTCP2 address 2018-08-03 14:49:28 -04:00
orignal
4cf79088f9 NTCP2 idle timeout 2018-08-03 13:19:35 -04:00
orignal
50cd321818 NTCP2 idle timeout 2018-08-03 13:10:32 -04:00
orignal
0a33c18e36 send termination message 2018-08-02 15:31:15 -04:00
orignal
6cf158ac63 check RouterInfo from SessionConfirmed 2018-08-02 13:58:47 -04:00
orignal
f96bfa6afa send RouterInfo 2018-08-02 12:42:39 -04:00
orignal
2b64cf9126 publish i in correct place for NTCP2 2018-08-01 12:28:34 -04:00
orignal
a8dcfc44f5 handle termination message 2018-08-01 09:43:48 -04:00
orignal
0ff9c9da27 complete Bob side of NTCP2 2018-07-31 15:41:13 -04:00
orignal
07e7c2d852 ntcp2.published and ntcp2.port parameters 2018-07-31 12:59:38 -04:00
orignal
10e4b5b2a3 ignore NTCP2 addresses 2018-07-23 15:44:36 -04:00
orignal
998653ea9d NTCP2 acceptors 2018-07-23 15:30:51 -04:00
orignal
1a38e925bf publish NTCP2 address 2018-07-23 13:51:29 -04:00
orignal
c8f51380e6 publish NTCP2 for new routers 2018-07-21 16:59:58 -04:00
orignal
5bedfc1c84 post I2NP messages to NTCP2 thread 2018-07-19 12:46:19 -04:00
orignal
5001592fb4 replace ntcp2 by ntcp2.enabled 2018-07-19 09:45:24 -04:00
orignal
f6495e59c5 better MixHash 2018-07-19 09:27:59 -04:00
orignal
66bf431481 correct KDF1 calculation 2018-07-18 16:27:43 -04:00
orignal
d9685e991e handle RouterInfo block 2018-07-18 15:57:18 -04:00
orignal
e0790700cd don't connect to unpublished NTCP2 addresses 2018-07-18 14:19:12 -04:00
orignal
910a9600bd display NTCP2 session in web console 2018-07-18 12:58:29 -04:00
orignal
fc52b2b940 fixed typo 2018-07-18 12:56:46 -04:00
orignal
b99f828583 send I2NP messages through NTCP2 2018-07-18 11:16:40 -04:00
orignal
f38891cace fixed build for gcc < 4.8 2018-07-18 11:15:27 -04:00
orignal
8c5111e11a handle NTCP2 I2NP messages 2018-07-17 15:17:05 -04:00
orignal
5575b981c8 enable NTCP2 as transport 2018-07-13 15:59:28 -04:00
yangfl
52f3081a40 fix typo 2018-07-10 17:39:21 +08:00
orignal
00c71dc26a handle SessionConfirmed 2018-07-09 15:56:23 -04:00
orignal
5218c8584f some refactoring of NTCP2 code 2018-07-04 14:15:40 -04:00
orignal
6054bd6621 NTCP2 session establisher 2018-07-03 16:26:02 -04:00
Dmitry Marakasov
4ffbb46cf9 Fix "macro expansion producing 'defined' has undefined behavior" clang warning 2018-06-27 22:31:01 +03:00
yangfl
dec848f072 use builtin __AVX__ and __AES__ macros and reduce code duplication 2018-06-27 17:32:38 +08:00
orignal
00df3f8d4e 2.19.0 2018-06-26 13:36:30 -04:00
orignal
5bc157eb19 send data frame for NTCP2 2018-06-25 12:28:07 -04:00
orignal
0aa618b938 process AEAD/Chacha20/Poly1305 frame for data phase of NTCP2 2018-06-22 15:02:49 -04:00
orignal
5884852612 correct usage of sipkeys 2018-06-22 12:20:35 -04:00
orignal
5b29592174 generate sipkeys for data pahse of NTCP2 2018-06-21 16:24:19 -04:00
orignal
96411cc93e derive keys for siphash 2018-06-21 12:39:24 -04:00
R4SAS
7d862d8eba service and daemon works as bool without values, other requires true/false 2018-06-21 09:40:53 +03:00
R4SAS
dd392941d0 update Config.cpp, links to examples, manpage 2018-06-21 09:40:53 +03:00
orignal
3cec5235c9 NTCP2 according to new specs 2018-06-20 16:09:22 -04:00
orignal
b5682012d3 process SessionRequest and send SessionCreated for NTCP2 2018-06-19 15:43:47 -04:00
orignal
9c7cadb191 better implementation of x25519 2018-06-19 11:14:22 -04:00
orignal
58c92b8405 aead/chacha20/poly1305 from openssl 1.1 2018-06-18 12:56:47 -04:00
R4SAS
985b618932 addng forgotten bracket 2018-06-16 23:07:03 +03:00
R4SAS
bdc7acffbe remove zero_tokens(), update manpage 2018-06-16 22:38:59 +03:00
R4SAS
6bd73cdea2 Update help message, debian manpage. Prepare changelog message 2018-06-16 18:11:46 +03:00
orignal
e05110ff44 send RouterInfo in SessionConfirmed 2018-06-15 14:56:03 -04:00
orignal
706b976a28 handle and publish NTCP2 address 2018-06-15 12:52:43 -04:00
orignal
2bd7a92d20 send SessionConfirmed 2018-06-14 15:29:36 -04:00
orignal
6b37a41e00 correct ad calculation for SessionCreated 2018-06-14 10:45:25 -04:00
orignal
5447259e1a AEAD/ChaCha20/Poly1305 decryption and SessionCreate prcessing 2018-06-13 16:16:23 -04:00
orignal
ee0ae0b74b decrypt Y for NTCP2 2018-06-13 14:56:51 -04:00
orignal
966256ac32 correct Poly1305 calculation 2018-06-13 12:58:32 -04:00
orignal
6b9061515f AEAD/ChaCha20/Poly1305 test added 2018-06-13 12:25:32 -04:00
orignal
df60e78766 AEAD/Chacha20/Poly1305 encryption 2018-06-13 11:41:46 -04:00
orignal
3b46e9f351 fixed typo 2018-06-12 14:55:40 -04:00
orignal
046a80cfe4 scalar multiplication for x25519 2018-06-12 12:42:20 -04:00
orignal
a8278fc78b router's NTCP2 private keys 2018-06-11 15:33:48 -04:00
orignal
7f3127ac89 pass unencrypted X to KDF 2018-06-11 14:32:15 -04:00
orignal
7cdb021a1f pass correct nonce to chacha20 2018-06-11 14:05:30 -04:00
orignal
74c0b729c2 connect to NTCP2 2018-06-11 12:29:30 -04:00
orignal
5cb81f8532 send SessionRequest message 2018-06-06 15:38:18 -04:00
orignal
4f23d7b7df recognize routers with NTCP2 2018-06-06 11:51:34 -04:00
orignal
a70d0edf2e encrypt SessionRequest options block 2018-06-05 16:15:33 -04:00
orignal
8c9eaccc11 KeyDerivationFunction for NTCP2 2018-06-05 15:37:08 -04:00
orignal
86c1984982 NTCP2 added 2018-06-05 12:53:13 -04:00
orignal
cd0f75106a moved Ed25519 away from signature 2018-06-04 16:06:38 -04:00
orignal
4cedaa9e80 fixed android build 2018-05-28 09:49:59 -04:00
orignal
5d86c1c9a6 ntcp2 crypto added 2018-05-24 14:27:26 -04:00
mewmew@i2p
ed2818eaa2 qt log viewer now works 2018-05-19 23:06:06 +08:00
orignal
db03595473
correct message size 2018-04-29 18:05:28 -04:00
Jeff Becker
a63bc1cdca
correct sizes 2018-04-29 11:41:03 -04:00
Jeff Becker
6265d452e9
more bounds checking 2018-04-29 11:34:23 -04:00
orignal
0df68872ab
Merge pull request #1169 from majestrate/master
SAM fixes
2018-04-25 12:02:51 -04:00
Jeff Becker
0ced38cdcb
tabify 2018-04-25 11:27:56 -04:00
Sammael
97127e86dc
Delete some for correct compilation 2018-04-25 01:59:11 +07:00
Arm64 plaz
66de7ad049 for first time disable aesenc for arm64 2018-04-24 18:23:40 +00:00
Jeff Becker
4643c92d33
Initial SAM cleanup 2018-04-24 09:45:16 -04:00
Jeff Becker
fa154cc4d6
Merge remote-tracking branch 'purple/openssl' 2018-04-22 07:52:49 -04:00