Commit Graph

263 Commits

Author SHA1 Message Date
levlam
40cb97841a Pass error message as string. 2021-07-26 19:58:31 +03:00
levlam
0b74d17f8c Don't try to continue Handshake if timeout expired. 2021-07-22 19:23:08 +03:00
levlam
7f617254f0 Move HandshakeActor methods to cpp. 2021-07-22 19:03:34 +03:00
levlam
061ca24be9 Simplify AuthKeyHandshake constructor. 2021-07-19 05:09:20 +03:00
levlam
3109848164 Delete unused AuthKeyHandshake methods. 2021-07-19 05:01:14 +03:00
levlam
1f9c6c7352 Minor improvements. 2021-07-16 18:58:11 +03:00
levlam
46aa876259 Use is_*_bad instead of is_*_ok. 2021-07-11 02:21:01 +03:00
levlam
e9e2428237 Update server keys. 2021-07-08 16:39:34 +03:00
levlam
d23064812f Simplify rsa_key usage. 2021-07-06 18:31:43 +03:00
levlam
65e96c561c Add struct RsaKey. 2021-07-05 22:09:45 +03:00
levlam
c60693cc7e Improve AuthKeyHandshake private field names. 2021-07-05 21:26:43 +03:00
levlam
040e0deb31 Move DhCallback to a separate header. 2021-07-05 21:20:07 +03:00
levlam
61664b4044 Move remaining MTProto classes to namespace mtproto. 2021-07-05 21:04:23 +03:00
levlam
4404e47f75 Use TLObjectStorer to store Handshake objects. 2021-07-05 20:38:39 +03:00
levlam
397274daf7 Remove server_DH_params_fail. 2021-07-05 19:45:31 +03:00
levlam
370d443a9d Explicitly specify inheritance mode. 2021-07-04 18:22:20 +03:00
levlam
40c5d47717 Make inherited classes final if possible. 2021-07-04 05:58:54 +03:00
levlam
edfa5d1d98 Use final instead of override. 2021-07-03 23:51:36 +03:00
levlam
bed2650b4c Fix secret chat creation. 2021-07-02 03:25:09 +03:00
levlam
8a418e9e03 Use Status::move_as_error_suffix to keep error type. 2021-06-14 01:24:15 +03:00
levlam
69cd3e9ced Improve header name. 2021-06-02 16:22:30 +03:00
levlam
1554044a84 Simplify removing packet padding. 2021-06-02 01:50:00 +03:00
levlam
9cecc116f3 Prefer US spelling of "canceled". 2021-05-31 21:51:48 +03:00
levlam
a6a4eb6616 Don't include SliceBuilder.h in logging.h. 2021-05-17 15:21:11 +03:00
levlam
4df03c8491 Clamp float numbers before conversion to integers. 2021-03-28 22:33:22 +03:00
levlam
b84318fed4 Minor improvements. 2021-03-27 05:19:22 +03:00
levlam
66de95d93c Fix compilation errors and formatting. 2021-03-26 18:52:45 +03:00
Arseny Smirnov
5c7b7d4c85 TD_EXPERIMENTAL_WATCH_OS cmake option 2021-03-26 18:04:25 +03:00
Arseny Smirnov
0c90ca3784 some cryptography draft 2021-02-10 23:25:28 +03:00
levlam
e031a2c6c1 Improve Slice::truncate usage. 2021-02-04 15:54:12 +03:00
levlam
e3cb608293 Remove was_auth flag. 2021-02-01 15:07:10 +03:00
levlam
fc2941763b Fix LibreSSL 3+ support. 2021-01-24 21:59:03 +03:00
levlam
82f0386e73 Move some functions from misc.h to algorithm.h. 2021-01-01 16:01:03 +03:00
levlam
52c1da0a70 Update copyright year. 2021-01-01 15:57:46 +03:00
levlam
3ec02f971d Update Safari's ClientHello. 2020-12-31 16:08:04 +03:00
levlam
6d6d1b20b6 Reimplement RSA for OpenSSL 3.0.0. 2020-12-22 23:29:10 +03:00
levlam
03bb56ae96 Add RSA test. 2020-12-22 22:28:04 +03:00
levlam
fdc3920572 Fix some includes.
GitOrigin-RevId: 4b57613cc6e948ceb7d63b4378bc9124271e0f53
2020-10-08 18:30:36 +03:00
levlam
d2d0cb5cc0 Move log tags definitions out of logging.cpp.
GitOrigin-RevId: 0e74b94ec194f8ee678bb77a04d35df46702b330
2020-10-05 18:07:23 +03:00
levlam
77678b730c Send acknowledgements immediately if hane many of them.
GitOrigin-RevId: e7759150942e8fcdde57b1113e5b6c0375023f91
2020-09-02 15:40:47 +03:00
levlam
c4ca04a17d Move expected logging to INFO.
GitOrigin-RevId: 4e12878c5390f6634f3a2cc6b8de5b9c3de50012
2020-08-06 20:37:19 +03:00
Arseny Smirnov
9ea1bc824f ByteFlow: backpressure draft
GitOrigin-RevId: 09adce82dd88fcf84f41e525e45b07da03acc0f6
2020-07-22 21:52:00 +03:00
Arseny Smirnov
38ef3a75cc PollableFd: explicit sync_with_poll
GitOrigin-RevId: 71fa35a594816e84e372ebcfa9d0077a13f26a62
2020-07-21 18:29:39 +03:00
levlam
c9889d1a20 Fix TLS handshake.
GitOrigin-RevId: 7542732a79c9fed971332203a620f32ce6d8f878
2020-07-15 16:38:04 +03:00
levlam
7767842d4c Minor fixes.
GitOrigin-RevId: b9f67c5e5edf818610c1739533f01a7873e6e1b6
2020-07-14 03:37:04 +03:00
levlam
e16952121b Use emplace whenever possible.
GitOrigin-RevId: 67cd8e3b6331c5e1671a9d662f034af1e29d3ac6
2020-07-13 23:20:16 +03:00
levlam
97b2191697 Update TLS ClientHello.
GitOrigin-RevId: c7555b5f569c17fa0b1600c9d4cfb6bc4310b4b5
2020-07-09 16:59:57 +03:00
levlam
0cf4fea1ff Remove enum usages for static constants creation.
GitOrigin-RevId: 2a88fd2cd961398a09403fe35a15ae56372a44f8
2020-06-15 04:52:56 +03:00
levlam
ea4841a37c Unify enum constant name style.
GitOrigin-RevId: 2e36eef9b54c23da0d1bc9beb7e07af8835f702d
2020-06-15 04:23:47 +03:00
levlam
8a118ec305 Add PingProxy actor name.
GitOrigin-RevId: b539817bad2d706df3391619cd2c81324b8dc686
2020-06-10 20:34:45 +03:00
levlam
6f885c41d9 Rename crypto to RSA.
GitOrigin-RevId: 4c15f44c0d5c618933b7c1aecb3580664a15a557
2020-05-17 17:07:16 +03:00
levlam
62863e9280 Minor fixes.
GitOrigin-RevId: e7b9ea9cb76d5c65c00a5ca86c85c6c8984e1d3c
2020-03-16 22:00:44 +03:00
levlam
aac59710b4 Move fetch_result to corresponding files.
GitOrigin-RevId: e553631e87f81f466ce8ebc353820acd82dd8510
2020-03-16 01:42:24 +03:00
levlam
d06a786a16 Simplify NetQueryCreator and remove mtproto dependency on telegram_api.
GitOrigin-RevId: 2edfc9d6d80eab8716dfd3722f6aebe53dba1e47
2020-03-16 01:01:14 +03:00
levlam
6854db1021 Remove unneeded call to ensure_const_time on a public exponent.
GitOrigin-RevId: 5b35a453851ecc4caf4c97f17d059c2dd1c81cfd
2020-03-10 18:28:25 +03:00
levlam
3e559e457c Improve names of RSA methods.
GitOrigin-RevId: b6f61f141987f282b5cf4faa9ff6cdf1219e8562
2020-03-10 18:27:43 +03:00
levlam
b7af94e2e4 Make RSA::encrypt safe.
GitOrigin-RevId: 0d83acb2f6c022af59320c3ea755257cd926cbe4
2020-02-13 03:49:59 +03:00
levlam
c99103afce Fix test.
GitOrigin-RevId: 6f2a9eec68042949d10d8a4513d176e57f603146
2020-01-30 04:06:15 +03:00
levlam
4b10b66065 Add Darwin specific algorithm.
GitOrigin-RevId: 7a48335cb2089adfa34d6637c8f484750686ada3
2020-01-26 01:39:22 +03:00
levlam
eae92b214a Really fix too long TLS-proxy domain.
GitOrigin-RevId: a07726e8bb75b467d26043d6c9b4ad834a961567
2020-01-26 01:22:07 +03:00
levlam
21f1f4510c Add error on too long proxy secret.
GitOrigin-RevId: 14321993a0793cf454a0e12de4109dbd0c180b67
2020-01-24 18:33:17 +03:00
levlam
59f938405e Restrict proxy server name length.
GitOrigin-RevId: d2e18866ff7fd977655cf27c3295b716237d92c7
2020-01-24 15:57:28 +03:00
levlam
53da415b5c Send updates for "unix_time" option.
GitOrigin-RevId: 08f48634a02602060d55b8b8628e20d7d2618381
2020-01-08 23:41:03 +03:00
levlam
1b1bd481e3 Make all AuthKeyHandshake fields private.
GitOrigin-RevId: 73bc8e67b5c86a4f30cabde16f84395b47d7f79e
2020-01-08 20:30:07 +03:00
Arseny Smirnov
890855a4f0 Validate and drop invalid main authorization key
GitOrigin-RevId: 5f5a0baf4fc55b629b6e0534c475f6236cc72506
2020-01-07 15:42:04 +03:00
levlam
80c35676a2 Update copyright year.
GitOrigin-RevId: 09afb551b6e637dc69739fa735b0051a38b9e14c
2020-01-01 04:23:48 +03:00
levlam
a14ee3e66c Do not use functional cast on integers.
GitOrigin-RevId: 1ebcf0e9a9b004039d32b6363140387bca7d7722
2019-12-24 16:46:10 +03:00
levlam
56e4d740e8 Fix misprint.
GitOrigin-RevId: 829f4ff9e24b7c91f3c9e9cbae4c64552c0d8a8d
2019-11-29 19:16:40 +03:00
levlam
917a3af6ac Fix some includes.
GitOrigin-RevId: c82e599631dd678f2c69fbf7fd3e9b3cd23ed965
2019-11-26 21:57:48 +03:00
levlam
26c5328b89 Do not generate default constructors.
GitOrigin-RevId: 89afa038ad99739ca0465e05a2e123ac60e7fa7a
2019-11-21 17:53:39 +03:00
levlam
809b28aa4a Better MTProto spelling.
GitOrigin-RevId: d631aa03c2b3b19abe2c804d9a5e1d7d95602693
2019-10-26 16:58:38 +03:00
levlam
0044ce9bd3 Minor refactoring.
GitOrigin-RevId: 7c02341c8382c976da485fb7e28de6dd75cd3d1c
2019-11-13 20:10:22 +03:00
levlam
5d8b9c6c9a Add logging.
GitOrigin-RevId: e6f26eaa65300edd4d6e1bd9c3fb34745a979f5f
2019-10-03 18:21:22 +03:00
levlam
0b6c1d226f Update clag-format to the latest (190926/r372920) version.
GitOrigin-RevId: 7861ae8ad28eb1f6a06ff3c6f56eff3f67b1d24c
2019-09-28 05:14:21 +03:00
levlam
f29c4a9ed1 Remove unneded explicit td::.
GitOrigin-RevId: e3888510ce72a55072a11d105311f07b4ba42bbf
2019-09-15 06:19:46 +03:00
levlam
888b0206ac Fix ProxySecret::get_encoded_secret.
GitOrigin-RevId: 0eeb524a0f710efe8ad04311f61c794345ba56ac
2019-09-02 16:50:19 +03:00
levlam
4d72f8c14b Minor fixes.
GitOrigin-RevId: cc03c7e7a507fab2308495ea23f8ef9630a8142f
2019-08-30 04:56:01 +03:00
levlam
197acde4d4 Fix first letter case in error messages.
GitOrigin-RevId: 004d1535d3fb04e51a088ad43f2386dea05b7c9c
2019-08-26 04:53:22 +03:00
levlam
3306c42e89 Better public key generation.
GitOrigin-RevId: 1fd0b8e824620c90901168a2d12e97b92b76e37a
2019-08-25 01:02:39 +03:00
levlam
219c35f007 Optimize key generation.
GitOrigin-RevId: e0958f470a15aa83066d20685c15a056d853a42a
2019-08-23 01:54:19 +03:00
levlam
d02f0ffba9 TlsInit: better X25519 key generation.
GitOrigin-RevId: b7efb4bfd1d285a54292e5733c855d7693419af1
2019-08-22 23:09:49 +03:00
levlam
84695437d3 Various fixes.
GitOrigin-RevId: 94d0df55495a08b5599c90f56dbe08ac3a3d65e5
2019-08-14 03:13:34 +03:00
Arseny Smirnov
5a032743e6 Fix errors from tdutils import
GitOrigin-RevId: 3709df12a3050cf05e2bb482b49490a4e874f075
2019-08-12 16:53:17 +03:00
Arseny Smirnov
c2c32c4e2b Session: fix key deletion in http connections
GitOrigin-RevId: ddc80efe78a0a11dee7eb21c55d7efdd76a2be1d
2019-08-01 16:03:18 +03:00
levlam
f432abcce4 Use copy_from instead of memcoy if possible.
GitOrigin-RevId: 63981da8864d16ce46bca4b9580e7d9613c837c5
2019-07-27 01:27:22 +03:00
levlam
cf329420db Mtproto: move KDF to separate files.
GitOrigin-RevId: 5f57db386ccc90692180a34b84387ffd46d5f311
2019-07-27 00:39:39 +03:00
levlam
38e4310b71 Remove standalone Sha256State functions.
GitOrigin-RevId: 5db80ea1902a6fe8a635081a8b050a19528f9f90
2019-07-23 03:50:03 +03:00
levlam
4ee295a29e Use Sha256State directly.
GitOrigin-RevId: 4fbbafbd14c43a551e9c24de65a6feed2b44b09e
2019-07-23 03:20:11 +03:00
levlam
98b8929932 Fix includes.
GitOrigin-RevId: 7b62de39f2d62ac8c14c24fb83041c717ba49873
2019-07-23 01:50:12 +03:00
levlam
4a2b76e1ef Fix testProxy.
GitOrigin-RevId: fcce1611113bec089ac3ca20df56eba85895a753
2019-07-23 01:13:20 +03:00
Arseny Smirnov
dfe761738f testProxy: fix HandshakeActor errors handling
GitOrigin-RevId: 4a80a500c84302d2bef699a7d49a496d4f07945a
2019-07-22 14:22:31 +03:00
levlam
feb2beeec0 Fix testProxy.
GitOrigin-RevId: 6ad0bf0e7685ccae35931c4949ba29bafbcc6335
2019-07-22 05:04:18 +03:00
levlam
0481329037 Better choice of first bytes.
GitOrigin-RevId: 7855a68ec4b1e9c43371bd29cbf6766009f45ac2
2019-07-20 01:49:22 +03:00
levlam
19b6aeeb93 Update check for TLS-proxy secret.
GitOrigin-RevId: 4ea3040f2db8da91baecd0a814933cd9cc4ccf2e
2019-07-11 23:42:59 +03:00
levlam
64517c9165 Fix checks for additional data at the end.
GitOrigin-RevId: 66067600bec585ad2c310c7adc263a5e88232653
2019-07-11 03:12:27 +03:00
levlam
b9e5ebd222 Minor improvements.
GitOrigin-RevId: 684fd2527c31f6fdbc816a2addd64e4740f8a15b
2019-07-09 06:56:06 +03:00
levlam
7958916080 Add strongly typed ProxySecret class.
GitOrigin-RevId: dbde277c6cce57fd6ff51b2e310dab95e60b38c1
2019-07-09 05:01:12 +03:00
Arseny Smirnov
e9a7dd637d TlsInit: use server_time_difference
GitOrigin-RevId: 03d93412b660be3a968a4963fb28abafe068a58d
2019-07-04 15:14:11 +02:00
Arseny Smirnov
13627727ef Mtproto: use non-deterministic padding scheme
GitOrigin-RevId: 3f6ab9ed7b9bbc8ad3ddfabe7d324175cb7e6d49
2019-07-04 12:56:10 +02:00
levlam
b8e8f337c2 Minor TlsInit improvements.
GitOrigin-RevId: 59619af2a0059a85bbdeab2775ed3805dd3ab818
2019-07-03 02:50:19 +03:00