Commit Graph

593 Commits

Author SHA1 Message Date
levlam
cf1984844b Update copyright year. 2023-01-01 00:28:08 +03:00
levlam
af05db3f15 Add td::Hash and use it everywhere instead of unusable std::hash. 2022-11-23 19:37:32 +03:00
levlam
468edb4d61 Use double timestamps in FloodControlStrict. 2022-11-21 21:07:56 +03:00
levlam
b4432a27ba Use autogenerated constant instead of raw constructor number. 2022-11-01 13:22:56 +03:00
levlam
683627a350 Make all operator bool const and nonexcept. 2022-10-09 19:30:18 +03:00
levlam
5a29dcd337 Avoid redundant usages of Status::error(). 2022-10-09 14:15:54 +03:00
levlam
b1f2e553cb Explicitly fail some promises stored in MessagesManager. 2022-10-07 01:28:18 +03:00
levlam
d29c86bb14 Ensure that all network requests are sent and all their responses are processed asynchronously. 2022-10-02 01:53:56 +03:00
levlam
d4d365d31f Remove template ActorOwn::reset. 2022-10-01 16:29:56 +03:00
levlam
be87e4179f Inline ActorOwn::hangup. 2022-10-01 15:58:27 +03:00
levlam
5cb02b8d01 Improve logging for auth key dropping. 2022-09-29 14:50:25 +03:00
levlam
26bd2c71b3 Remove my_id from Global. 2022-08-18 20:21:40 +03:00
levlam
0225f0cab7 Ensure that option values are fetched on launch. 2022-08-18 00:37:19 +03:00
levlam
3318ffdb20 Proxy all option-related requests through G. 2022-08-17 16:11:13 +03:00
levlam
148ded0620 Disable ConfigRecoverer if there are a lot of pending auth keys. 2022-08-10 17:03:38 +03:00
levlam
12d852abc5 Check for close_flag as early as possible. 2022-08-10 13:57:41 +03:00
levlam
898c5c5cf3 Improve error message. 2022-08-02 19:35:35 +03:00
levlam
a817dc8dd0 Fix double increase of total_timeout in NetQueryDelayer and SequenceDispatcher. 2022-08-02 16:51:56 +03:00
levlam
061c4f65d5 Drop context for SemaphoreActor before creation of the actor. 2022-07-20 10:56:48 +03:00
levlam
abc9ed2cd9 Minor fixes. 2022-07-14 18:38:48 +03:00
Arseny Smirnov
bf80c43c05 fix CE 2022-07-14 18:36:46 +04:00
Arseny Smirnov
7ddc3099f6 remove td::this_thread::yield function. usleep_for(1) used instead 2022-07-14 16:15:17 +04:00
levlam
ebebe0300c Move promise_send_closure to PromiseFuture.h. 2022-06-28 14:02:14 +03:00
levlam
32bac7bd24 Move Promise to tdutils. 2022-06-27 13:30:18 +03:00
Arseny Smirnov
8ac019e589 trying to fix bug when active temporary auth key is dropped 2022-06-20 13:18:25 +02:00
levlam
dcb77ce187 Drop SemaphoreActor context. 2022-06-14 16:30:09 +03:00
levlam
782aa6a2ec Minor fixes. 2022-06-14 16:11:38 +03:00
levlam
bfcf52f87c Support MTPROTO_CLUSTER_INVALID error. 2022-06-06 20:36:15 +03:00
levlam
470563c289 Improve log messages. 2022-06-06 17:13:56 +03:00
levlam
1e417ea212 Minor fixes. 2022-06-02 16:19:16 +03:00
levlam
0bc767f943 Pass max_resource_limit as parameter to ResourceManager. 2022-05-20 16:11:31 +03:00
levlam
f93001b0f3 Minor handhake semaphore improvements. 2022-06-11 01:47:00 +03:00
levlam
f95f76c4de Support asynchronous TdDb::open. 2022-06-10 16:44:53 +03:00
Arseny Smirnov
ef3900a853 Use SemaphoreActor for global hanshakes flood limit 2022-06-10 15:17:38 +02:00
levlam
1b5798393d Move FloodControlGlobal to tdutils. 2022-06-09 17:12:59 +03:00
levlam
a30ac1c277 Minor improvements. 2022-06-09 16:38:38 +03:00
Arseny Smirnov
7941672e79 add some kind of global limit for concurrent hanshakes 2022-06-09 11:10:38 +02:00
Arseny Smirnov
852fe4f24b Session: force ack when we received unknown answer 2022-05-03 17:17:36 +04:00
levlam
4b7dab920e Don't update last_success_timestamp_ in Session::on_update with PFS. 2022-05-03 16:06:14 +03:00
Arseny Smirnov
0450b05757 Session: improve key immunity condition 2022-05-03 16:33:09 +04:00
levlam
0d0b641ac6 Log out only if there is main auth key, but it isn't logged in. 2022-05-02 21:41:04 +03:00
levlam
de15cdb1f0 Log out if key check has failed. 2022-05-02 21:17:06 +03:00
levlam
746816e7d7 Add Global::log_out helper. 2022-05-02 20:59:07 +03:00
levlam
d6569d43fd Fix DcAuthManager::check_authorization_is_ok. 2022-05-02 20:44:37 +03:00
levlam
134b7e7d01 Remove unused function. 2022-05-02 20:35:37 +03:00
Arseny Smirnov
449974d425 Double check authorization during start up 2022-05-02 19:34:01 +04:00
levlam
641ee080c1 Improve names of FileType::Secure. 2022-04-25 19:00:40 +03:00
levlam
1a2efed26d Remove NetQuery::set_chain_ids. 2022-04-17 23:21:56 +03:00
levlam
dfa38e059d Improve NetQuery debug. 2022-04-14 12:53:16 +03:00
levlam
f9efb87f7d Improve log message. 2022-03-14 14:08:04 +03:00
levlam
1f38124861 Use FlatHashSet. 2022-03-11 21:38:48 +03:00
levlam
b2e6da4031 Unify actor_id/actor_shared names. 2022-03-05 14:35:19 +03:00
levlam
2b1314295d Check and fix half of FlatHashMap usages. 2022-02-10 00:59:52 +03:00
levlam
7f7b3b6653 Add separate ChainId(DialogId) constructor. 2022-02-08 17:30:06 +03:00
levlam
bcc2adeb47 Fix includes and formatting. 2022-02-08 00:04:34 +03:00
Arseny Smirnov
86bceb2972 td: replace most of std::unordered_map usages to td::FlatHashMap 2022-02-07 21:21:31 +01:00
levlam
822257b90a Resend requests on CONNECTION_NOT_INITED and CONNECTION_LAYER_INVALID errors. 2022-02-07 22:05:01 +03:00
levlam
f3bb075f62 Use InvokeAfter for all queries changing sticker sets. 2022-02-06 00:16:16 +03:00
levlam
b845766bd1 Add class ChainId. 2022-02-05 23:28:43 +03:00
levlam
46e23a407f Use int32 ro store last/next/total_timeout. 2022-02-04 17:05:35 +03:00
levlam
6e82e51243 Remove all NetActorOnce usages. 2022-02-04 00:46:10 +03:00
levlam
649f2b85f5 Rename chains to chain_ids in NetQuery. 2022-02-03 22:32:47 +03:00
levlam
9881a4dbe2 Fix format::as_hex usage. 2022-02-03 14:34:10 +03:00
levlam
02b99d0fbf Remove includes of SequenceDispatcher.h from headers. 2022-02-01 19:34:14 +03:00
Arseny Smirnov
ad38f712e8 SequenceDispatcher: hide usage into NetQueryDispatcher 2022-02-01 18:51:36 +03:00
levlam
b1b945e239 Minor fixes. 2022-01-31 15:56:44 +03:00
levlam
e7406475ff Fix compilation errors. 2022-01-28 19:12:20 +03:00
Arseny Smirnov
452f60be0b SequenceDispatcher: support multiple chains 2022-01-28 17:06:54 +03:00
Arseny Smirnov
355c2950ad ChainScheduler - new implementation of SequenceDispatcher 2022-01-28 15:50:59 +03:00
levlam
81a3544cc8 Drop main auth key if receive 401 for temporary auth key with an error different from AUTH_KEY_PERM_EMPTY and SESSION_PASSWORD_NEEDED. 2022-01-26 21:50:42 +03:00
KnorpelSenf
789b9c0a55 Fix much typos 2022-01-25 16:07:36 +03:00
levlam
fa8feefed7 Reduce total timeout limit to 2 for messages.setTyping. 2022-01-03 08:57:11 +03:00
levlam
8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam
8d7bda00a5 Set connection online flag while logging out. 2021-12-02 15:10:51 +03:00
levlam
0c554fbe04 Unify Session::ConnectionInfo field name style. 2021-11-22 14:36:59 +03:00
levlam
21a7d147f5 Ignore 401 from non-main sessions. 2021-11-22 11:52:09 +03:00
levlam
b731414d42 Init some fields just in case. 2021-11-11 17:39:09 +03:00
levlam
6238f0fc89 Minor improvements. 2021-11-10 21:09:28 +03:00
levlam
2392cc7631 Fix some uses after move. 2021-11-10 20:05:41 +03:00
levlam
616b0e6d6f Improve ResultHandler/NetActor td_ private field name. 2021-11-08 15:20:38 +03:00
levlam
5578ecc6b8 Remove NetQuery id from ResultHandler and NetActor. 2021-11-08 14:19:57 +03:00
levlam
3d827b408f Allow to set "utc_time_offset" option. 2021-11-01 22:42:33 +03:00
levlam
88d7b284b4 Add utc_time_offset option. 2021-11-01 22:32:49 +03:00
levlam
00a349656d Unify td/telegram/include order. 2021-10-27 17:32:09 +03:00
levlam
6ecba8cb5d Download emoji sounds from main DC. 2021-10-06 00:55:22 +03:00
levlam
c0fb888c42 Fix GCC 4.9 compilation errors. 2021-10-24 02:09:36 +03:00
levlam
c24501f2d9 Reduce "this" usages. 2021-10-23 21:17:00 +03:00
levlam
0c1469f7c6 Fix TransparentProxy::Callback. 2021-10-22 19:59:15 +03:00
levlam
03c6d53951 Log number of pending requests when Session is closed. 2021-10-22 18:36:35 +03:00
levlam
9f44816a62 Minor improvements. 2021-10-21 12:51:16 +03:00
levlam
1e49f6dc13 Use auto as variable type if it is initialized with a cast. 2021-10-20 01:27:02 +03:00
levlam
db7aa28bdf A lot more minor improvements. 2021-10-19 18:11:16 +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
9b7957c9c6 Minor warning fixes. 2021-10-17 13:07:20 +03:00
levlam
328c5b57d2 Add Global::request_aborted_error. 2021-10-07 16:36:21 +03:00
levlam
a160241db7 Improve NetQueryCreator constructor. 2021-10-06 18:47:32 +03:00
levlam
cdb06da112 Add "; pass null" annotations for expected to be null request parameters. 2021-09-28 17:31:00 +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
41c391f140 Update layer to 133. 2021-09-03 12:27:59 +03:00
levlam
74315e2e60 Add mtproto::ConnectionManager. 2021-09-16 19:09:39 +03:00
levlam
a838fff28f Add operator== for ThemeSettings. 2021-09-12 22:39:52 +03:00
levlam
088c3169d4 Minor. 2021-09-10 18:23:23 +03:00
levlam
137543c172 Use send_closure_later in NetQueryDispatcher to break stack chain. 2021-09-10 17:42:24 +03:00
levlam
2062daf9cd Don't wrap updates in NetQuery. 2021-09-10 17:32:39 +03:00
levlam
edfdcc0170 Remove default on_server_salt_updated implementation. 2021-09-10 16:45:39 +03:00
levlam
55e69f65af Add separate on_update callback. 2021-09-10 16:31:04 +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
7a55b843ba Log size of a dropped response. 2021-07-12 21:55:12 +03:00
levlam
0967fe0672 Reload CDN config with each layer change. 2021-07-09 02:31:42 +03:00
levlam
23b0a91e88 Fix PublicRsaKeyWatchdog. 2021-07-09 02:17:26 +03:00
levlam
e9e2428237 Update server keys. 2021-07-08 16:39:34 +03:00
levlam
5176710ada Store RsaKey in PublicRsaKeyShared. 2021-07-05 22:19:59 +03:00
levlam
65e96c561c Add struct RsaKey. 2021-07-05 22:09:45 +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
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
2b7b6b7759 Improve logging on log out. 2021-06-27 05:52:43 +03:00
levlam
ca7c1e5ada Dump network queries from oldest to newest. 2021-06-20 03:05:58 +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
3798ecaef5 Move outgoing query logging to INFO. 2021-05-17 00:12:52 +03:00
levlam
a78fe2dfe5 Don't drop recently valid auth keys. 2021-04-13 16:52:41 +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
levlam
bf42d62f1e Unify ResultHandler subclass names and logged name. 2021-02-08 15:56:08 +03:00
levlam
e3cb608293 Remove was_auth flag. 2021-02-01 15:07:10 +03:00
levlam
90b34e7d0c Remove authorization loss logic from DcAuthManager, because we can be logged before entering password and before authorization. 2021-02-01 14:51:38 +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
6f26706da5 Fix closing connection on too much dropped packets. 2020-11-18 17:49:29 +03:00
levlam
69ae1d4f0c Allow auth.bindTempAuthKey before authorization to check auth_key validness.
GitOrigin-RevId: 7a80d84aef6a9f097c6567ed72bccd9b62f87c2c
2020-11-01 21:42:48 +03:00
levlam
3f23a06473 Prettify query logging.
GitOrigin-RevId: 1e6e7285dab732e95593119d2e1e3f13f0d8bb15
2020-10-30 16:46:57 +03:00
levlam
1aff1e75ef Fix net query Counter initialization.
GitOrigin-RevId: ba23b816cfed060cea15244e3f2264f74c89d390
2020-10-13 02:30:40 +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
1fe397e43d Make optionValueInteger value int64.
GitOrigin-RevId: 7da1c4f051691ff7df31627115a9a37e6c5d5802
2020-09-25 00:46:16 +03:00
levlam
90ee4bd63c Minor fixes.
GitOrigin-RevId: ef4e2cfe4f198caec26daf04423eb26afedde5bb
2020-09-24 19:15:42 +03:00
levlam
e0adaebb91 Unify logging of request responses.
GitOrigin-RevId: ae4c0a3881a89aa235baa08c07ec97a914437d8c
2020-09-24 16:08:04 +03:00
levlam
9d64589456 Fix NetQueryDebug.state_timestamp_ initialization.
GitOrigin-RevId: 7cd96ac1d2e423767b8ae4a9d8f1ef5347fa41e8
2020-09-03 07:21:01 +03:00
Arseny Smirnov
89fad4fdb9 Session::PriorityQueue: minor simplification
GitOrigin-RevId: f0baab28bb95afef247e4ad0c291222be6d105c5
2020-08-18 18:37:10 +03:00
levlam
335ac34fad Fix Session::PriorityQueue.
GitOrigin-RevId: adfab64ecf7eae2c73759c7e6f927b88f4fd2236
2020-08-17 17:35:34 +03:00
Arseny Smirnov
1f9529520f NetQuery: support priority
GitOrigin-RevId: 84290ffa7689364f74140c5b951b95ea4792b68d
2020-08-17 16:13:18 +03:00
levlam
9592aac404 Minor improvements.
GitOrigin-RevId: 09fbcc25ade8d77c13dc580f13b206c07ba53f9f
2020-08-13 16:57:28 +03:00
Arseny Smirnov
0e4e1268ac Session: more aggressive debug for mtproto rpc errors
GitOrigin-RevId: efe1b894349d6542c4483a1f72c555bd29ddebd6
2020-08-12 16:56:06 +03:00
Arseny Smirnov
1d56a371cd ConfigManager: minor refactoring for hangup_shared
GitOrigin-RevId: 56af208cbe2e32120fa286b9e19fce58beaf8c9b
2020-08-11 16:31:50 +03:00