From f14ef9ffd758430de676c85ee6b91f7748fcd69c Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 16 Jan 2012 22:20:35 +0100 Subject: M2PA: deal with empty M2PA messages that don't contain MTP3 --- src/m2pa_codec.erl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/m2pa_codec.erl b/src/m2pa_codec.erl index 974ffd8..71caf7c 100644 --- a/src/m2pa_codec.erl +++ b/src/m2pa_codec.erl @@ -36,6 +36,8 @@ parse_m2pa_msgt(?M2PA_CLASS_M2PA, ?M2PA_TYPE_LINK, Len, Remain) -> true -> {undefined, Ret} end; +parse_m2pa_msgt(?M2PA_CLASS_M2PA, ?M2PA_TYPE_USER, 16, <<>>) -> + {empty, []}; parse_m2pa_msgt(?M2PA_CLASS_M2PA, ?M2PA_TYPE_USER, Len, RemainIn) -> <> = RemainIn, Mtp3 = mtp3_codec:parse_mtp3_msg(Mtp3Bin), @@ -49,6 +51,8 @@ parse_msg(DataBin) when is_binary(DataBin) -> fwd_seq_nr = FSN, back_seq_nr = BSN, mtp3 = Mtp3, parameters = Params}}. +encode_m2pa_msgt(?M2PA_CLASS_M2PA, ?M2PA_TYPE_USER, empty, _Params) -> + <<>>; encode_m2pa_msgt(?M2PA_CLASS_M2PA, ?M2PA_TYPE_USER, Mtp3, _Params) when is_binary(Mtp3) -> <<0:1, 0:7, Mtp3/binary>>; encode_m2pa_msgt(?M2PA_CLASS_M2PA, ?M2PA_TYPE_USER, Mtp3, Params) when is_record(Mtp3, mtp3_msg) -> -- cgit v1.2.3