mirror of
https://github.com/wiz0u/WTelegramClient.git
synced 2025-12-06 06:52:01 +01:00
Fix unencrypted padding length in Padded Intermediate
(official doc says 0..15 bytes, but server & Android app sends 0..256 bytes)
This commit is contained in:
parent
d50ac0ba51
commit
472b10f155
|
|
@ -392,7 +392,7 @@ namespace WTelegram
|
|||
if ((msgId & 1) == 0) throw new WTException($"Invalid server msgId {msgId}");
|
||||
int length = reader.ReadInt32();
|
||||
dataLen -= 20;
|
||||
if (length > dataLen || length < dataLen - (_paddedMode ? 15 : 0))
|
||||
if (length > dataLen || dataLen - length > (_paddedMode ? 256 : 0))
|
||||
throw new WTException($"Unexpected unencrypted/padding length {dataLen} - {length}");
|
||||
|
||||
var obj = reader.ReadTLObject();
|
||||
|
|
@ -1283,7 +1283,7 @@ namespace WTelegram
|
|||
}
|
||||
if (_paddedMode) // Padded intermediate mode => append random padding
|
||||
{
|
||||
var padding = new byte[_random.Next(16)];
|
||||
var padding = new byte[_random.Next(_dcSession.AuthKeyID == 0 ? 257 : 16)];
|
||||
RNG.GetBytes(padding);
|
||||
writer.Write(padding);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<RepositoryType>git</RepositoryType>
|
||||
<PackageTags>Telegram;MTProto;Client;Api;UserBot;TLSharp</PackageTags>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
<PackageReleaseNotes>$(ReleaseNotes.Replace("\"", "%22").Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A"))</PackageReleaseNotes>
|
||||
<PackageReleaseNotes>$(ReleaseNotes.Replace("\"", "''").Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A"))</PackageReleaseNotes>
|
||||
<NoWarn>0419;1573;1591;NETSDK1138</NoWarn>
|
||||
<DefineConstants>TRACE;OBFUSCATION</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
|
|
|||
Loading…
Reference in a new issue