Commit Graph

1548 Commits

Author SHA1 Message Date
k32 2bea95ff6e
Merge pull request #5124 from k32/dev/rule-engine-shard
chore(rule_engine): Add an RLOG shard
2021-06-28 21:27:18 +02:00
k32 73ec8c47cc chore(rule_engine): Add an RLOG shard 2021-06-28 20:29:08 +02:00
k32 9ab5c88d20 chore(retainer): Add RLOG shard 2021-06-28 20:22:06 +02:00
k32 1618a90ddd chore(telemetry): Add an RLOG shard 2021-06-28 18:14:36 +02:00
k32 26b2216e25 chore(shared_sub): Add shared_sub shard 2021-06-28 17:52:57 +02:00
k32 ce4800e6ae chore(alarm): Alarm shard 2021-06-28 17:52:57 +02:00
k32 7c9861dbaa chore(banned): Add banned shard 2021-06-28 14:05:35 +02:00
k32 98739224f6 chore(emqx_sn): Add SN shard 2021-06-28 14:05:30 +02:00
k32 ca1b789ef6
Merge pull request #5100 from k32/dev/authn-shard
Create authN shard
2021-06-28 12:57:36 +02:00
zhanghongtong 64ce0d0e4f chore(acl): delete acl nomatch config item 2021-06-28 17:47:44 +08:00
Turtle faad90c9d4 chore(plugins): rm emqx-web-hook and mv webhook action to emqx_rule_actions 2021-06-28 17:07:46 +08:00
William Yang 5571c54607
Merge pull request #5002 from qzhuyan/dev/william/quic-support-centos7
Quic support part 1
2021-06-28 10:49:44 +02:00
k32 dc1deff3f3 refactor(rlog): Fix initialization of emqx_cm_registry table 2021-06-28 10:35:36 +02:00
Turtle 33036a1a91 chore(plugins): rm emqx-pks-file plugin 2021-06-28 15:57:19 +08:00
Turtle 434beef3ad feat(rule-engine): Update the configuration file to hocon 2021-06-28 14:51:15 +08:00
Turtle 54aeacee14 feat(rule-engine): update the configuration file to hocon 2021-06-28 14:51:15 +08:00
zhanghongtong dd424c7656 build: delete sasl plugin 2021-06-28 11:52:47 +08:00
zhanghongtong d6e531bd8f Merge branch 'master' of https://github.com/emqx/emqx into merge-4.3-to-5.0 2021-06-28 11:46:55 +08:00
zhanghongtong 4e4c1dd17a build: delete needless auth plugins 2021-06-28 11:45:01 +08:00
Turtle d0d14f7a02 chore(plugins): rm emqx-lua-hook plugin 2021-06-28 11:44:01 +08:00
Rory Z 1f7291380b chore: delete internal acl code 2021-06-28 11:44:01 +08:00
Rory Z 1582c07cbe chore: delete import and export feature 2021-06-28 11:44:01 +08:00
Rory Z e949cdca98 chore: delete import and export feature 2021-06-28 11:44:01 +08:00
zhanghongtong 9da51d4b1c build: delete needless auth plugins 2021-06-28 11:44:01 +08:00
zhanghongtong cbc782f5bf build: delete needless auth plugins 2021-06-28 11:43:58 +08:00
Turtle 78cbc2a19d chore: move emqx_recon to emqx_modules plugin 2021-06-28 11:43:48 +08:00
turtleDeng 89529ec4fa chore: reset plugin conf generate (#5094)
* chore: reset plugin conf generate

* fix(plugin): check dialyzer fail

* chore: rm emqx_management_schema.erl file

* fix(plugin): check dialyzer fail

* fix(plugin): fix check ct fail

* fix(plugin): check dialyzer fail
2021-06-28 11:43:48 +08:00
Turtle c9ac851d27 feat(prometheus): Update the configuration file to hocon 2021-06-28 11:43:48 +08:00
Shawn cc1f57ff01 Add some APIs for emqx_config (#5095) 2021-06-28 11:43:48 +08:00
Shawn d77352168f Reference to foreign schema definitions in emqx_schema (#5090) 2021-06-28 11:43:48 +08:00
Rory Z 6f0f670550 feat(redis connector): redis connector support cluster (#5074) 2021-06-28 11:43:48 +08:00
Shawn 36c7785fd0 The config handler phase2 (#5052)
* refator(config_handler): handle and validate the updates to raw_configs

* fix(hocon): update hocon to 0.8.0

* refactor(config_handler): check and apply envs only in top-level handler

* refactor(config_handler): update config from top level to bottom level

* refactor(emqx_data_bridge): move configs to emqx.conf

* fix(emqx_schema): remove the extra config path

* fix(config_handler): load the emqx.conf when starting emqx_config_handler

* fix(data_bridge): API not working

* feat(config_handler): save updated configs to emqx_override.conf

* fix(config_handler): cannot find the emqx.conf and emqx_override.conf

* fix(emqx_config): cannot find the correct path for etc dir

* fix(test): load load emqx_schema foreign refereced apps

* refactor(emqx_plugin): do not generate configs before load plugins

All configs (including the configs for plugins) now should go into
the `emqx.conf`.

* fix(tests): update the test cases for plugins

* fix(tests): don't include schema from apps when testing

* fix(tests): use emqx-ct-helper branch hocon
2021-06-28 11:43:48 +08:00
DDDHuang 44412549ab fix: statsd hocon schema & add test suit (#5060) 2021-06-28 11:43:48 +08:00
k32 b88c71b481 feat(dashboard): Introduce dashboard RLOG shard 2021-06-28 11:43:48 +08:00
k32 198e3c03e0 feat(emqx_management): mqtt_app shard 2021-06-28 11:43:48 +08:00
turtleDeng b4d9af0e85 feat(telemetry): Update the configuration file to hocon (#5064) 2021-06-28 11:43:48 +08:00
Rory Z 39e4d348f6 feat: add authz (#4852)
* feat(authorization): add authorization api

* feat(authorization): add check function

* feat(authorization): use hocon config file

* feat(authz): add mysql connector

* feat(authz): support pgsql

* feat(connector): support redis

* chore(authz): use "publish/subscribe/all" instead of "pub/sub/pubsub"
2021-06-28 11:43:48 +08:00
Zaiming Shi 871f23f047 build: do not allow user override PKG_VSN
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-28 11:43:48 +08:00
Zaiming Shi cd5431e71d chore(emqx_lwm2m): pin lwm2m-coap v2.0.0
v2.0.0 has emqx_http_lib added as a rebar dependency
v1.* is for emqx v4.3.*
2021-06-28 11:43:46 +08:00
DDDHuang 9bc3b4684a refactor(config): support hocon 2021-06-28 11:43:31 +08:00
DDDHuang 8356102450 chore: support statsd 2021-06-28 11:43:31 +08:00
Turtle 205e588b22 fix(plugins): fix load plugin generate hocon configs fail 2021-06-28 11:43:31 +08:00
Shawn e2d96e46a0 change resource,connectors,data_bridges as normal apps (#5034) 2021-06-28 11:43:31 +08:00
Turtle f004e36e28 feat(plugins): Support load plugins of hocon configuration format 2021-06-28 11:43:31 +08:00
Rory Z 87cc94ad28 chore(hooks): update type 2021-06-28 11:43:31 +08:00
Rory Z 0dd068135d chore(hooks): delete is_function() 2021-06-28 11:43:31 +08:00
Rory Z b21959b0c3 test: fix tests error 2021-06-28 11:43:31 +08:00
Rory Z 227c8e626b chore(appup): update appup file 2021-06-28 11:43:31 +08:00
Rory Z 46fe77687c chore(dialyzer): fix dialyzer error 2021-06-28 11:43:31 +08:00
zhanghongtong 64a63ab892 chore(hooks): emqx_hooks no longer accept anonymous functions 2021-06-28 11:43:31 +08:00
zhanghongtong f5c4863420 fix(connector): add nullable for sentinel_name in redis schema 2021-06-28 11:43:31 +08:00
Zaiming Shi 62df9f03ad fix(emqx_schema): add 'sensitive' flag for passowrd configs 2021-06-28 11:43:31 +08:00
Zaiming Shi 1fca3cd1b5 chore(rebar.config): use hocon 0.6.0
hocon 0.6.0 added supports for sensitive config flagging
sub-struct type checking, and remote struct referencing
2021-06-28 11:43:31 +08:00
DDDHuang 22b0fa0b92 chore: more node info 2021-06-28 11:43:31 +08:00
turtleDeng 271869b817 Revert "chore: mv emqx_connector to emqx_data_bridge"
This reverts commit d640e2ccfa.
2021-06-28 11:43:31 +08:00
zhanghongtong 786fd6fe3e feat(connector): mysql and pgsql query support params 2021-06-28 11:43:31 +08:00
Turtle 07ade268f9 chore: mv emqx_connector to emqx_data_bridge 2021-06-28 11:43:31 +08:00
Shawn ff54fbd1d1 fix(shared_sub): discard all unexpected msgs 2021-06-28 11:43:14 +08:00
Shawn 95e7a4dd7b chore(appup): update the appup for 4.3.5 2021-06-28 11:43:13 +08:00
Shawn 8f15a41f54 fix(shared_sub): failed to clean the emqx_shared_subscription tab
A trick that fixes the issue that we demonitored the shared subscriber
too early if it not unsubscribed all of the topics.
2021-06-28 11:42:56 +08:00
Turtle 22f1e8d7ed chore(review): review 4.3.4 2021-06-28 11:42:39 +08:00
Turtle bde9d052a5 feat(lwm2m): fix check dialyzer fail 2021-06-28 11:42:39 +08:00
Turtle 8c0c6974d9 fix: Ignore repeatedly receiving connection packet in the wait_will_msg/wait_will_topic/connected state 2021-06-28 11:42:39 +08:00
JianBo He 8da6d5cf16 fix(emqx_cm): catch noproc exception from rpc_call (#5048) 2021-06-28 11:42:39 +08:00
JianBo He ab75901061 fix(coap): fix coap uri format (#5059) 2021-06-28 11:42:25 +08:00
Zaiming Shi c7fe49c200 test(ci): add plugin list status check after relup new vsn install 2021-06-28 11:42:12 +08:00
JianBo He f3617aa082 chore: upgrade lwm2m_coap to 1.1.4 2021-06-28 11:41:53 +08:00
Turtle c7ebc12ce1 feat(lwm2m): add emqx_lwm2m http API 2021-06-28 11:41:53 +08:00
Shawn 8e08e83090 fix(appup): relup for emqx_rule_registry failed 2021-06-28 11:41:53 +08:00
Shawn c1b2163362 feat(rules): remove stats update from rule_engine_registry (#5029) 2021-06-28 11:41:53 +08:00
Shawn a610c3d1f3 fix(rule): delete resource failed when searching dependent rules (#4996) 2021-06-28 11:40:51 +08:00
Turtle 8a3ac7c878 chore(plugins): rm emqx-sasl plugin 2021-06-28 11:40:49 +08:00
tigercl bcedd7fe9e fix(query string): support query string in path (#4981) 2021-06-28 11:40:44 +08:00
JianBo He 56ac459b7f fix(modules): fix start/stop exhook module failure 2021-06-28 11:40:44 +08:00
JianBo He 2bc586b930 fix(ws): avoid funcation_clause for un-inited websocket 2021-06-28 11:40:43 +08:00
k32 c1d2bae833 fix(auth_ldap): Handle missing attributes
Fixes: #4953
2021-06-28 11:40:42 +08:00
Zaiming Shi 0451f89c22 chore(conf): change default number of gen_rpc connections to 1 2021-06-28 11:40:24 +08:00
JianBo He 8352fa6f31 fix(mqttsn): fix proto_name to MQTT-SN instead of MQTT (#4961) 2021-06-28 11:40:22 +08:00
JianBo He 7af4b80ef4 fix(lwm2m): base64 decode for opaque value 2021-06-28 11:39:29 +08:00
Turtle 1063f2cae5 chore(plugins): rm emqx-lua-hook plugin 2021-06-28 09:44:17 +08:00
k32 6063fc72f7 chore(authentication): Migrate to RLOG 2021-06-25 16:58:50 +02:00
Rory Z c79e478c42 chore: delete internal acl code 2021-06-25 18:45:34 +08:00
Rory Z 55613593f0 chore: delete import and export feature 2021-06-25 18:45:34 +08:00
Rory Z ecc450e942 chore: delete import and export feature 2021-06-25 18:45:34 +08:00
zhanghongtong 09e995a1b2 build: delete needless auth plugins 2021-06-25 18:45:34 +08:00
zhanghongtong c24f3688c4 build: delete needless auth plugins 2021-06-25 18:45:34 +08:00
Turtle 2d1008ceaf chore: move emqx_recon to emqx_modules plugin 2021-06-25 18:45:04 +08:00
turtleDeng c9c6b69cc9
chore: reset plugin conf generate (#5094)
* chore: reset plugin conf generate

* fix(plugin): check dialyzer fail

* chore: rm emqx_management_schema.erl file

* fix(plugin): check dialyzer fail

* fix(plugin): fix check ct fail

* fix(plugin): check dialyzer fail
2021-06-25 17:06:30 +08:00
Turtle 2582fdcfe8 feat(prometheus): Update the configuration file to hocon 2021-06-25 16:31:18 +08:00
Shawn d5eb37c537
Add some APIs for emqx_config (#5095) 2021-06-25 15:40:28 +08:00
Shawn 9977d836bc
Reference to foreign schema definitions in emqx_schema (#5090) 2021-06-25 12:46:57 +08:00
Rory Z 4157524910
feat(redis connector): redis connector support cluster (#5074) 2021-06-25 11:47:57 +08:00
Shawn 704af9f3b1
The config handler phase2 (#5052)
* refator(config_handler): handle and validate the updates to raw_configs

* fix(hocon): update hocon to 0.8.0

* refactor(config_handler): check and apply envs only in top-level handler

* refactor(config_handler): update config from top level to bottom level

* refactor(emqx_data_bridge): move configs to emqx.conf

* fix(emqx_schema): remove the extra config path

* fix(config_handler): load the emqx.conf when starting emqx_config_handler

* fix(data_bridge): API not working

* feat(config_handler): save updated configs to emqx_override.conf

* fix(config_handler): cannot find the emqx.conf and emqx_override.conf

* fix(emqx_config): cannot find the correct path for etc dir

* fix(test): load load emqx_schema foreign refereced apps

* refactor(emqx_plugin): do not generate configs before load plugins

All configs (including the configs for plugins) now should go into
the `emqx.conf`.

* fix(tests): update the test cases for plugins

* fix(tests): don't include schema from apps when testing

* fix(tests): use emqx-ct-helper branch hocon
2021-06-25 11:47:18 +08:00
DDDHuang a42605b27b
fix: statsd hocon schema & add test suit (#5060) 2021-06-25 09:18:52 +08:00
k32 6cb81240d0
Merge pull request #5054 from k32/dev/dashboard-shard
feat(dashboard): Introduce dashboard RLOG shard
2021-06-23 19:55:02 +02:00
k32 a14ab5f90a
Merge pull request #5053 from k32/dev/mgmt-shard
feat(emqx_management): mqtt_app shard
2021-06-23 19:42:47 +02:00
turtleDeng 5a560a153c
feat(telemetry): Update the configuration file to hocon (#5064) 2021-06-23 17:12:24 +08:00
Rory Z 263aaff6d6
feat: add authz (#4852)
* feat(authorization): add authorization api

* feat(authorization): add check function

* feat(authorization): use hocon config file

* feat(authz): add mysql connector

* feat(authz): support pgsql

* feat(connector): support redis

* chore(authz): use "publish/subscribe/all" instead of "pub/sub/pubsub"
2021-06-23 10:55:38 +08:00
Zaiming Shi d7ed66f234 build: do not allow user override PKG_VSN
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-22 18:56:31 +08:00
k32 2d8ebc17cd feat(dashboard): Introduce dashboard RLOG shard 2021-06-21 18:03:51 +02:00
k32 239255f251 feat(emqx_management): mqtt_app shard 2021-06-21 18:02:11 +02:00
Zaiming Shi 291cea0727 chore(emqx_lwm2m): pin lwm2m-coap v2.0.0
v2.0.0 has emqx_http_lib added as a rebar dependency
v1.* is for emqx v4.3.*
2021-06-21 11:54:58 +02:00
DDDHuang 4011aee361 refactor(config): support hocon 2021-06-21 12:20:20 +08:00
DDDHuang b62301c5f4 chore: support statsd 2021-06-21 12:20:20 +08:00
Turtle bc71a1e2c6 fix(plugins): fix load plugin generate hocon configs fail 2021-06-19 16:47:09 +08:00
Shawn 8978464269
change resource,connectors,data_bridges as normal apps (#5034) 2021-06-19 16:27:21 +08:00
Turtle ffcbcaed3c feat(plugins): Support load plugins of hocon configuration format 2021-06-19 13:42:21 +08:00
Rory Z 186094d2ab chore(hooks): update type 2021-06-18 18:59:52 +08:00
Rory Z 1fa55f5a4e chore(hooks): delete is_function() 2021-06-18 18:59:52 +08:00
Rory Z 1a09d636ae test: fix tests error 2021-06-18 18:59:52 +08:00
Rory Z e5447cd6e4 chore(appup): update appup file 2021-06-18 18:59:52 +08:00
Rory Z 536c7256da chore(dialyzer): fix dialyzer error 2021-06-18 18:59:52 +08:00
zhanghongtong bbf6b4e64e chore(hooks): emqx_hooks no longer accept anonymous functions 2021-06-18 18:59:52 +08:00
zhanghongtong abca2938f4 fix(connector): add nullable for sentinel_name in redis schema 2021-06-18 16:11:51 +08:00
Zaiming Shi 36cd03cc98 fix(emqx_schema): add 'sensitive' flag for passowrd configs 2021-06-18 09:02:25 +08:00
Zaiming Shi 6865f36d90 chore(rebar.config): use hocon 0.6.0
hocon 0.6.0 added supports for sensitive config flagging
sub-struct type checking, and remote struct referencing
2021-06-18 09:02:25 +08:00
k32 5b84513e77
Merge pull request #5014 from k32/dev/route_shard
feat(rlog): Introduce routing RLOG shard
2021-06-17 17:00:14 +02:00
DDDHuang 1e0f6f4dea chore: more node info 2021-06-17 21:09:06 +08:00
turtleDeng 54dedc8343 Revert "chore: mv emqx_connector to emqx_data_bridge"
This reverts commit d640e2ccfa.
2021-06-17 19:11:10 +08:00
zhanghongtong d9d5bc4fae feat(connector): mysql and pgsql query support params 2021-06-17 18:50:28 +08:00
Turtle d640e2ccfa chore: mv emqx_connector to emqx_data_bridge 2021-06-17 16:42:41 +08:00
William Yang d1978aaaf2 chore(quic): fix format 2021-06-17 09:03:10 +02:00
William Yang b4a9d663ae feat(quic): quic conn idle_timeout default 1min 2021-06-17 09:03:10 +02:00
William Yang 4e2e2d5635 feat(quic): update emqx_schema for quic 2021-06-17 09:03:10 +02:00
William Yang fd785240f5 feat(quic): bump quicer to 0.0.3 2021-06-17 09:03:10 +02:00
William Yang e34470f9f2 feat(quic): remove unsupported configs. 2021-06-17 09:03:10 +02:00
William Yang af2faed107 feat(quic): switch to deps on emqx quicer repo 2021-06-17 09:03:10 +02:00
k32 6505340cb8 feat(rlog): Introduce routing RLOG shard 2021-06-16 16:05:10 +02:00
Shawn 56c6cf560a fix(dialyzer): guard test can never succeed 2021-06-16 16:02:44 +08:00
Shawn 1e14a6086e fix(dialyzer): invalid type specs 2021-06-16 16:02:44 +08:00
Shawn 134970e7b7 fix(data_bridge): comment out all the connector-config 2021-06-16 16:02:44 +08:00
turtleDeng 0515ef6e45
feat(connector): add more connector (#4985) 2021-06-16 11:28:26 +08:00
Shawn 8b0a6d955b fix(test): ci failed due to existing subscriptions 2021-06-16 11:27:34 +08:00
Shawn 444c721f93 fix(config): change handler name to emqx_data_bridge_config_handler 2021-06-16 11:27:34 +08:00
Shawn b11afc6997 fix(config): start the top level config handler at emqx bootup 2021-06-16 11:27:34 +08:00
Shawn 378a2b7b9e feat(config): update config to the sub config handler 2021-06-16 11:27:34 +08:00
Shawn ccba714cd6 feat(config): add emqx_config_handler 2021-06-16 11:27:34 +08:00
zhanghongtong 4505607c51 chore(tests): update acl mysql test case 2021-06-16 09:42:07 +08:00
zhanghongtong 949e8348fc chore(connector): ensure alllication start in mysql connector 2021-06-16 09:41:52 +08:00
William Yang 68844cefd9 feat(quic): update emqx_schema for quic 2021-06-15 15:36:04 +02:00
William Yang bb6459ba3a build: add quic dep in app/emqx/rebar.config 2021-06-15 15:36:04 +02:00
William Yang 14614fbe33 feat(quic): adapt to new quicer API. 2021-06-15 15:36:04 +02:00
William Yang 5356668eac feat(quic): adapt to hocon schema 2021-06-15 15:36:04 +02:00
William Yang 1ffd2cf245 chore(config): adapt to new config format 2021-06-15 15:36:04 +02:00
William Yang f9a113477e feat(quic): use quicer:getstat instead. 2021-06-15 15:36:04 +02:00
William Yang e062be2b0e feat(quic): reload quicer lib before start listener 2021-06-15 15:36:04 +02:00
William Yang 14057c033d feat(quic): support stop/start quic listeners. 2021-06-15 15:36:03 +02:00
William Yang 06f9674ce3 feat(quic): add quicer to application deps list. 2021-06-15 15:36:03 +02:00
William Yang 9570d01792 fix(quic): error handling for getstats.
- return {error, closed} instead
- quicer demo/3 branch.
2021-06-15 15:36:03 +02:00
William Yang 570e096b56 fix(quic): return empty list for dead 'Socket' 2021-06-15 15:36:03 +02:00
William Yang 087aa1dd53 feat(quic): handle stream close. 2021-06-15 15:36:03 +02:00
William Yang 70f22d2c1b feat(quic): reuse emqx_connection module for quic. 2021-06-15 15:36:03 +02:00
William Yang 899ba579fc feat(quic): compile and start quicer listener. 2021-06-15 15:36:03 +02:00
Zaiming Shi c84af95190 chore: ensure new env override prefix variable 2021-06-15 12:35:08 +02:00
Zaiming Shi 9a78f812e1 fix(emqx_resource): fix schema schema definition 2021-06-15 12:35:08 +02:00
Zaiming Shi bde5d11078 fix(hocon): call new schema definition functions 2021-06-15 12:35:07 +02:00
Zaiming Shi 909814a34d fix(hocon): pin hocon 0.5.1 2021-06-15 12:35:07 +02:00
zhanghongtong 8a368efb95 chore: move lib-ce to apps
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-06-15 17:31:54 +08:00
k32 06dd83c171
Merge pull request #4991 from k32/dev/rlog0
feat(rlog): Add RLOG to EMQX
2021-06-15 10:46:45 +02:00
zhanghongtong c94d4d9a28 chore(data bridge): comment example config
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-06-15 16:45:41 +08:00
k32 13803f9159 feat(rlog): Add RLOG to EMQX 2021-06-14 15:05:36 +02:00
zhanghongtong 496d30be6a chore(appup): add appup for plugin libs 2021-06-11 11:33:57 +08:00
tigercl 55cf74f23a
Merge pull request #4844 from tigercl/feat/new-authentication
feat(new authentication): implement new auth design
2021-06-11 10:59:45 +08:00
zhouzb cbc5c64a16 chore(dialyzer): make code pass dialyzer 2021-06-10 16:18:50 +08:00
zhouzb bb62b44554 feat(auth): support bcrypt 2021-06-09 18:57:08 +08:00
zhouzb ae8be5d66f feat(authentication): add a 16-byte salt in front of the password before hashing 2021-06-09 16:53:40 +08:00
zhouzb d838206a56 chore(code): add type spec 2021-06-09 11:10:03 +08:00
zhouzb 2bfb7f74df fix(jwt): fix chain interruption 2021-06-09 10:36:06 +08:00
Shawn 1de2f5cb2f fix(emqx_data_bridge): update bridge failed 2021-06-08 21:46:52 +08:00
Shawn fdd0233103 feat(emqx_resource): update the demo.md 2021-06-08 21:46:52 +08:00
Shawn 65dc2f2be8 feat(emqx_resource): remove the schema sugar from parse transformed code 2021-06-08 21:46:52 +08:00
zhouzb 0c237bf797 feat(jwt): support based encoded secret 2021-06-08 15:56:13 +08:00
zhouzb f297c36929 feat(jwt auth): support JWT auth 2021-06-08 11:40:46 +08:00
Shawn 2f720f4a17 feat(emqx_data_bridge): add license headers 2021-06-07 22:15:23 +08:00
Shawn bdf6374414 fix(emqx_resource): disable the debug print for parse-transformed code 2021-06-07 22:11:05 +08:00
Shawn 149a54cef4 fix(emqx_resource): dialyzer issues 2021-06-07 22:08:21 +08:00
Shawn 3c1c457697 fix(emqx_resource): call to undefined function hocon:richmap_to_map/1 2021-06-07 21:54:17 +08:00
Shawn 16c0a5b80a fix(emqx_resource): merge conflict 2021-06-07 21:25:19 +08:00
Shawn a37b3957e3
Merge branch 'master' into emqx_connector 2021-06-07 21:12:00 +08:00
Shawn dddab31326 fix(emqx_data_bridge): resource type to bridge type 2021-06-07 20:01:28 +08:00
Shawn e9fe345ac8 fix(emqx_data_bridge): correct the format of HTTP responses 2021-06-07 19:52:08 +08:00
Shawn 4914b003ac feat(emqx_resource): update the unused APIs 2021-06-07 17:20:34 +08:00
Shawn 2ff92d2880 feat(emqx_data_bridge): add HTTP APIs for data bridge 2021-06-07 16:12:06 +08:00
Zaiming Shi 4ee6c82714 test(emqx_rule_engine_SUITE): delegate app start to ct-helper (2.0.0) 2021-06-07 09:09:28 +02:00
Zaiming Shi b92a6837d7 build(emqx): fix emqx standalone dialyzer 2021-06-07 09:09:28 +02:00
Zaiming Shi 7da34b80e5 chore(emqx): bump app version to 5.0.0 2021-06-07 09:09:28 +02:00
Zaiming Shi 13b7dcef4b chore(emqx): emqtt as test dependency 2021-06-07 09:09:28 +02:00
Zaiming Shi 045a944192 chore(ci): check emqx app standalone 2021-06-07 09:09:28 +02:00
Zaiming Shi 36e3675d54 test(emqx_listeners_SUITE): fix etc dir path 2021-06-07 09:09:28 +02:00
Zaiming Shi 311cb7b659 build: relocate BUILT_ON template 2021-06-07 09:09:28 +02:00
Zaiming Shi 1715b87dce chore: move root level src, test, include, priv and etc to apps/emqx 2021-06-07 09:09:28 +02:00
Zaiming (Stone) Shi 729e9697cd
Merge pull request #4943 from emqx/master
Auto-pull-request-on-2021-06-05
2021-06-07 09:05:42 +02:00
Zaiming Shi 536c2ddc0e test(emqx_sn): an attempt to fix flaky tests
Some flaky tests such as t_asleep_test06_to_awake_qos2_dl_msg
and t_asleep_test07_to_connected are likely due to test cases
interfering each other.
This changes the cases to use a unique client ID
2021-06-06 09:03:52 +02:00
Zaiming Shi b6b144fa31 test: expect unsupported_version for now 2021-06-05 15:04:11 +02:00
Zaiming Shi 5ccaff5a86 fix: app versions emqx_auth_jwt and emqx_sn 2021-06-05 13:21:59 +02:00
Zaiming (Stone) Shi 5dab6985c1
Merge branch 'dev/v5.0' into resolve-master-dev/v5.0-conflict-release-version 2021-06-05 11:51:02 +02:00
Zaiming Shi 5795bcca6a chore: fix app versions and check script 2021-06-05 11:09:13 +02:00
Shawn 4f451ee862 feat(emqx_resource): delete API generation from parse transfrom 2021-06-05 15:30:21 +08:00
Shawn f1552f4f4f feat(emqx_data_bridge): create emqx_data_bridge 2021-06-04 23:47:16 +08:00
Turtle f682bfe6e0 fix(api): fix ee call module api 404 2021-06-04 19:47:52 +08:00
Turtle 6f2407d5d9 fix(mqtt-sn): fix mqtt-sn test cases 2021-06-04 10:39:14 +08:00
JianBo He 72602df511
fix(svr): avoid crashed on undefined remote jwks server (#4916) 2021-06-03 14:16:58 +08:00
Shawn 9617b65d52 fix(dialyzer): incorrect function spec 2021-06-03 13:35:57 +08:00
Shawn 03519d7e61 fix(emqx_resource): HTTP APIs for emqx_resource not working 2021-06-03 13:35:57 +08:00
Turtle bfb02fe8c3 fix(mqtt-sn): fix clean session false reconnect topic-id badmatch 2021-06-03 10:08:05 +08:00
Shawn 3da62e59d6 fix(emqx_connector): the HTTP API for emqx_connector_mysql 2021-06-03 01:24:30 +08:00
Shawn bea5966ac8 fix(emqx_connector): remove unrelated files and add license headers 2021-06-02 19:10:24 +08:00
Shawn ebe1228b2c fix(emqx_connector): don't return error when stopping a non-existing pool 2021-06-02 18:41:48 +08:00
Shawn 49c5edce2e fix(emqx_connector): start emqx_connector_mysql failed 2021-06-02 17:28:47 +08:00
zhouzb 661f2de01e feat(authentication): require header in csv file and use new json format 2021-06-02 14:04:38 +08:00
zhouzb 443b83624c fix(webhook): fix bad ssl options 2021-06-02 09:31:28 +08:00
Shawn 5d52ce044d feat(emqx_resource): read and save configs from and to file 2021-06-02 01:58:32 +08:00
z8674558 9cb2facfe1 chore(emqx_resource): unify dependency hocon to root rebar.config 2021-06-01 21:05:04 +09:00
JianBo He 665a9d1dee fix(mgmt): return type conversion error 2021-06-01 17:24:53 +08:00
Turtle 5068678eea fix(mqtt-sn): fix clean session false reconnect topic-id badmatch 2021-06-01 16:22:37 +08:00
zhouzb 72c4696584 chore(newline): insert final newline 2021-06-01 16:11:28 +08:00
z8674558 a9efdaeacd fix(emqx_rule_engine_SUITE): use emqx_ct_helpers:read_schema_configs 2021-06-01 17:06:09 +09:00
Shawn e7ffa07a1a feat(emqx_connector): load connectors from emqx_connector.conf 2021-05-31 22:49:42 +08:00
k32 7dde77bb8a feat(emqx_management): Import content of the HTTP request
Fixes: #4063
2021-05-31 12:06:33 +02:00
Shawn f4bb589079 feat(emqx_mysql_connector): implement the on_query callback 2021-05-31 15:41:22 +08:00
Zaiming (Stone) Shi 913420588d
Merge branch 'dev/v5.0' into resolve-conflict-to-5.0 2021-05-31 09:17:21 +02:00
Shawn 6b33172095 feat(emqx_connector): add first emqx_connector for mysql 2021-05-31 15:14:07 +08:00
JianBo He 3a89b1f00b
chore(action): fix syntax error (#4885) 2021-05-31 15:08:52 +08:00
Rory Z 7040fb7835
Merge pull request #4893 from terry-xiaoyu/emqx_resource
feat(emqx_resource): add behaviour emqx_resource
2021-05-31 14:17:01 +08:00
Shawn 696d4a4e58 fix(emqx_resource): some dialyzer complaints 2021-05-31 12:14:25 +08:00
Shawn d7755df48b feat(emqx_resource): make with emqx 2021-05-31 10:51:27 +08:00
Turtle cf4cbc1677 fix(API): fix get used memory error 2021-05-29 11:42:50 +08:00
zhouzb 9d4af87eb7 feat(authentication): implement http api and change external apis 2021-05-29 09:58:27 +08:00
Shawn bc83bed7e8 feat(emqx_resource): add licence headers to source code files 2021-05-28 22:02:33 +08:00
Shawn 2a31c43e0d feat(emqx_resource): add behaviour emqx_resource 2021-05-28 21:43:54 +08:00
JianBo He 78cdfdf0df fix(exhook): change default value to CONTINUE 2021-05-28 19:28:03 +08:00
Turtle c02a9f0101 fix(appup): update appup 2021-05-27 13:55:07 +08:00
zhouzb 54106790c7 feat(authentication): add new apis 2021-05-27 10:19:38 +08:00
zhouzb c323113068 fix(authentication): fix unhook 2021-05-25 15:02:31 +08:00
zhouzb 3a96aa3db2 test(authentication): add test case and fix some errors 2021-05-25 15:00:34 +08:00
z8674558 31cbb7aa97 Merge branch 'master' of github.com:emqx/emqx into merge-master 2021-05-25 12:50:50 +09:00
Zaiming Shi 4ec1046160 fix: bad test case 2021-05-24 10:45:56 +02:00
Zaiming Shi 8443aa5e21 chore(typo): sepecial -> special 2021-05-24 10:45:56 +02:00
zhouzb c2f14c745b chore(app vsn): update app vsn 2021-05-24 11:38:32 +08:00
k32 1e562d4bc6 chore(rule_engine): Don't import alias/1 BIF
Fixes: #4847
2021-05-22 01:40:07 +02:00
Turtle e8790f6e11 fix(mqtt-sn): Fix stop due to keepAlive at sleep mode 2021-05-21 19:22:32 +08:00
zhouzb 4ad032f25e feat(new authentication): implement new auth design
- Implement auth chain
- Implement Mnesia auth service
- Support importing user credentials from JSON or CSV file to Mnesia
2021-05-21 18:10:33 +08:00
Zaiming Shi ce2739ef3d chore(emqx_management): update appup 2021-05-21 10:38:39 +02:00
Zaiming Shi 5fe395cee5 test: fix emqx_ctl printout test 2021-05-21 10:25:04 +02:00
Zaiming Shi 48c1d0983d chore(emqx_ctl): do not print application 2021-05-21 09:24:39 +02:00
Zaiming Shi c07fe0696b fix(appup): ensure version bump for emqx_management 2021-05-20 09:03:40 +02:00
JianBo He cace9341a0 test(auth-jwt): fix verify_claims not being covered 2021-05-19 10:56:35 +08:00
Shawn 4cd056cab5
fix(rule_engine): update status to false when refresh resource failed (#4821)
* fix(rule_engine): update status to false when refresh resource failed

* fix(dialyzer): ignore import_modules/1 created fun has no local return

* fix(appup): update appup for rule engine
2021-05-17 17:59:01 +08:00
Turtle a7d2f44a5b chore(optimize): optimize MGMT test cases 2021-05-17 14:28:17 +08:00
Szymon Skirgajłło f21ef50938 chore: add missing parameter in available variables 2021-05-17 13:15:04 +08:00
zhouzb 3984f8cd2f chore(log): update log content 2021-05-14 19:27:04 +08:00
zhouzb c6771a57b6 chore(update dep): update dep of ehttpc 2021-05-14 19:27:04 +08:00
Turtle 35c38e7d21 fix(lwm2m): fix check emqx-lwm2m version 2021-05-14 05:41:00 +09:00
Turtle 3e3819905d fix(import): fix import bridge mqtt test cases 2021-05-14 05:41:00 +09:00
JianBo He 7dd107a7cd chore(prom): update grafana templates 2021-05-14 05:41:00 +09:00
JianBo He 13257be6b6 chore(appup): supply the appup instructions 2021-05-14 05:41:00 +09:00
JianBo He 02d9740d14 feat(lwm2m): observe specified object lists 2021-05-14 05:41:00 +09:00
JianBo He 793c813d02 feat(delayed): record the delayed table size by emqx_stats
There are three indictors about delayed module:
- 'messages.delayed': shows the number of delayed msg received
- 'emqx_delayed_count': shows the delayed table size now
- 'emqx_delayed_max': shows the maximum size that the delayed table has reached
2021-05-14 05:41:00 +09:00
JianBo He d317d57f3f fix(metric): incr the messages.retained counter 2021-05-14 05:41:00 +09:00
wwhai 72e9453293 fix(mgmt): fix diylazer warning for function return (#4786) 2021-05-14 05:41:00 +09:00
Zaiming Shi 4577f6653c fix(emqx_rule_engine): add appup 2021-05-14 05:41:00 +09:00
Turtle a58357cfe3 feat(rule_engine): rule sql add null function 2021-05-14 05:41:00 +09:00
Turtle cc6f43aea7 fix(import): fix import bridge mqtt test cases 2021-05-14 05:41:00 +09:00
Turtle 6ba1a525e0 fix(lwm2m): fix check emqx-lwm2m version 2021-05-13 11:20:23 +08:00
Turtle 85937e0007 fix(import): fix import bridge mqtt test cases 2021-05-12 22:46:48 +08:00
JianBo He e0068f6ebe chore(prom): update grafana templates 2021-05-12 22:24:37 +08:00
JianBo He fcf046eec1 chore(appup): supply the appup instructions 2021-05-12 22:23:21 +08:00
JianBo He 36c7258337 feat(lwm2m): observe specified object lists 2021-05-12 22:23:21 +08:00
JianBo He 82330ffa00 feat(delayed): record the delayed table size by emqx_stats
There are three indictors about delayed module:
- 'messages.delayed': shows the number of delayed msg received
- 'emqx_delayed_count': shows the delayed table size now
- 'emqx_delayed_max': shows the maximum size that the delayed table has reached
2021-05-12 22:16:14 +08:00
JianBo He e7252eee81 fix(metric): incr the messages.retained counter 2021-05-12 22:16:14 +08:00
wwhai 09fb1461b7
fix(mgmt): fix diylazer warning for function return (#4786) 2021-05-12 22:13:26 +08:00
Zaiming Shi ded494f544 fix(emqx_rule_engine): add appup 2021-05-11 14:25:46 +02:00
Turtle 80ef076cee feat(rule_engine): rule sql add null function 2021-05-08 17:15:07 +08:00
Turtle c5aeeb3b40 fix(import): fix import bridge mqtt test cases 2021-05-08 15:28:26 +08:00
Zaiming (Stone) Shi 0d9a9fc966
Merge branch 'dev/v5.0' into resolve-conflict-master-to-v5.0 2021-05-07 08:43:26 +02:00
Zaiming Shi f68a89c9ba fix(auth-http): support content-type header env variable override 2021-05-07 10:14:19 +08:00
k32 7cd31028cb fix(dialyzer): Omit `value is unmatched` warning 2021-05-06 23:28:12 +08:00
Turtle 9dc1e162fa fix(sn): fix clean_session=false willmsgs not sent 2021-05-06 19:15:49 +08:00
Zaiming Shi b8e271a588 chore: add more info in test log 2021-05-06 11:03:02 +02:00
Zaiming Shi d904a1048b Merge remote-tracking branch 'origin/master' into merge-master-to-dev/v5.0 2021-04-30 15:09:31 +02:00
wwhai a9b674c587 fix(deps): fix ee430 problem when remove resources 2021-04-30 06:41:37 -05:00
Zaiming Shi 171933301a fix(dashboard): display full Erlang/OTP version 2021-04-30 12:26:59 +02:00
JianBo He 01696ce595 chore(coap): use ~0p to print peername 2021-04-30 15:32:04 +08:00
Shawn cb31d66bf2
Cache publishes before receiving the REGACK (#4695)
* refactor(emqx_sn): return new state from send_message

* fix(emqx_sn): send publish only after regack received
2021-04-30 15:31:34 +08:00
wwhai 54dc75ed79 fix(deps): fix function clause at apply_new_config 2021-04-28 20:39:16 +08:00
Zaiming Shi fbe15859f5 fix(emqx_rule_utils): http connectivity check ipv6 support 2021-04-28 10:43:36 +02:00
Zaiming Shi 078ca67268 test(emqx_auth_http): test ipv6 + hostname resolution 2021-04-28 10:43:36 +02:00
Zaiming Shi a37f47887a fix(ipv6): add ipv6_probe socket option only when supported
ipv6_probe is a socket option supported in EMQ's otp.git fork.
If the target hostname has a ipv6 DNS resolution, gen_tcp
tries to establish a connection on ipv6.
If it fails, then a fallback to default gen_tcp:connection
2021-04-28 10:43:36 +02:00
zhouzb d9c7c72612 feat(ipv6 probe): automatically probe whether it is IPv6 2021-04-28 10:43:36 +02:00
JianBo He 7ae06590de test(auth-mnesia): test the password_hash option 2021-04-27 21:10:33 +08:00
JianBo He d5abfd0caa fix(auth-mnesia): fix env name typos 2021-04-27 21:10:33 +08:00
wwhai 773b8eef2f fix(deps): increase time sleep 2021-04-27 21:04:24 +08:00
Shawn bea28d887c fix(rule_engine): refresh rules and then re-enable it 2021-04-27 15:45:25 +08:00
Shawn 6557b132a2 fix(rule_engine): only refresh enabled rules at bootup 2021-04-27 11:17:12 +08:00
Shawn 7198c018e2 fix(rule_engine): change the rule state when force enabled/disabled 2021-04-27 11:17:12 +08:00
Shawn 18688da0c1 fix(rule_engine): only auto re-enable the rule when it was force disabled 2021-04-27 11:17:12 +08:00
Shawn da81ab7988 fix(rule_engine): remove sleep before refresh rules 2021-04-27 11:17:12 +08:00
Shawn e3501acc02 fix(rule_engine): delete resource crashes when dependent rule exists 2021-04-27 11:17:12 +08:00
Shawn 3646e76a7a fix(rule_engine): re-enable rules after resource started 2021-04-27 11:17:12 +08:00
Shawn 9fd43ef882 fix(rule_engine): reformat some code for dependent rules discovery 2021-04-27 11:17:12 +08:00
Ertan Deniz 07d5c0f9df feat(exhook): add ssl cert info to ClientInfo 2021-04-27 09:20:38 +08:00
JianBo He 910449e67b fix(exhook): allow certificate options absent 2021-04-26 20:27:17 +08:00
Zaiming Shi b97b36d077 test(emqx_coap): publish to non-wildcard topic 2021-04-26 14:18:40 +02:00
DDDHuang 29592fe1b4
Fix rule engine build fail (#4673)
* fix: add rule engine resources time
2021-04-26 15:32:54 +08:00
Shawn dc95c1476a fix(emqx_sn): willmsgs not sent 2021-04-25 09:45:16 +08:00
Zaiming Shi d61b100cc9 chore: more copyright updates 2021-04-23 20:43:00 +02:00
Zaiming Shi 6354e75626 chore: update copyrights 2021-04-23 20:43:00 +02:00
DDDHuang 4178e1a023 fix: disable rule if build fail 2021-04-22 14:46:28 +08:00
Shawn 19a9bab3a4 feat(rule_engine): add rule sql functions for datetime rfc3339 2021-04-22 10:32:44 +08:00
wwhai 73e563c883 test(mgmt): remove macro switch 2021-04-21 09:35:04 +08:00
Zaiming Shi 2ffa71abde test(emqx_bridge_mqtt): fix race condition 2021-04-20 23:17:39 +02:00
Zaiming Shi 186dfd04a7 test(webhook): ignore messages from other clients 2021-04-20 18:29:50 +02:00
Zaiming Shi e59eacb891 test(webhook): test ipv6 for real 2021-04-20 08:13:23 +02:00
zhanghongtong daa3d70ec3 chore(tests): delete enterprise json file 2021-04-19 19:07:49 +08:00
Zaiming Shi 97f2e5d544 test(auth_http): test unset acl_req app env 2021-04-19 08:39:26 +02:00
Zaiming Shi 8eed34c939 chore(auth_http): fix typo 2021-04-19 08:39:26 +02:00
Zaiming Shi e02eb5f939 docs(auth_http): Update config doc 2021-04-19 08:39:26 +02:00
zhanghongtong 8ef4df4592 chore(web hook): fix tests error 2021-04-16 23:27:20 +08:00
zhouzb 3ae8bae9f3 feat(uri): update urldecode/1 2021-04-16 20:19:45 +08:00
Turtle 5009ec0c34 fix(tests): fix ee import auth mnesia fail 2021-04-16 19:47:49 +08:00
Shawn 5896e90235 fix(export): Mod:call/3 not exported 2021-04-16 18:44:28 +08:00
Karol Kaczmarek 7b5422dbae feat: cluster info available in metrics 2021-04-16 11:28:35 +02:00
tigercl 1a630a308a
fix(backup): support minimum version number when import (#4582) 2021-04-16 15:51:36 +08:00
Shawn a09434acd2 fix(emqx_sn): dialyzer problems 2021-04-16 14:04:34 +08:00
Shawn 98edbc39af fix(emqx_sn): race_condition when discarding 2021-04-16 12:38:13 +08:00
zhanghongtong 53992ba138 chore(tests): fix tests error for web hook 2021-04-15 23:07:00 +08:00
zhanghongtong 0090295a17 chore(tests): fix import and export test cases for auth mnesia 2021-04-15 23:05:12 +08:00
wwhai b48c437f97 test(mgmt): add data im/export tests for EE 2021-04-15 21:59:37 +08:00
JianBo He 50f6ff4151 test(proper): avoid to generate any term 2021-04-15 21:49:25 +08:00
JianBo He 36663b9cb1 test(exhook): add tests for exhook cli 2021-04-15 21:48:32 +08:00
JianBo He 6710a508df fix(exhook): correct the exhook server anme 2021-04-15 21:48:32 +08:00
JianBo He 373532f9e4 fix(exhook): fix the match pattern 2021-04-15 21:48:32 +08:00
zhouzb 9bedd1bb4f chore(ehttpc): update tag of ehttpc 2021-04-15 21:47:20 +08:00
Shawn 45626bf96d fix(emqx_coap): return unauthorized when username/password error 2021-04-15 21:47:00 +08:00
JianBo He 9f088bcb7f test(proper): test message hooks 2021-04-15 11:07:55 +08:00
JianBo He b7a8884d4a chore(exhook): add a comment to bool type 2021-04-15 11:07:55 +08:00
zhanghongtong eda783efd0 chore: delete needless ct print 2021-04-14 23:06:34 +08:00
JianBo He c413af5c35 test(proper): track to the lastest code
- use limited atom type
- keep webhook confs testing to lastest schema
2021-04-14 19:38:56 +08:00
JianBo He 1d241bc39c fix(webhook): convert atom to binary to avoid jiffy encoding failure 2021-04-14 19:38:56 +08:00
k32 9ead5c8cfd chore(test): fix shutting down of applications in web hooks suite 2021-04-14 19:18:35 +08:00
k32 8304a96e1d fix(emqx_management): Don't fix broken emqx_auth_mnesia data 2021-04-14 19:18:35 +08:00
Zaiming (Stone) Shi 24fdd7aef5
Merge pull request #4526 from zmstone/fix-mqtt-bridge-retry
fix(emqx_bridge_mqtt): fix retry_inflight
2021-04-13 12:04:14 +02:00
zhanghongtong be36e51f6e feat(redis): redis sentinel support ssl connect 2021-04-13 14:42:08 +08:00
JianBo He 658ed81cfa fix(exhook): fix bad variable name 2021-04-13 10:28:07 +08:00
JianBo He da80343108 fix(exhook): fix module name to emqx_exhook_handler 2021-04-13 10:28:07 +08:00
wwhai 8a6f26d170 test(mgmt): remove unused ct log 2021-04-13 09:54:49 +08:00
z8674558 b0c3c713b5 Merge branch 'master' of github.com:emqx/emqx into merge-master-to-v5 2021-04-13 00:09:17 +09:00
JianBo He 16c999ed9b
Start emqx-modules application by default (#4518)
* fix(modules): start emqx_modules by default

* chore(test): eliminate some compile warnings
2021-04-12 09:45:31 +08:00
Shawn b5edba7729 fix(rule_engine): load hooks to all the nodes in cluster 2021-04-12 09:41:28 +08:00
Shawn f8fbd3e3db fix(lwm2m): decode/encode data as signed integer 2021-04-12 09:34:49 +08:00
wwhai 765d84ef48
test(mgmt): add data import tests (#4481) 2021-04-12 09:06:22 +08:00
zhouzb a712606121 fix(http api): fix badarg caused by acl cache api 2021-04-12 09:05:49 +08:00
Zaiming Shi d8e410e770 fix(emqx_rule_engine): missing calls
some calls are for enterprise only
2021-04-11 22:55:39 +02:00
Zaiming Shi d66f67d411 fix(emqx_bridge_mqtt): fix retry_inflight
The Inflight list should not be used to update State.inflight
2021-04-10 14:16:08 +02:00
Shawn 327b0c0995 fix(mqtt_sn): send pingresp until all pubacks received 2021-04-10 09:36:56 +08:00
Zaiming Shi e4242814f6 fix(emqx_bridge_worker_SUITE): ensure snabbkaffe start stop 2021-04-09 10:18:25 +02:00
Zaiming Shi ae9278a409 fix(bridge_mqtt): push to max-inflight limit
the old pop_and_send implementation may leave inflight queue starving
2021-04-09 10:18:25 +02:00
Zaiming Shi ae688e2c90 fix(bridge_mqtt): fix inflight reference booking
Prior to this change, the inflight batches are referenced
by the last packet ID for non-QoS-0 messages, other packet
IDs sent back from downstream causes an error log:
"Can't be found from the inflight"

Even worse, the batch is appended back to the queue for retry.
2021-04-09 10:18:25 +02:00
Shawn 2b8c1efd1d fix(mqtt_sn): refactor the log using logger.hrl 2021-04-09 16:02:29 +08:00
Shawn 6c57da31cb fix(mqtt_sn): update the testcase for disconn in awake state 2021-04-09 16:02:29 +08:00
Shawn e63b47bd7a fix(mqtt_sn): remove the shutdown/2,3 2021-04-09 16:02:29 +08:00
Shawn b8cb930c89 fix(mqtt_sn): handle disconnect msg in asleep state 2021-04-09 16:02:29 +08:00
Shawn a925395814 fix(mqtt_sn): reformat some code 2021-04-09 16:02:29 +08:00
k32 df3565e23d fix(emqx_management): Import ACLs from the enterprise version 2021-04-08 18:15:43 +08:00
k32 664b9c79fc fix(emqx_management): Add clientid data to the migration suite 2021-04-08 18:15:43 +08:00
Zaiming Shi b3b821e8c4 fix(flase): false 2021-04-08 00:34:43 +02:00
Zaiming Shi a914b191b6 chore(build): Pin poolboy 1.5.2
mongodb-erlang uses a special fork:
https://github.com/comtihon/poolboy.git
(which has overflow_ttl feature added).
However, it references `{branch, "master}`
should be `{ref, "9c06a9a"}` (2021-04-07).
By accident, We have always been using the upstream fork due to
eredis_cluster's dependency getting resolved earlier.
Here we pin 1.5.2 to avoid surprises in the future.
2021-04-08 00:02:27 +02:00
z8674558 490e6198ba fix(apps): typos on schema 2021-04-07 20:51:30 +09:00
z8674558 971e6ca90e Merge branch 'master' of github.com:emqx/emqx into merge-master-to-v5 2021-04-07 20:29:08 +09:00
zhanghongtong d1284cdcbb chore(mgmt import cases): import cases support enterprise 2021-04-07 18:40:42 +08:00
JianBo He 61c677423e test(coap): take a nap for cast operation 2021-04-07 10:48:05 +08:00
zhanghongtong ada36f5d23 chore(mgmt export): use new create time in export data 2021-04-07 10:35:08 +08:00
k32 d54643e9e1
Merge pull request #4453 from k32/fix-auth-mnesia
fix(emqx_auth_mnesia): add missing combinations of permissions
2021-04-06 21:37:50 +02:00
zhanghongtong 15627643e2 chore(mgmt): delete assert in emqx_mgmt_cli 2021-04-06 16:35:44 +08:00
zhanghongtong 0015520a6a chore(mgmt): fix test case failure caused by slow kick 2021-04-06 15:41:59 +08:00
JianBo He cff21ba16e fix(mgmt): exclude telemetry related lines from enterprise 2021-04-06 13:22:23 +08:00
JianBo He bb2033be13 refactor(exhook): remove hook registray 2021-04-06 11:22:30 +08:00
k32 017a07617d fix(emqx_auth_mnesia): Add tests for migrating pubsub access 2021-04-01 18:01:34 +02:00
zhanghongtong ffbc11aeef chore(lua_hook): fix test error for lua_hook 2021-04-01 22:56:21 +08:00
k32 61ad5d718f fix(emqx_acl_mnesia): split pubsub into two different capabilities 2021-04-01 15:08:10 +02:00
zhanghongtong 5e0dfe250d chore: move emqx_telemetry from apps to lib-ce 2021-04-01 14:05:03 +02:00
k32 2c029c0607 fix(emqx_management): Allow to specify credential type during import 2021-03-31 14:45:11 +02:00
k32 830cdffe16 fix(emqx_auth_mnesia): add missing combinations of permissions
Allow to define different access for pub and sub actions
2021-03-31 10:30:08 +02:00
Shawn d19eb05234 fix(emqx_coap): dialyzer failures 2021-03-31 11:23:03 +08:00
Shawn 83b0d444de fix(emqx_coap): return error code forbidden on ACL denied #4456 2021-03-31 11:23:03 +08:00
Shawn 7bf6ee0f4b
fix(mqtt-sn): sleep mode not working #4434 (#4435) 2021-03-29 17:51:49 +08:00
Shawn 583382b8ce refactor(emqx_coap): rename ps to pubsub 2021-03-29 17:43:56 +08:00
wwhai abf26f01d8 fix(mgmt): expose 2 functions to ce 2021-03-25 18:53:17 +08:00
JianBo He 496e5381fb chore(rule-engine): compatible with the lower case hash string 2021-03-25 09:10:05 +08:00
wwhai 3ea8039d90 fix(import): fix import error 2021-03-23 21:57:39 +08:00
wwhai 83b99c09a4 fix(import): add bridge_mqtt compatible <4.2.x 2021-03-23 20:22:22 +08:00
JianBo He f08ddec296
Add server_name_indication and verify option (#4349)
Add server_name_indication and verify option
2021-03-23 19:48:04 +08:00
JianBo He 277cab86d3 refactor: improve the speed of hexstr and binary conversions 2021-03-23 18:25:19 +08:00
Zaiming Shi dcfde3861f feat(ssl): Export a lib function to save key/cert file 2021-03-22 21:15:34 +01:00
Zaiming Shi 5b126d60ad style(elvis): force spaces around | and || 2021-03-22 21:15:16 +01:00
Zaiming Shi 71559dd001 refactor(ssl): Move data dir for ssl certs upload down to lib module 2021-03-22 16:41:01 +01:00
Zaiming Shi 8a41a4ee00 fix(ssl): Fix dir name for uploaded certificates
The dir is "rules" not "rule" in the original code
ref: f1eba1c648/src/emqx_rule_actions_utils.erl
2021-03-22 16:41:01 +01:00
Shawn 817abd7e93 fix(lwm2m): export functions for starting and stopping listeners 2021-03-22 21:13:56 +08:00
Karol Kaczmarek 844a1ba0af feat(acl): cache drain cr fixes 2021-03-20 15:21:31 +01:00
Karol Kaczmarek 87ce9d666f feat(acl): working cache drain cli/rest handlers 2021-03-20 15:21:31 +01:00
Karol Kaczmarek 71a0901c92 feat(acl): CLI and REST handlers for removing acl cache 2021-03-20 15:21:31 +01:00
zhanghongtong 99843e7b4b chore(auth plugins): remove emqx_modules in test case 2021-03-20 09:33:15 +08:00
zhanghongtong beac1f5f59 fix(test cases): fix test case error
ensure emqx_modues loaded before emqx_management in test cases
2021-03-19 17:02:06 +01:00
wwhai 3f2204fb5c fix(backup): add compatible for more lower version 2021-03-19 16:24:13 +08:00
wwhai 109b2f4e90 fix(backup): fix data import/export problem 2021-03-19 16:24:13 +08:00
Karol Kaczmarek 796c071af5 style(api): proplists imports removed 2021-03-19 09:20:25 +08:00
Karol Kaczmarek ea384ec6b5 style(api): minirest imports removed 2021-03-19 09:20:25 +08:00
wwhai 0d75ea874b fix(rule-engine): add 'undefined' type for create time 2021-03-19 08:57:19 +08:00
Zaiming Shi a5f0ed0356 fix(test): Ensure emqx_modules loaded for emqx_management test 2021-03-17 11:46:45 +01:00
zhanghongtong 7a1993f13b chore(auth-mnesia): update cli 2021-03-17 16:29:44 +08:00
Zaiming Shi a1f78b5083 refactor(cli): Print node name version and app name version
So not to confuse application version with node release version
2021-03-16 11:26:17 +01:00
zhanghongtong 98c62df2e4 fix(log): fix web hook print error 2021-03-16 10:22:07 +01:00
Zaiming Shi 3438a0ebca fix(telemetry): get release version, not emqx app version 2021-03-15 16:10:56 +08:00
wwhai f7b34cb098 feat(rule-engine): list rule support order by timestrap 2021-03-12 17:35:13 +08:00
Zaiming Shi 6c106207ff
Merge pull request #4293 from emqx/master
Auto-pull-request-on-2021-03-05
2021-03-10 20:57:45 +01:00
wwhai 1ddb300a56
feat(mgmt): add http listener restart support (#4301) 2021-03-10 17:29:37 +01:00
JianBo He 6bf15c6a2f chore(exhook): deinit registray after application stopped 2021-03-09 11:37:30 +08:00
JianBo He ebffdafe86 fix(exproto): ignore undefined clientid 2021-03-09 11:37:30 +08:00
JianBo He f9d5d3523d chore(exhook): add more option for protobuff 2021-03-09 11:37:30 +08:00
JianBo He 0d8c137cb5 refactor(exhook): load only the necessary hooks 2021-03-09 11:37:30 +08:00
JianBo He 4585306774 chore(exhook): upgrade to 0.6.2 2021-03-09 11:37:30 +08:00
Zaiming Shi c752f3bec5
Refactor http lib add uri parse (#4292)
* feat(http_lib): Add uri parse to emqx_http_lib

* fix(webhook): call emqx_http_lib to parse uri

* fix(auth-http): Call emqx_http_lib to parse uri

* fix(rule-engine): call emqx_http_lib to parse uri
2021-03-06 13:35:02 +08:00
z8674558 efd4ef8091 Merge branch 'dev/v5.0' of private:emqx/emqx into fix-merge-conflict-master-to-5.0 2021-03-04 22:12:09 +09:00
Zaiming Shi 63c001a7aa refactor(http-lib): Add emqx_http_lib
So far only uri_encode and uri_decode APIs
2021-03-03 21:38:10 +01:00
Zaiming Shi eb03c343bc fix(mgmt): Wrong ifdef EMQX_ENTERPRISE compile scope 2021-03-03 19:06:12 +01:00
Zaiming Shi a368453768 fix(mgmt): typo in ifdef macro 2021-03-03 15:15:33 +01:00
z8674558 119bbc4881 chore(emqx_bridge_msg): add empty props 2021-03-03 20:06:31 +09:00
z8674558 71ca1e4d78 chore(emqx_lwm2m_coap_resource): ignore coap_discover/2 from dialyzer 2021-03-03 20:06:31 +09:00
z8674558 117c0cf252 chore(emqx_lwm2m_message): pass integer from list 2021-03-03 20:06:31 +09:00
z8674558 7edd66e9d6 chore(emqx_lwm2m_message): comment out unused clause 2021-03-03 20:06:31 +09:00
z8674558 467569d5ac chore(emqx_lwm2m_protocol): rm unused clause 2021-03-03 20:06:31 +09:00
z8674558 43fc842057 chore(emqx_lwm2m_protocol): default username, password is null -> undefined 2021-03-03 20:06:31 +09:00
z8674558 1f238f4c26 chore(emqx_retainer): avoid race condition 2021-03-03 20:06:31 +09:00
z8674558 70625b1942 chore(emqx_sn_gateway): rm unused clauses 2021-03-03 20:06:31 +09:00
z8674558 1504164933 chore(src): fix dialyzer warnings (match values) 2021-03-03 20:06:31 +09:00
Zaiming Shi 2c5f2a8cdc
Merge pull request #4269 from zmstone/chore-replayq-upgrade-to-0.3.2
chore(deps): upgrade replayq to version 0.3.2
2021-03-03 06:19:52 +01:00
Zaiming Shi 8316f8cc34 fix(rule-engin-api): transform input config for update requests 2021-03-03 09:19:07 +08:00
Zaiming Shi e3407b9556 chore(build): fix rebar dependency and add a script to ensure integrity 2021-03-02 20:30:55 +01:00
JianBo He 2fb5dbd546 revert(bridge-mqtt): remove the mqtt_sub resource
We have several reasons to remove this feature:

1. The design does not make sense. A rule engine resource should
not have an impact on the system's messages directly after it is created.
This mqtt_sub actually conflicts with any design concept of the rules engine.

2. The implementation is incorrect. mqtt_sub uses a client pool to establish
a subscription relationship to an MQTT Broker. This causes a message to be
sent repeatedly to EMQ X. Unless a shared subscription is used,
or a Pool Size of 1 is configured.

3. The emqx-bridge-mqtt supports all the features of mqtt_sub.

This feature introduced by https://github.com/emqx/emqx-bridge-mqtt/pull/78.
And it released to v4.2.0 (NOT WORK), v4.2.1-v4.2.7 (FIXED)
2021-03-02 18:56:21 +08:00
zhanghongtong db92f79713 chore(emqx_modules): add emqx_modules api path 2021-03-02 18:47:09 +08:00
JianBo He 8477780e2b fix(mgmt): remove the useless match
Currently, the `{topic, Topic}` pattern is not used for management.
Moreover it will casue a `function_caluse` while the previous caluse not
matched
2021-03-02 17:06:34 +08:00
JianBo He 9076af1c06 chore(coap): upgrade gen_coap to v0.3.2
The 0.3.2 fixes some redundant log printing in a DTLS
connection
2021-03-02 16:31:18 +08:00
z8674558 2e199126dc fix(emqx_bridge_mqtt_actions): string -> file 2021-03-02 15:00:42 +09:00
z8674558 829a39eade fix(emqx_bridge_mqtt_actions): string -> password 2021-03-02 15:00:42 +09:00
zhanghongtong f548888af9 chore(emqx_management): judge the version for import and export acl mnesia and auth mnesia 2021-03-02 09:35:47 +08:00
zhanghongtong b53bdd1450 chore(emqx_management): remove emqx_modules dependency on emqx_management 2021-03-02 09:35:47 +08:00
zhanghongtong 28653bb457 chore(emqx_management): format code 2021-03-02 09:35:47 +08:00
zhanghongtong baa9fd8255 chore(emqx_management): move emqx management to apps 2021-03-02 09:35:47 +08:00
Zaiming Shi dd06d70bce refactor(build): Move parse_transform module to root app
So we do not have to workaround the compile order issue
2021-03-02 08:40:19 +08:00
Zaiming Shi 5edef84332
Merge branch 'dev/v5.0' into fix-merge-conflict-master-to-5.0 2021-03-01 19:58:16 +01:00