Commit Graph

568 Commits

Author SHA1 Message Date
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
levlam
c5059bcac3 Minor fixes.
GitOrigin-RevId: 28f8cabca2f70ba692f8713ec68866495061b31a
2020-08-05 20:36:13 +03:00
Arseny Smirnov
c489d7187e ConnectionCreator: relax flood limits for errors during creation of a connection
GitOrigin-RevId: e92d62461e0b3eeab77f1b92ef8c99d630bf3b74
2020-08-05 20:07:28 +03:00
Arseny Smirnov
3fb9b8a992 td: relax limits for connection creation during logout
GitOrigin-RevId: 2c7e81d931a36cecaaf8dd1b463365d3e039873f
2020-08-05 19:49:34 +03:00
Arseny Smirnov
71867f372d SessionProxy: ignore redundant update_destroy calls
GitOrigin-RevId: 748222a69a8808d150296d2ee8298598d98a1de6
2020-08-05 16:11:10 +03:00
levlam
1b628d3ab7 Make NetQuery::tl_magic private.
GitOrigin-RevId: 06b9d496cea9fb9088e4514949573697d7a14231
2020-08-04 02:24:12 +03:00
levlam
0396d2dfff Silence expected error logging.
GitOrigin-RevId: 7d8e66bac8f5b2bb40aa50d7fd7f01f0ff1eeb35
2020-08-04 02:21:20 +03:00
levlam
fbca30b2b4 Remove string copy in NetQuery::debug.
GitOrigin-RevId: d559507fe2c52a865a3402d755644650d4833637
2020-08-03 23:20:26 +03:00
levlam
0ac58f7494 Fix some includes.
GitOrigin-RevId: 5ce2e3dd3172ff92fa9400d10f0c6ec4b7f46e6e
2020-08-01 21:57:03 +03:00
Arseny Smirnov
5a08290ae0 Session: use MAX_INFLIGHT_QUERIES to limit count of simultaneously sent queries
GitOrigin-RevId: c9c64de982c099b95c6c4bd31d28369f4315f81b
2020-07-31 20:19:18 +03:00
levlam
c055ec15f9 Various improvements.
GitOrigin-RevId: 4eb8b7e43d10f1b5657f40aa2b7eef1c93429ca7
2020-07-30 22:59:23 +03:00
Arseny Smirnov
cacabaf6d1 NetQueryStats
GitOrigin-RevId: 5a04b322e12e2838b1d7f812fcf06bff4eefbace
2020-07-30 17:28:56 +03:00
Arseny Smirnov
d7eadd77c1 NetQueryCounter: simplify
GitOrigin-RevId: f9d7cbf9c939bfc46b8a02b18a74264ad8827509
2020-07-30 14:23:53 +03:00
levlam
b45f8ba3a0 Minor fixes.
GitOrigin-RevId: b7985efd4257bc9bb2b2672f94c5f5671e19dd0f
2020-07-26 14:24:30 +03:00
Arseny Smirnov
66cc19375a Fix 'Initialize TsList mutex before any TsList.'
GitOrigin-RevId: 44030e72b96f2c01726d207cf9effb3953df4c72
2020-07-24 11:20:53 +03:00
levlam
c18a2474c6 Initialize TsList mutex before any TsList.
GitOrigin-RevId: 598e90b812e538288b3c2d60195cce68235d89a6
2020-07-23 21:07:19 +03:00
levlam
fcd09d5c25 Fix error logging.
GitOrigin-RevId: d734897ab870154d47a3e576ba3cba8eb4d3156e
2020-07-22 21:28:20 +03:00
levlam
62e3adf6ef Wait TempAuthKeyWatchdog close.
GitOrigin-RevId: ab97787f7e7b5b716bb77faaf335239768f3c60f
2020-07-19 18:18:54 +03:00
levlam
0e39e01cc1 Reget config after disabling proxy.
GitOrigin-RevId: 07a2cb6c1ff95a8464c377855046074d5a1c5b7d
2020-07-19 02:12:14 +03:00
levlam
3f2e269162 Fix FloodControlStrict.
GitOrigin-RevId: 664841f3e58cce5bce3ad90ef42f23537dc07c16
2020-07-16 22:36:59 +03:00
Arseny Smirnov
2a5c826111 Ask for a config when there is no options for some DC
GitOrigin-RevId: e750c78a4685a20c93c888dee6eaf630b80f7d31
2020-07-16 21:37:13 +03:00
levlam
e16952121b Use emplace whenever possible.
GitOrigin-RevId: 67cd8e3b6331c5e1671a9d662f034af1e29d3ac6
2020-07-13 23:20:16 +03:00
levlam
b1ad61add3 Add disable_persistent_network_statistics option.
GitOrigin-RevId: 214f63dec6317949fe13cf1d2fece7e249ddafcb
2020-07-13 16:56:31 +03:00
levlam
8872fbf6ac Fix tdutils after merge.
GitOrigin-RevId: 5b9a863e405a9e3782157570156fda71bf2bb589
2020-06-26 02:24:13 +03:00
levlam
d01c906f53 Add get_main_file_type.
GitOrigin-RevId: 138fc28f8c8e59a8583514b53ce37750f2f0360a
2020-06-22 08:43:00 +03:00
levlam
9334243a5d Unify conversion function names.
GitOrigin-RevId: 10def5544dfd6a94ff89b15441006d102b512439
2020-06-22 04:28:03 +03:00