ソースを参照

'' -> '%u', '' -> '%c'

Feng Lee 9 年 前
コミット
66c84aef00
2 ファイル変更14 行追加14 行削除
  1. 8 8
      src/emqttd_access_rule.erl
  2. 6 6
      src/emqttd_mod_subscription.erl

+ 8 - 8
src/emqttd_access_rule.erl

@@ -75,8 +75,8 @@ compile(topic, Topic) ->
     end.
     end.
 
 
 'pattern?'(Words) ->
 'pattern?'(Words) ->
-    lists:member(<<"$u">>, Words)
-        orelse lists:member(<<"$c">>, Words).
+    lists:member(<<"%u">>, Words)
+        orelse lists:member(<<"%c">>, Words).
 
 
 bin(L) when is_list(L) ->
 bin(L) when is_list(L) ->
     list_to_binary(L);
     list_to_binary(L);
@@ -142,13 +142,13 @@ feed_var(Client, Pattern) ->
     feed_var(Client, Pattern, []).
     feed_var(Client, Pattern, []).
 feed_var(_Client, [], Acc) ->
 feed_var(_Client, [], Acc) ->
     lists:reverse(Acc);
     lists:reverse(Acc);
-feed_var(Client = #mqtt_client{client_id = undefined}, [<<"$c">>|Words], Acc) ->
-    feed_var(Client, Words, [<<"$c">>|Acc]);
-feed_var(Client = #mqtt_client{client_id = ClientId}, [<<"$c">>|Words], Acc) ->
+feed_var(Client = #mqtt_client{client_id = undefined}, [<<"%c">>|Words], Acc) ->
+    feed_var(Client, Words, [<<"%c">>|Acc]);
+feed_var(Client = #mqtt_client{client_id = ClientId}, [<<"%c">>|Words], Acc) ->
     feed_var(Client, Words, [ClientId |Acc]);
     feed_var(Client, Words, [ClientId |Acc]);
-feed_var(Client = #mqtt_client{username = undefined}, [<<"$u">>|Words], Acc) ->
-    feed_var(Client, Words, [<<"$u">>|Acc]);
-feed_var(Client = #mqtt_client{username = Username}, [<<"$u">>|Words], Acc) ->
+feed_var(Client = #mqtt_client{username = undefined}, [<<"%u">>|Words], Acc) ->
+    feed_var(Client, Words, [<<"%u">>|Acc]);
+feed_var(Client = #mqtt_client{username = Username}, [<<"%u">>|Words], Acc) ->
     feed_var(Client, Words, [Username|Acc]);
     feed_var(Client, Words, [Username|Acc]);
 feed_var(Client, [W|Words], Acc) ->
 feed_var(Client, [W|Words], Acc) ->
     feed_var(Client, Words, [W|Acc]).
     feed_var(Client, Words, [W|Acc]).

+ 6 - 6
src/emqttd_mod_subscription.erl

@@ -32,7 +32,7 @@ on_client_connected(?CONNACK_ACCEPT, Client = #mqtt_client{client_id  = ClientId
                                                            client_pid = ClientPid,
                                                            client_pid = ClientPid,
                                                            username   = Username}, Topics) ->
                                                            username   = Username}, Topics) ->
 
 
-    Replace = fun(Topic) -> rep(<<"$u">>, Username, rep(<<"$c">>, ClientId, Topic)) end,
+    Replace = fun(Topic) -> rep(<<"%u">>, Username, rep(<<"%c">>, ClientId, Topic)) end,
     TopicTable = [{Replace(Topic), Qos} || {Topic, Qos} <- Topics],
     TopicTable = [{Replace(Topic), Qos} || {Topic, Qos} <- Topics],
     emqttd_client:subscribe(ClientPid, TopicTable),
     emqttd_client:subscribe(ClientPid, TopicTable),
     {ok, Client};
     {ok, Client};
@@ -43,10 +43,10 @@ on_client_connected(_ConnAck, _Client, _State) ->
 unload(_Opts) ->
 unload(_Opts) ->
     emqttd:unhook('client.connected', fun ?MODULE:on_client_connected/3).
     emqttd:unhook('client.connected', fun ?MODULE:on_client_connected/3).
 
 
-rep(<<"$c">>, ClientId, Topic) ->
-    emqttd_topic:feed_var(<<"$c">>, ClientId, Topic);
-rep(<<"$u">>, undefined, Topic) ->
+rep(<<"%c">>, ClientId, Topic) ->
+    emqttd_topic:feed_var(<<"%c">>, ClientId, Topic);
+rep(<<"%u">>, undefined, Topic) ->
     Topic;
     Topic;
-rep(<<"$u">>, Username, Topic) ->
-    emqttd_topic:feed_var(<<"$u">>, Username, Topic).
+rep(<<"%u">>, Username, Topic) ->
+    emqttd_topic:feed_var(<<"%u">>, Username, Topic).