Merge pull request #8300 from thalesmg/fix-missing-acl-placeholder-42
fix(acl): do not leave placeholders unreplaced (4.2)
This commit is contained in:
commit
d30c88fab8
|
@ -172,6 +172,7 @@
|
||||||
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.8">>, [
|
{<<"4.2.8">>, [
|
||||||
|
{load_module, emqx_access_rule, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
|
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_banned, brutal_purge, soft_purge, []},
|
{load_module, emqx_banned, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
||||||
|
@ -189,6 +190,7 @@
|
||||||
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.9">>, [
|
{<<"4.2.9">>, [
|
||||||
|
{load_module, emqx_access_rule, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
|
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_banned, brutal_purge, soft_purge, []},
|
{load_module, emqx_banned, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
||||||
|
@ -205,6 +207,7 @@
|
||||||
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.10">>, [
|
{<<"4.2.10">>, [
|
||||||
|
{load_module, emqx_access_rule, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
|
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_banned, brutal_purge, soft_purge, []},
|
{load_module, emqx_banned, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
||||||
|
@ -219,6 +222,7 @@
|
||||||
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.11">>, [
|
{<<"4.2.11">>, [
|
||||||
|
{load_module, emqx_access_rule, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
|
{load_module, emqx_alarm, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_banned, brutal_purge, soft_purge, []}
|
{load_module, emqx_banned, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
|
@ -384,6 +388,7 @@
|
||||||
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.8">>, [
|
{<<"4.2.8">>, [
|
||||||
|
{load_module, emqx_access_rule, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
||||||
|
@ -399,6 +404,7 @@
|
||||||
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.9">>, [
|
{<<"4.2.9">>, [
|
||||||
|
{load_module, emqx_access_rule, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
||||||
|
@ -413,6 +419,7 @@
|
||||||
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
{load_module, emqx_plugins, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.10">>, [
|
{<<"4.2.10">>, [
|
||||||
|
{load_module, emqx_access_rule, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
{load_module, emqx_message, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
||||||
|
|
|
@ -133,9 +133,13 @@ match_who(_ClientInfo, _Who) ->
|
||||||
match_topics(_ClientInfo, _Topic, []) ->
|
match_topics(_ClientInfo, _Topic, []) ->
|
||||||
false;
|
false;
|
||||||
match_topics(ClientInfo, Topic, [{pattern, PatternFilter}|Filters]) ->
|
match_topics(ClientInfo, Topic, [{pattern, PatternFilter}|Filters]) ->
|
||||||
TopicFilter = feed_var(ClientInfo, PatternFilter),
|
case feed_var(ClientInfo, PatternFilter) of
|
||||||
match_topic(emqx_topic:words(Topic), TopicFilter)
|
nomatch ->
|
||||||
orelse match_topics(ClientInfo, Topic, Filters);
|
false;
|
||||||
|
TopicFilter ->
|
||||||
|
match_topic(emqx_topic:words(Topic), TopicFilter)
|
||||||
|
orelse match_topics(ClientInfo, Topic, Filters)
|
||||||
|
end;
|
||||||
match_topics(ClientInfo, Topic, [TopicFilter|Filters]) ->
|
match_topics(ClientInfo, Topic, [TopicFilter|Filters]) ->
|
||||||
match_topic(emqx_topic:words(Topic), TopicFilter)
|
match_topic(emqx_topic:words(Topic), TopicFilter)
|
||||||
orelse match_topics(ClientInfo, Topic, Filters).
|
orelse match_topics(ClientInfo, Topic, Filters).
|
||||||
|
@ -149,14 +153,13 @@ feed_var(ClientInfo, Pattern) ->
|
||||||
feed_var(ClientInfo, Pattern, []).
|
feed_var(ClientInfo, Pattern, []).
|
||||||
feed_var(_ClientInfo, [], Acc) ->
|
feed_var(_ClientInfo, [], Acc) ->
|
||||||
lists:reverse(Acc);
|
lists:reverse(Acc);
|
||||||
feed_var(ClientInfo = #{clientid := undefined}, [<<"%c">>|Words], Acc) ->
|
feed_var(#{clientid := undefined}, [<<"%c">>|_Words], _Acc) ->
|
||||||
feed_var(ClientInfo, Words, [<<"%c">>|Acc]);
|
nomatch;
|
||||||
feed_var(ClientInfo = #{clientid := ClientId}, [<<"%c">>|Words], Acc) ->
|
feed_var(ClientInfo = #{clientid := ClientId}, [<<"%c">>|Words], Acc) ->
|
||||||
feed_var(ClientInfo, Words, [ClientId |Acc]);
|
feed_var(ClientInfo, Words, [ClientId |Acc]);
|
||||||
feed_var(ClientInfo = #{username := undefined}, [<<"%u">>|Words], Acc) ->
|
feed_var(#{username := undefined}, [<<"%u">>|_Words], _Acc) ->
|
||||||
feed_var(ClientInfo, Words, [<<"%u">>|Acc]);
|
nomatch;
|
||||||
feed_var(ClientInfo = #{username := Username}, [<<"%u">>|Words], Acc) ->
|
feed_var(ClientInfo = #{username := Username}, [<<"%u">>|Words], Acc) ->
|
||||||
feed_var(ClientInfo, Words, [Username|Acc]);
|
feed_var(ClientInfo, Words, [Username|Acc]);
|
||||||
feed_var(ClientInfo, [W|Words], Acc) ->
|
feed_var(ClientInfo, [W|Words], Acc) ->
|
||||||
feed_var(ClientInfo, Words, [W|Acc]).
|
feed_var(ClientInfo, Words, [W|Acc]).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue