Commit Graph

337 Commits

Author SHA1 Message Date
levlam
495082b628 Simplify updateChatLastMessage creation. 2021-10-22 16:41:31 +03:00
levlam
9f44816a62 Minor improvements. 2021-10-21 12:51:16 +03:00
levlam
41cc287d66 Improve checks. 2021-10-20 00:54:49 +03:00
levlam
44a186c7c1 Minor improvements. 2021-10-18 19:26:14 +03:00
levlam
81b38d5607 Mark move constructors/assignment operators noexcept. 2021-10-18 14:36:15 +03:00
levlam
f35afe23c8 Minor warning fixes. 2021-10-18 12:57:13 +03:00
levlam
61c3a2bcf5 Remove TD_EXPERIMENTAL_WATCH_OS. 2021-09-24 13:41:22 +03:00
levlam
db18baa503 Unify include order. 2021-09-19 00:47:05 +03:00
levlam
74315e2e60 Add mtproto::ConnectionManager. 2021-09-16 19:09:39 +03:00
levlam
9651243eaa Add more checks that raw_connection_ isn't nullptr. 2021-09-16 16:20:07 +03:00
levlam
075d004b9f Replace getChatThemes with updateChatThemes. 2021-09-13 15:55:01 +03:00
levlam
45ebe775c5 Optimize SessionConnection::on_slice_packet using TlDowncastHelper. 2021-09-12 19:46:12 +03:00
levlam
55e69f65af Add separate on_update callback. 2021-09-10 16:31:04 +03:00
levlam
e6799e3054 Simplify rpc_error handling. 2021-09-10 16:12:56 +03:00
levlam
641f47a81c Use switch instead of if. 2021-09-10 16:08:46 +03:00
levlam
6beaf41231 Minor improvements. 2021-09-01 20:31:39 +03:00
levlam
3749e1f672 Add warning for very old updates. 2021-08-23 00:08:05 +03:00
levlam
6507fb7602 Use array-based MessageIdDuplicateChecker. 2021-08-22 22:08:46 +03:00
levlam
b3aa31d398 Minor cut_tail improvements. 2021-08-22 13:36:47 +03:00
levlam
4a3f56e6c1 Check that updates aren't received in rpc_result. 2021-08-22 13:23:21 +03:00
levlam
7faf7aeba7 Improve logging on too old update. 2021-08-22 13:16:10 +03:00
levlam
d154399d70 Optimize MessageIdDuplicateChecker::check. 2021-08-21 22:41:06 +03:00
levlam
43d9ba81ac Prefer std::unordered_map to std::map. 2021-08-21 21:42:07 +03:00
levlam
ff02c55075 Add checks for error code and message. 2021-07-26 20:04:43 +03:00
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
Arseny Smirnov
ef595735b4 bugfix
GitOrigin-RevId: c582a3dea47233610427cc74e1c26e15b417288e
2019-07-02 17:49:21 +02:00
Arseny Smirnov
8a4402e0b1 bufix
GitOrigin-RevId: deeb8146386c0f5aedba7fca70a061fc5341e669
2019-07-02 17:34:27 +02:00
Arseny Smirnov
61206293fe bugfix
GitOrigin-RevId: 05d77fed7ce13cdf2a630f49733e9fe9bd949e3f
2019-07-02 17:27:34 +02:00
levlam
14cc4e43fe Fix warning.
GitOrigin-RevId: b0e7cb4a0906dd75fd87ade7a16dc8e697f0e5af
2019-07-02 18:25:02 +03:00
Arseny Smirnov
23e27a223f TlsInit: check hash in server response
GitOrigin-RevId: 00d0b679020173be7ef8e06db3bc4e64a61d3fbf
2019-07-02 17:14:13 +02:00
levlam
ef3cf44240 Change max TLS packet length.
GitOrigin-RevId: 00f896d94fa434fa867f6df5c910bbe0cf96d5ee
2019-07-02 01:58:01 +03:00
levlam
3a2bb833ec Fix TlsReaderByteFlow.
GitOrigin-RevId: 8a7dfc63a176d0c054e434904784d92467ddcba8
2019-07-01 17:37:31 +03:00
Arseny Smirnov
6d6bffaa7b ObfuscatedTransport: bugfix - send header inside of the first tls packet
GitOrigin-RevId: 5fb3eb0acee44aa1db4d943e99ddd19a1e005c44
2019-07-01 15:34:39 +02:00
levlam
0a1fb007d9 TlsInit fixes.
GitOrigin-RevId: 798d053d68b6e0955b6e0e0c7c8d36592f76c987
2019-07-01 16:18:28 +03:00
levlam
da4dd220b8 Minor fixes.
GitOrigin-RevId: cbbb78a28570618e5a5c2c04625297678d5ac8cc
2019-06-26 23:27:37 +03:00
Arseny Smirnov
9289b61b92 ConnectionCreator: use tls init
GitOrigin-RevId: f58530975f30e5341e250478c3f83cabf8947b71
2019-06-26 17:27:19 +02:00
Arseny Smirnov
795bf65f8d TlsInit.{cpp,h}
GitOrigin-RevId: acc8f3fd672382392ea9bd82e8426700aec34c04
2019-06-26 16:13:07 +02:00
Arseny Smirnov
345f28330c ObfuscatedTransport: support of emulated_tls flag
GitOrigin-RevId: f0ae7ddb21455d4e8d8c3f486744b1b9643bf2d5
2019-06-26 15:51:48 +02:00
levlam
4f9887b4bd Minor logging impprovements.
GitOrigin-RevId: 54f2abbd0be6d3ee5cd88ac75f14a660c0201359
2019-05-13 19:34:23 +03:00
Arseny Smirnov
2ab9393a1d PingConnectionPingPong: bugfix
GitOrigin-RevId: 8280963e1bb8e817d9502cbaeecf89064a7c8f2c
2019-06-04 18:52:26 +03:00
levlam
34fcde6827 Minor fixes.
GitOrigin-RevId: a5d8a4b0b9b9c4e858d7a9a7403bef0de7e009e0
2019-05-22 21:17:24 +03:00
Arseny Smirnov
11b0da92fe Reuse session_id for pings
GitOrigin-RevId: 39ddb1f925fa05f939a3965300334d5f250550ae
2019-05-10 18:27:18 +02:00
Arseny Smirnov
c99a76f422 Handle -404 error in new ping
GitOrigin-RevId: 3cf88082f0fac9cb82027899c9d276e2d6c439fe
2019-05-09 21:57:35 +02:00
Arseny Smirnov
3f4b29bfaf Calculate rtt in new Ping
GitOrigin-RevId: 9d4ef780ac99ea6c1331dc4e93014657a27f7848
2019-05-09 20:13:40 +02:00
Arseny Smirnov
ef4f719563 Use Ping with mtproto_api::ping if possible
GitOrigin-RevId: fa80dc2a2c44e416bcb50b76ba2bc64de91f8de8
2019-05-06 20:53:39 +02:00
Arseny Smirnov
be006f6cb4 mtproto::Ping two variants with mtproto_api::ping and mtproto_api::req_pq
GitOrigin-RevId: 196d7af132a791615c867cbdbfa23a2fa48327e9
2019-05-06 18:59:49 +02:00
levlam
16a209cef0 Use some unused Status responses.
GitOrigin-RevId: b49d15a22918169b5e1a212e5858dc2e9bd2033e
2019-04-28 15:00:06 +03:00
levlam
295878b217 Check connection aliveness after push is received.
GitOrigin-RevId: 526a06642617ada66ef6d84f5858cb332f1c1406
2019-03-31 22:29:34 +03:00
levlam
376fda96d5 Fix SIGSEGV.
GitOrigin-RevId: 422a9080eaf83c0c35f90ec5044f2833de9837b9
2019-03-13 04:00:45 +03:00
levlam
58f63d36d6 Fix includes.
GitOrigin-RevId: d633dc842591cd28a03f9fba6974a171926ed229
2019-02-22 23:15:43 +03:00
levlam
4d5fb2902c Unify names of ParserT/StorerT classes.
GitOrigin-RevId: 69df5062e20cc87c0778e1b125ab46575c365377
2019-02-21 20:54:20 +03:00