Commit graph

86 commits

Author SHA1 Message Date
John Preston
b267957abe Apply all MTP Key generation checks to calls.
Also move all OpenSSL BN_* calls to base/openssl_help header.
2017-05-09 23:46:16 +03:00
John Preston
6418c9c718 Handle updates from MTP after RPC responses.
If some RPC responses and MTP updates are received together a fake
requestId in the negative range was used and that way updates were
processed before responses.

That could lead to an incorrect "out" message flag when sending
messages to supergroups, because a broadcast update about the new
message without "out" flag was handled before the request response.

Now a separate response map and updates list are used and responses
are handled always before the updates.
2017-04-30 17:23:57 +03:00
John Preston
8d28d0691f API scheme updated to layer 66.
Support CDN file download.
2017-04-12 22:36:25 +03:00
John Preston
afa9393f38 Expose IsPrimeAndGood() interface from connection.
Also fix a race in MTProto debug type serialization initialization.
2017-04-03 21:28:18 +03:00
John Preston
0cdd0a9ff9 Remove old 'using std::string' from mtproto. 2017-04-02 20:11:30 +03:00
John Preston
f2cd364e14 Alpha 1.0.21: Fix more compilation bugs. 2017-03-11 17:13:57 +03:00
John Preston
f2465eba73 Make MTPstring and MTPvector value types.
Also move MTPstring implementation to QByteArray.
2017-03-10 23:27:26 +03:00
John Preston
02da80439b Remove read() constructors from MTP types.
This will allow us to handle errors in parsing not by exceptions.
2017-03-10 23:27:24 +03:00
John Preston
3b373e236e Make all owned MTPD types immutable.
Remove custom refcounting in mtpData, use std::shared_ptr instead.
2017-03-10 23:27:23 +03:00
John Preston
08167a6a91 Removed #include "stdafx.h" from all files.
Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).

So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.
2017-03-04 12:27:52 +03:00
John Preston
6c2f16e9a0 Some improvements in mtproto data processing.
Readability improvements. Checking maximum padding size.
Checking SHA1 hash before validating inner message length.
2017-02-27 12:51:03 +03:00
John Preston
7d89b54d1c Ability to delete authorization keys added.
If we start logging in and we know, that some of the authorization
keys were read from the hard drive, not generated, we destroy all
the existing authorization keys and start generating new keys.
2017-02-25 19:48:22 +03:00
John Preston
dd933cf61c MTP global state moved to MTP::Instance class.
Now there will be ability to start multiple mtproto instances.
2017-02-25 19:48:21 +03:00
John Preston
c3b3819d9f Moved AppClass to messenger.cpp:Messenger. 2017-02-25 19:48:20 +03:00
John Preston
a35947141c Encapsulated DcOptions to an independent class. 2017-02-25 19:48:19 +03:00
John Preston
90b3b5c3e5 MTP::AuthKey uses std::array for data.
Also using "volatile char*" iteration for secure memset on Mac/Linux.
2017-02-25 19:48:18 +03:00
John Preston
ffc557a0f9 Using standard library instead of std_ namespace.
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston
8a8e0c1182 Passcode box layout fix. Drop image from Firefox fix.
Also admin star color in group profile has separate palette entry.
2017-01-13 18:15:25 +03:00
John Preston
7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +04:00
John Preston
4692fdeb5f Closed beta 10019013: Groups in common now are opened in a section. 2016-12-30 17:52:50 +04:00
John Preston
47977009b8 Moved FloatAnimation->Animation, Animation->BasicAnimation. 2016-12-30 17:52:48 +04:00
John Preston
8958ae0377 Typing animations from android. 2016-12-30 17:52:36 +04:00
John Preston
1cfe9d0ff5 Version 0.10.18: a couple of crash fixes. 2016-10-24 18:36:17 +03:00
John Preston
fdab386178 Most of the new Settings are done.
Left: auto update, privacy and security, local storage box +
some minor things, like design fixes, codes like loadlang and
clearing of the local storage (box) and temp download folder.
2016-08-26 22:49:18 -06:00
John Preston
533a955dda Unread outgoing messages in supergroups supported.
Looking through the history of group avatar photos added.
Messages about some contact joined Telegram are never unread.
2016-05-20 19:35:16 +03:00
John Preston
2834ce0344 Moving to Qt 5.6.0, instructions can be broken. 2016-04-23 14:40:42 +03:00
John Preston
8e89486fbc Error handling changed, 'auto' keyword used for MTP types.
All errors that lead to MTP request resending by default
error handler now can be handled differently. For example
inline bot requests are not being resent on 5XX error codes.
+ extensive use of auto keyword in MTP types handling.
2016-04-08 14:44:35 +04:00
John Preston
f7dc832dfe Scheme updated. Current mtp layer is now edited inside
scheme.tl file in a special comment line.
2016-04-01 20:37:23 +04:00
John Preston
2c6f74f923 Reply markup keyboard class almost ready, single class
for inline and external bot keyboard handling.

But it needs to reinvent a good improvement/replacement
for ITextLink concept that will support automatic calls
of linkOver()/linkOut() methods in all link holders.
2016-03-28 20:15:17 +03:00
John Preston
40ab82e4bd critical bug fixed in auth import, 0.9.35 dev version 2016-03-25 21:30:19 +03:00
John Preston
605f5305e4 Changed all .. to ... in phrases 2016-03-24 18:07:13 +03:00
John Preston
7c99f947eb added connection implementations to git, protocol improved 2016-03-24 15:57:10 +03:00
John Preston
ad53185645 moved connection implementations from connection module to separate modules, Xcode and QtCreator projects need fixing 2016-03-24 13:55:42 +03:00
John Preston
ddd63d73b7 MTP::nonce -> rand_value, fixed first_name and last_name reading from minimal users 2016-03-24 13:12:18 +03:00
John Preston
d9ef8217e5 moved MTProtoSession and MTProtoConnection to MTP::internal:: namespace 2016-03-24 11:57:11 +03:00
John Preston
26e2918841 Modules renamed in mtproto folder, Xcode build should not work yet 2016-03-23 21:43:12 +03:00
Renamed from Telegram/SourceFiles/mtproto/mtpConnection.cpp (Browse further)