diff --git a/changes/v4.4.15-en.md b/changes/v4.4.15-en.md index 800992cd0..88ad61ca6 100644 --- a/changes/v4.4.15-en.md +++ b/changes/v4.4.15-en.md @@ -8,3 +8,10 @@ - Fix the problem that new MQTT TLS connections failed to establish after release hot upgrade [#9810](https://github.com/emqx/emqx/pull/9810). For more detailed information please see: [emqx/esockd#170](https://github.com/emqx/esockd/pull/170). + +- Fix a problem in the log message format of MQTT packets [#9858](https://github.com/emqx/emqx/pull/9858). + Before this fix, a comma was missing between the flags (DUP) of the fixed header + and the fields (ClientId) of the variable header: + ``` + 2023-01-29T13:40:36.567692+08:00 [debug] 127.0.0.1:50393 [MQTT] RECV CONNECT(Q0, R0, D0ClientId=test_client, ... Password=undefined) + ``` diff --git a/changes/v4.4.15-zh.md b/changes/v4.4.15-zh.md index cb29bcfaa..6d2859e82 100644 --- a/changes/v4.4.15-zh.md +++ b/changes/v4.4.15-zh.md @@ -8,3 +8,9 @@ - 修复版本热升级之后,新的 MQTT TLS 连接建立失败的问题 [#9810](https://github.com/emqx/emqx/pull/9810)。 详情见:[emqx/esockd#170](https://github.com/emqx/esockd/pull/170) + +- 修复 MQTT 报文的日志打印格式的问题 [#9858](https://github.com/emqx/emqx/pull/9858)。 + 在此修复之前,固定报文头的标志位(DUP)和后面的可变报文头的字段(ClientId)之间漏掉了一个逗号做分隔: + ``` + 2023-01-29T13:40:36.567692+08:00 [debug] 127.0.0.1:50393 [MQTT] RECV CONNECT(Q0, R0, D0ClientId=test_client, ... Password=undefined) + ``` diff --git a/src/emqx.appup.src b/src/emqx.appup.src index ebb567dbd..d25adf12f 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -3,21 +3,27 @@ {VSN, [{"4.4.14", [{load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_relup,brutal_purge,soft_purge,[]}, + {load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}]}, {"4.4.13", [{load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {"4.4.12", [{load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {"4.4.11", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {add_module,emqx_cover}, {load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_misc,brutal_purge,soft_purge,[]}, @@ -27,6 +33,7 @@ {load_module,emqx_channel,brutal_purge,soft_purge,[]}]}, {"4.4.10", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {add_module,emqx_cover}, {add_module,emqx_ocsp_cache}, {add_module,emqx_crl_cache}, @@ -48,6 +55,7 @@ [gen_rpc,insecure_auth_fallback_allowed,true]}}]}, {"4.4.9", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {add_module,emqx_cover}, {add_module,emqx_ocsp_cache}, {add_module,emqx_crl_cache}, @@ -75,6 +83,7 @@ [gen_rpc,insecure_auth_fallback_allowed,true]}}]}, {"4.4.8", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {add_module,emqx_cover}, {add_module,emqx_ocsp_cache}, {add_module,emqx_crl_cache}, @@ -103,6 +112,7 @@ [gen_rpc,insecure_auth_fallback_allowed,true]}}]}, {"4.4.7", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {add_module,emqx_cover}, {add_module,emqx_ocsp_cache}, {add_module,emqx_crl_cache}, @@ -131,6 +141,7 @@ [gen_rpc,insecure_auth_fallback_allowed,true]}}]}, {"4.4.6", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {add_module,emqx_cover}, {add_module,emqx_ocsp_cache}, {add_module,emqx_crl_cache}, @@ -159,6 +170,7 @@ [gen_rpc,insecure_auth_fallback_allowed,true]}}]}, {"4.4.5", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {add_module,emqx_cover}, {add_module,emqx_ocsp_cache}, {add_module,emqx_crl_cache}, @@ -189,6 +201,7 @@ [gen_rpc,insecure_auth_fallback_allowed,true]}}]}, {"4.4.4", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {add_module,emqx_cover}, {add_module,emqx_ocsp_cache}, {add_module,emqx_crl_cache}, @@ -418,21 +431,27 @@ {<<".*">>,[]}], [{"4.4.14", [{load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_relup,brutal_purge,soft_purge,[]}, + {load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}]}, {"4.4.13", [{load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {"4.4.12", [{load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {"4.4.11", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_misc,brutal_purge,soft_purge,[]}, @@ -442,6 +461,7 @@ {delete_module,emqx_cover}]}, {"4.4.10", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_kernel_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_access_rule,brutal_purge,soft_purge,[]}, @@ -460,6 +480,7 @@ {delete_module,emqx_ocsp_cache}]}, {"4.4.9", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_kernel_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_access_rule,brutal_purge,soft_purge,[]}, @@ -483,6 +504,7 @@ {delete_module,emqx_ocsp_cache}]}, {"4.4.8", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_kernel_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_access_rule,brutal_purge,soft_purge,[]}, @@ -507,6 +529,7 @@ {delete_module,emqx_ocsp_cache}]}, {"4.4.7", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_kernel_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_access_rule,brutal_purge,soft_purge,[]}, @@ -531,6 +554,7 @@ {delete_module,emqx_ocsp_cache}]}, {"4.4.6", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_kernel_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_access_rule,brutal_purge,soft_purge,[]}, @@ -555,6 +579,7 @@ {delete_module,emqx_ocsp_cache}]}, {"4.4.5", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_kernel_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_access_rule,brutal_purge,soft_purge,[]}, @@ -581,6 +606,7 @@ {delete_module,emqx_ocsp_cache}]}, {"4.4.4", [{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}, + {load_module,emqx_packet,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_kernel_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_hooks,brutal_purge,soft_purge,[]}, diff --git a/src/emqx_packet.erl b/src/emqx_packet.erl index 080126e5d..d91ac6f44 100644 --- a/src/emqx_packet.erl +++ b/src/emqx_packet.erl @@ -430,7 +430,7 @@ format_header(#mqtt_packet_header{type = Type, Header = io_lib:format("~s(Q~p, R~p, D~p", [type_name(Type), QoS, i(Retain), i(Dup)]), case S == undefined of true -> [Header, ")"]; - false -> [Header, S, ")"] + false -> [Header, ", ", S, ")"] end. format_variable(undefined, _) ->