Commit Graph

180 Commits

Author SHA1 Message Date
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
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
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
822257b90a Resend requests on CONNECTION_NOT_INITED and CONNECTION_LAYER_INVALID errors. 2022-02-07 22:05:01 +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
Arseny Smirnov
452f60be0b SequenceDispatcher: support multiple chains 2022-01-28 17:06:54 +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
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
00a349656d Unify td/telegram/include order. 2021-10-27 17:32:09 +03:00
levlam
03c6d53951 Log number of pending requests when Session is closed. 2021-10-22 18:36:35 +03:00
levlam
db7aa28bdf A lot more minor improvements. 2021-10-19 18:11:16 +03:00
levlam
9b7957c9c6 Minor warning fixes. 2021-10-17 13:07:20 +03:00
levlam
74315e2e60 Add mtproto::ConnectionManager. 2021-09-16 19:09:39 +03:00
levlam
2062daf9cd Don't wrap updates in NetQuery. 2021-09-10 17:32: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
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
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
a78fe2dfe5 Don't drop recently valid auth keys. 2021-04-13 16:52:41 +03:00
Arseny Smirnov
5c7b7d4c85 TD_EXPERIMENTAL_WATCH_OS cmake option 2021-03-26 18:04:25 +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
d2d0cb5cc0 Move log tags definitions out of logging.cpp.
GitOrigin-RevId: 0e74b94ec194f8ee678bb77a04d35df46702b330
2020-10-05 18:07:23 +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
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
c921bcc5ed Improve NetQuery public field names.
GitOrigin-RevId: cfa0dbd98c1b03e4e86d62fc6486fcf90e72ef25
2020-06-10 02:44:54 +03:00
levlam
1e6bdbb7a5 Improve NetQueryDebug field names.
GitOrigin-RevId: 56c8c1804e9962caceda0105591cfd16446cd56c
2020-06-10 02:03:09 +03:00
levlam
2d22f4d13e Minor improvements.
GitOrigin-RevId: e86b66d0cd5b78a02ce401c40a2c2fffc1bb5a3c
2020-06-10 01:38:00 +03:00
Arseny Smirnov
99fa220ae5 NetQuery: thread safe dump_pending_network_queries
GitOrigin-RevId: 43650ab11c3ca881ae7ee1f768353ce90f094da7
2019-08-16 14:57:41 +03:00
levlam
6f885c41d9 Rename crypto to RSA.
GitOrigin-RevId: 4c15f44c0d5c618933b7c1aecb3580664a15a557
2020-05-17 17:07:16 +03:00
levlam
d6404db146 Remove unneeded logging.
GitOrigin-RevId: 473cab6f91a53360e2a696cc50a48c018ce705c6
2020-05-04 21:52:15 +03:00
levlam
87afb93b93 Fix some ID spelling.
GitOrigin-RevId: cdd8cdb93696c690cf7bdb9b2df175bb926a7510
2020-04-19 13:45:37 +03:00
levlam
62863e9280 Minor fixes.
GitOrigin-RevId: e7b9ea9cb76d5c65c00a5ca86c85c6c8984e1d3c
2020-03-16 22:00:44 +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
c4c9e51157 Make all fields required in full NetQueryCreator methos.
GitOrigin-RevId: aa8ebb5cc46b9f3b7c0b606c012ace5fafe2bbf2
2020-03-15 04:15:54 +03:00
levlam
a157cbf8d7 Replace NetQueryCreator.create_result with create_update.
GitOrigin-RevId: 21523bbd42a847b26359e49d6b70556599319121
2020-03-15 01:24:11 +03:00
levlam
1b1bd481e3 Make all AuthKeyHandshake fields private.
GitOrigin-RevId: 73bc8e67b5c86a4f30cabde16f84395b47d7f79e
2020-01-08 20:30:07 +03:00
levlam
cef4c7da3f Minor improvements.
GitOrigin-RevId: 337bd7bca79324b0159fca503686ae759430dd1d
2020-01-08 20:05:08 +03:00
Arseny Smirnov
efc483551f Bugfixes in auth key validation
GitOrigin-RevId: 66c2002e3ccb48c333c580715dc3517665f57b1f
2020-01-08 15:54:42 +00:00
levlam
724f2644e1 Check main auth_key improvements.
GitOrigin-RevId: 5a8e0d8cd0d15451f0ade9ed20bdc09926ad45ed
2020-01-08 02:09:22 +03:00
levlam
63f167ac35 Better field names,
GitOrigin-RevId: 93d307c55f9801d78fa68413cbbf238925a351b1
2020-01-08 01:27:12 +03:00
levlam
eecb70d006 Minor fixes.
GitOrigin-RevId: b8276b548fca9ede4bd2caf27bd45ccc54c93dda
2020-01-07 18:16:57 +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
Arseny Smirnov
8045132040 Fix system time it it goes backwards
GitOrigin-RevId: 3992a79df98fb164f5a410e756aa9e87ea853c38
2019-12-24 19:51:41 +04:00
levlam
4ce3005081 QR code authentication fixes.
GitOrigin-RevId: 29108234fa8afc589ac7248ad1fdc92ec1d0ffaf
2019-12-18 03:47:51 +03:00
levlam
56c3a2fbed Use td::remove_if.
GitOrigin-RevId: 5cf21381966dc58689a06cc94cb8843fd8087bb9
2019-10-21 16:25:56 +03:00
levlam
c72ba02d85 Write to the log message when account is banned.
GitOrigin-RevId: 087777440601fc56f9289fc8140497a1553755db
2019-09-02 19:24:50 +03:00
Arseny Smirnov
c2c32c4e2b Session: fix key deletion in http connections
GitOrigin-RevId: ddc80efe78a0a11dee7eb21c55d7efdd76a2be1d
2019-08-01 16:03:18 +03:00
Arseny Smirnov
e9a7dd637d TlsInit: use server_time_difference
GitOrigin-RevId: 03d93412b660be3a968a4963fb28abafe068a58d
2019-07-04 15:14:11 +02:00
levlam
0c3e3906c7 Temporarily disable new pings.
GitOrigin-RevId: ac3d2580d2dd77b333fee51db59f54b92bf24484
2019-06-27 18:46:25 +03:00
Arseny Smirnov
a569a1eac7 Attempt to fix binlog_pmc_ bug in ConfigSession::HandshakeActor
GitOrigin-RevId: 6486e37b16a39c4088faa5a2aedc674e6feb2e89
2019-06-19 15:56:55 +02:00
levlam
4f9887b4bd Minor logging impprovements.
GitOrigin-RevId: 54f2abbd0be6d3ee5cd88ac75f14a660c0201359
2019-05-13 19:34:23 +03:00
Arseny Smirnov
c99a76f422 Handle -404 error in new ping
GitOrigin-RevId: 3cf88082f0fac9cb82027899c9d276e2d6c439fe
2019-05-09 21:57:35 +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
e3e54b7a53 simple CancellationToken
GitOrigin-RevId: 081b63eac0ac1e45153f2df4a2eea9fa825c9924
2019-05-01 15:13:48 +02:00
Arseny Smirnov
caccb7a9e1 minor fix
GitOrigin-RevId: 6e1b3a3cebcea9311898e3a87da2d7a90b0d0305
2019-03-17 23:29:32 +13:00
Arseny Smirnov
1785a965d5 SessionMultiProxy: collect stats about sessions
GitOrigin-RevId: 96720f7beca9d34897d8a1076639e58422eac770
2019-03-15 20:00:18 +11:00
levlam
93494cf048 Fix log messages style.
GitOrigin-RevId: f99e2e838220826d3dea7fdc33c43ac9918a5efd
2019-02-21 18:58:20 +03:00
levlam
8c3eb953ae Fix some g++4.9 CE.
GitOrigin-RevId: 0d4ed1e684fd623a7ab5849e4f0f7ec2fd182694
2019-02-13 02:29:52 +03:00
Arseny Smirnov
20bfcaa979 Use LOG_CHECK where it is necessary
GitOrigin-RevId: a8bd17cc2ee6e43dcea52bb25aef9ee1f91c7ec4
2019-02-12 19:17:20 +03:00
levlam
0075f91e2e Unify spelling of "expires_".
GitOrigin-RevId: 46aaff38317dd490f9d5a1250e426d94cb8aba75
2019-02-10 03:45:15 +03:00
levlam
7d28b73f5e Move DhHandshake to DhHandshake.{cpp,h}.
GitOrigin-RevId: b34d9ae18e2106d3843223bc8609f5a89b6568f6
2019-01-31 14:26:06 +03:00
levlam
b9fc33b7d1 Add TransportType.h.
GitOrigin-RevId: 403b10f5dcc161be411710749c70734cf9a4fc62
2019-01-31 05:13:59 +03:00
levlam
7542612098 Fix some includes.
GitOrigin-RevId: 47d6bcd57e12314cc46c8f23ef10c10cea04fdcb
2019-01-31 05:05:40 +03:00
levlam
72ac6667ce Never set 0 session_id.
GitOrigin-RevId: 58a7074812fa330930b033d2ffcfcc1ae0e803ec
2019-02-04 19:39:09 +03:00
levlam
f89dbc8148 Make session_id private.
GitOrigin-RevId: c9a942a691a6bc8974d02f0cd0cc0f916c679d61
2019-02-04 18:44:29 +03:00