From ddc04d678de5f3d5f073c6532b9ab7763736a5d7 Mon Sep 17 00:00:00 2001 From: Sergey Prokhorov Date: Thu, 25 Jul 2019 16:06:44 +0200 Subject: [PATCH] Revert mtp_full padding changes --- src/mtp_full.erl | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/mtp_full.erl b/src/mtp_full.erl index a664bc2..a073916 100644 --- a/src/mtp_full.erl +++ b/src/mtp_full.erl @@ -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(<>, #full_st{dec_seq_no = SeqNo} = S) -> ((Len rem byte_size(?PAD)) == 0) @@ -52,18 +55,14 @@ try_decode_packet(<>, PacketCrc = erlang:crc32([<> | 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),