From b29ceb9f6b1e0461a196b4584b586e8334f0318a Mon Sep 17 00:00:00 2001 From: terry-xiaoyu <506895667@qq.com> Date: Fri, 20 Sep 2019 22:27:02 +0800 Subject: [PATCH] Fix connack reason code when crash --- src/emqx_channel.erl | 2 +- src/emqx_reason_codes.erl | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/emqx_channel.erl b/src/emqx_channel.erl index d6d1f88d3..89d3a895d 100644 --- a/src/emqx_channel.erl +++ b/src/emqx_channel.erl @@ -239,7 +239,7 @@ handle_in(?CONNECT_PACKET(ConnPkt), Channel) -> {ok, NConnPkt, NChannel} -> process_connect(NConnPkt, NChannel); {error, ReasonCode, NChannel} -> - handle_out({connack, ReasonCode, ConnPkt}, NChannel) + handle_out({connack, emqx_reason_codes:formalized(connack, ReasonCode), ConnPkt}, NChannel) end; handle_in(Packet = ?PUBLISH_PACKET(_QoS), Channel) -> diff --git a/src/emqx_reason_codes.erl b/src/emqx_reason_codes.erl index 6aad26a31..785888017 100644 --- a/src/emqx_reason_codes.erl +++ b/src/emqx_reason_codes.erl @@ -25,6 +25,7 @@ , text/2 , connack_error/1 , mqtt_frame_error/1 + , formalized/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(_) -> ?RC_MALFORMED_PACKET. + +formalized(connack, Code) when is_integer(Code) -> Code; +formalized(connack, Code) when is_integer(Code) -> + ?RC_SERVER_UNAVAILABLE.