diff --git a/apps/emqx/src/emqx_channel.erl b/apps/emqx/src/emqx_channel.erl index 2ffe880f3..130ec99c8 100644 --- a/apps/emqx/src/emqx_channel.erl +++ b/apps/emqx/src/emqx_channel.erl @@ -1551,6 +1551,8 @@ set_username( set_username(_ConnPkt, ClientInfo) -> {ok, ClientInfo}. +%% The `is_bridge` bit flag in CONNECT packet (parsed as `bridge_mode`) +%% is invented by mosquitto, named 'try_private': https://mosquitto.org/man/mosquitto-conf-5.html set_bridge_mode(#mqtt_packet_connect{is_bridge = true}, ClientInfo) -> {ok, ClientInfo#{is_bridge => true}}; set_bridge_mode(_ConnPkt, _ClientInfo) -> diff --git a/apps/emqx/src/emqx_frame.erl b/apps/emqx/src/emqx_frame.erl index 0799a24ee..22170b6de 100644 --- a/apps/emqx/src/emqx_frame.erl +++ b/apps/emqx/src/emqx_frame.erl @@ -301,6 +301,7 @@ parse_connect2( proto_name = ProtoName, proto_ver = ProtoVer, %% For bridge mode, non-standard implementation + %% Invented by mosquitto, named 'try_private': https://mosquitto.org/man/mosquitto-conf-5.html is_bridge = (BridgeTag =:= 8), clean_start = bool(CleanStart), will_flag = bool(WillFlag), @@ -772,6 +773,7 @@ serialize_variable( proto_name = ProtoName, proto_ver = ProtoVer, %% For bridge mode, non-standard implementation + %% Invented by mosquitto, named 'try_private': https://mosquitto.org/man/mosquitto-conf-5.html is_bridge = IsBridge, clean_start = CleanStart, will_flag = WillFlag,