mirror of
https://github.com/seriyps/mtproto_proxy.git
synced 2026-08-04 15:19:47 +00:00
Revert mtp_full padding changes
This commit is contained in:
parent
1429cfe267
commit
ddc04d678d
1 changed files with 5 additions and 6 deletions
|
|
@ -38,6 +38,9 @@ new(EncSeqNo, DecSeqNo) ->
|
|||
#full_st{enc_seq_no = EncSeqNo,
|
||||
dec_seq_no = DecSeqNo}.
|
||||
|
||||
try_decode_packet(<<4:32/little, Tail/binary>>, S) ->
|
||||
%% Skip padding
|
||||
try_decode_packet(Tail, S);
|
||||
try_decode_packet(<<Len:32/little, PktSeqNo:32/signed-little, Tail/binary>>,
|
||||
#full_st{dec_seq_no = SeqNo} = S) ->
|
||||
((Len rem byte_size(?PAD)) == 0)
|
||||
|
|
@ -52,18 +55,14 @@ try_decode_packet(<<Len:32/little, PktSeqNo:32/signed-little, Tail/binary>>,
|
|||
PacketCrc = erlang:crc32([<<Len:32/little, PktSeqNo:32/little>> | Body]),
|
||||
(CRC == PacketCrc)
|
||||
orelse error({wrong_checksum, CRC, PacketCrc}),
|
||||
{ok, Body, skip_padding(Len, Rest), S#full_st{dec_seq_no = SeqNo + 1}};
|
||||
%% TODO: can we drop padding in-advance?
|
||||
{ok, Body, Rest, S#full_st{dec_seq_no = SeqNo + 1}};
|
||||
_ ->
|
||||
{incomplete, S}
|
||||
end;
|
||||
try_decode_packet(_, S) ->
|
||||
{incomplete, S}.
|
||||
|
||||
skip_padding(PktLen, Bin) ->
|
||||
PaddingSize = padding_size(PktLen),
|
||||
<<_:PaddingSize/binary, Tail/binary>> = Bin,
|
||||
Tail.
|
||||
|
||||
|
||||
encode_packet(Bin, #full_st{enc_seq_no = SeqNo} = S) ->
|
||||
BodySize = iolist_size(Bin),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue