|
@@ -1525,7 +1525,7 @@ check_connect(ConnPkt, #channel{clientinfo = #{zone := Zone}}) ->
|
|
|
%% Enrich Client Info
|
|
%% Enrich Client Info
|
|
|
|
|
|
|
|
enrich_client(ConnPkt, Channel = #channel{clientinfo = ClientInfo}) ->
|
|
enrich_client(ConnPkt, Channel = #channel{clientinfo = ClientInfo}) ->
|
|
|
- {ok, NConnPkt, NClientInfo} = pipeline(
|
|
|
|
|
|
|
+ Pipe = pipeline(
|
|
|
[
|
|
[
|
|
|
fun set_username/2,
|
|
fun set_username/2,
|
|
|
fun set_bridge_mode/2,
|
|
fun set_bridge_mode/2,
|
|
@@ -1536,7 +1536,12 @@ enrich_client(ConnPkt, Channel = #channel{clientinfo = ClientInfo}) ->
|
|
|
ConnPkt,
|
|
ConnPkt,
|
|
|
ClientInfo
|
|
ClientInfo
|
|
|
),
|
|
),
|
|
|
- {ok, NConnPkt, Channel#channel{clientinfo = NClientInfo}}.
|
|
|
|
|
|
|
+ case Pipe of
|
|
|
|
|
+ {ok, NConnPkt, NClientInfo} ->
|
|
|
|
|
+ {ok, NConnPkt, Channel#channel{clientinfo = NClientInfo}};
|
|
|
|
|
+ {error, ReasonCode, NClientInfo} ->
|
|
|
|
|
+ {error, ReasonCode, Channel#channel{clientinfo = NClientInfo}}
|
|
|
|
|
+ end.
|
|
|
|
|
|
|
|
set_username(
|
|
set_username(
|
|
|
#mqtt_packet_connect{username = Username},
|
|
#mqtt_packet_connect{username = Username},
|
|
@@ -1561,7 +1566,8 @@ maybe_username_as_clientid(
|
|
|
}
|
|
}
|
|
|
) ->
|
|
) ->
|
|
|
case get_mqtt_conf(Zone, use_username_as_clientid) of
|
|
case get_mqtt_conf(Zone, use_username_as_clientid) of
|
|
|
- true -> {ok, ClientInfo#{clientid => Username}};
|
|
|
|
|
|
|
+ true when Username =/= <<>> -> {ok, ClientInfo#{clientid => Username}};
|
|
|
|
|
+ true -> {error, ?RC_CLIENT_IDENTIFIER_NOT_VALID, ClientInfo};
|
|
|
false -> ok
|
|
false -> ok
|
|
|
end.
|
|
end.
|
|
|
|
|
|