From ddb9ffe75024356e44538ec4c16c3e33f17b787d Mon Sep 17 00:00:00 2001 From: Feng Date: Fri, 18 Sep 2015 09:54:58 +0800 Subject: [PATCH 1/4] fix issue #297, support variable --- .gitmodules | 3 +++ plugins/emqttd_sockjs | 1 + 2 files changed, 4 insertions(+) create mode 160000 plugins/emqttd_sockjs diff --git a/.gitmodules b/.gitmodules index 933a0e007..1bff7b1c4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "plugins/emqttd_plugin_template"] path = plugins/emqttd_plugin_template url = https://github.com/emqtt/emqttd_plugin_template.git +[submodule "plugins/emqttd_sockjs"] + path = plugins/emqttd_sockjs + url = https://github.com/emqtt/emqttd_sockjs.git diff --git a/plugins/emqttd_sockjs b/plugins/emqttd_sockjs new file mode 160000 index 000000000..a6455d098 --- /dev/null +++ b/plugins/emqttd_sockjs @@ -0,0 +1 @@ +Subproject commit a6455d098b87a4bbab5b075c1ca4cdb1183b2f69 From 96eef5c1bdfb026bf6aabd34e470fbc9c6107840 Mon Sep 17 00:00:00 2001 From: Feng Date: Fri, 18 Sep 2015 10:05:51 +0800 Subject: [PATCH 2/4] rm sockjs --- plugins/emqttd_sockjs | 1 - 1 file changed, 1 deletion(-) delete mode 160000 plugins/emqttd_sockjs diff --git a/plugins/emqttd_sockjs b/plugins/emqttd_sockjs deleted file mode 160000 index a6455d098..000000000 --- a/plugins/emqttd_sockjs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a6455d098b87a4bbab5b075c1ca4cdb1183b2f69 From f7530fc04b1e7ce44a57c59a37b40eb8a89023b7 Mon Sep 17 00:00:00 2001 From: Feng Date: Fri, 18 Sep 2015 10:07:58 +0800 Subject: [PATCH 3/4] rm sockjs --- .gitmodules | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 1bff7b1c4..933a0e007 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,6 +4,3 @@ [submodule "plugins/emqttd_plugin_template"] path = plugins/emqttd_plugin_template url = https://github.com/emqtt/emqttd_plugin_template.git -[submodule "plugins/emqttd_sockjs"] - path = plugins/emqttd_sockjs - url = https://github.com/emqtt/emqttd_sockjs.git From 74d0ef9a954bbc24d62832d24f0cd6c00f9ab712 Mon Sep 17 00:00:00 2001 From: Feng Date: Fri, 18 Sep 2015 10:09:10 +0800 Subject: [PATCH 4/4] fix issue #297 - support variable --- src/emqttd_mod_autosub.erl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/emqttd_mod_autosub.erl b/src/emqttd_mod_autosub.erl index 7285920e6..a1c8d1649 100644 --- a/src/emqttd_mod_autosub.erl +++ b/src/emqttd_mod_autosub.erl @@ -45,8 +45,16 @@ load(Opts) -> {?MODULE, client_connected, [Topics]}), {ok, #state{topics = Topics}}. -client_connected(?CONNACK_ACCEPT, #mqtt_client{client_id = ClientId, client_pid = ClientPid}, Topics) -> - F = fun(Topic) -> emqttd_topic:feed_var(<<"$c">>, ClientId, Topic) end, +client_connected(?CONNACK_ACCEPT, #mqtt_client{client_id = ClientId, + client_pid = ClientPid, + username = Username}, Topics) -> + F = fun(Topic) -> + Topic1 = emqttd_topic:feed_var(<<"$c">>, ClientId, Topic), + if + Username =:= undefined -> Topic1; + true -> emqttd_topic:feed_var(<<"$u">>, Username, Topic1) + end + end, emqttd_client:subscribe(ClientPid, [{F(Topic), Qos} || {Topic, Qos} <- Topics]); client_connected(_ConnAck, _Client, _Topics) ->