Fix mqtt3.1/3.1.1 retain flag error bug

This commit is contained in:
turtled 2020-01-16 16:05:41 +08:00
parent d409e25e76
commit 4a4883f9b1
1 changed files with 2 additions and 0 deletions

View File

@ -889,6 +889,8 @@ process_subopts([{rap, 0}|Opts], Msg = #message{flags = Flags, headers = #{proto
process_subopts(Opts, Msg#message{flags = maps:put(retain, false, Flags)}, Session);
process_subopts([{rap, _}|Opts], Msg = #message{headers = #{proto_ver := ?MQTT_PROTO_V5}}, Session) ->
process_subopts(Opts, Msg, Session);
process_subopts([{rap, 1}|Opts], Msg, Session) ->
process_subopts(Opts, Msg, Session);
process_subopts([{rap, _}|Opts], Msg = #message{headers = #{retained := true}}, Session = #session{}) ->
process_subopts(Opts, Msg, Session);
process_subopts([{rap, _}|Opts], Msg = #message{flags = Flags}, Session) ->