Fix connack reason code when crash

This commit is contained in:
terry-xiaoyu 2019-09-20 22:27:02 +08:00
parent d0908bc70f
commit b29ceb9f6b
2 changed files with 6 additions and 1 deletions

View File

@ -239,7 +239,7 @@ handle_in(?CONNECT_PACKET(ConnPkt), Channel) ->
{ok, NConnPkt, NChannel} -> {ok, NConnPkt, NChannel} ->
process_connect(NConnPkt, NChannel); process_connect(NConnPkt, NChannel);
{error, ReasonCode, NChannel} -> {error, ReasonCode, NChannel} ->
handle_out({connack, ReasonCode, ConnPkt}, NChannel) handle_out({connack, emqx_reason_codes:formalized(connack, ReasonCode), ConnPkt}, NChannel)
end; end;
handle_in(Packet = ?PUBLISH_PACKET(_QoS), Channel) -> handle_in(Packet = ?PUBLISH_PACKET(_QoS), Channel) ->

View File

@ -25,6 +25,7 @@
, text/2 , text/2
, connack_error/1 , connack_error/1
, mqtt_frame_error/1 , mqtt_frame_error/1
, formalized/2
]). ]).
-export([compat/2]). -export([compat/2]).
@ -178,3 +179,7 @@ connack_error(_) -> ?RC_NOT_AUTHORIZED.
mqtt_frame_error(mqtt_frame_too_large) -> ?RC_PACKET_TOO_LARGE; mqtt_frame_error(mqtt_frame_too_large) -> ?RC_PACKET_TOO_LARGE;
mqtt_frame_error(_) -> ?RC_MALFORMED_PACKET. mqtt_frame_error(_) -> ?RC_MALFORMED_PACKET.
formalized(connack, Code) when is_integer(Code) -> Code;
formalized(connack, Code) when is_integer(Code) ->
?RC_SERVER_UNAVAILABLE.