Commit Graph

878 Commits

Author SHA1 Message Date
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
Shawn
990b7bd494 fix(bridge_mqtt): typos 2021-03-01 21:00:17 +08:00
Zaiming Shi
16c27663cd refactor(webhook): transport options refine 2021-03-01 21:00:17 +08:00
Turtle
801b3d6daf style: remove spaces at the end of lines 2021-03-01 21:00:17 +08:00
Turtle
db13f18cbe fix(webhook): transport options 2021-03-01 21:00:17 +08:00
Zaiming Shi
026e1494fb fix(webhook): fix config entry web.hook.api.url -> web.hook.url 2021-03-01 21:00:17 +08:00
JianBo He
319d44d1bf chore(webhook): remove needless files 2021-03-01 21:00:17 +08:00
Zaiming Shi
4aca2c294f fix(webhook): transport options 2021-03-01 21:00:17 +08:00
Zaiming Shi
675603fd73 fix(bridge-mqtt): no ssl-option at all (empty list) when ssl is disabled 2021-03-01 21:00:17 +08:00
Zaiming Shi
0a51bd4c2f fix(webhook): Call common lib for ssl options 2021-03-01 21:00:17 +08:00
Zaiming Shi
700fa71754 refactor(tls): abstract lib for tls options parsing 2021-03-01 21:00:17 +08:00
Zaiming Shi
812c57dee9 refactor(plubin_libs): Add emqx_plugin_libs app 2021-03-01 21:00:17 +08:00
Zaiming Shi
da6f1104dc chore(bridge-mqtt): sync enterprise code 2021-03-01 21:00:17 +08:00
Zaiming Shi
219eeed6d7 fix(webhook): Explicit default tls version and cipher 2021-03-01 21:00:17 +08:00
Zaiming Shi
fcfcbf139d chore(webhook): merge enterprise to opensource 2021-03-01 21:00:17 +08:00
Shawn
6081d45d81
fix(rule): reformat some code
* fix(rule): reformat some code for rule-engine

* fix(lwm2m): change publish_update_when to publish_update_msg_when

Change the option name publish_update_when -> publish_update_msg_when.

Also change the object_list_changed to contains_object_list, as the
the later describes the default behavior correctly.

* fix(lwm2m): publish_update_msg_when -> update_msg_publish_condition
2021-03-01 20:15:12 +08:00
Zaiming Shi
d8ad7a0edb chore(emqx_exhook): Ensure semver app vsn 2021-02-26 20:58:38 +01:00
z8674558
3e9abbe95a chore(emqx_exproto): tell dialyzer exit functions do not return 2021-02-24 21:32:48 +09:00
z8674558
a6b5e0707d chore(emqx_exproto): match emqx_misc:tune_heap_size 2021-02-24 21:32:48 +09:00
z8674558
02a755fbea chore(emqx_exproto): fix dialyzer warinings on default_conninfo 2021-02-24 21:32:48 +09:00
z8674558
fb8133b998 chore(emqx_auth_http): match emqx:hook with ok 2021-02-24 21:32:48 +09:00
Zaiming Shi
23269c13bc
Merge pull request #4229 from emqx/master
Auto-pull-request-on-2021-02-23
2021-02-24 09:57:51 +01:00
Shawn
6d83bc3e9b
fix(rule): destroy the actions when disabling the rule (#4232)
Merge the following PR from enterprise version:
https://github.com/emqx/emqx-rule-engine/pull/231
2021-02-24 13:24:23 +08:00
Zaiming Shi
13e8093583 Merge remote-tracking branch 'origin/dev/v4.3.0' into merge-dev-v4.3.0 2021-02-22 21:08:08 +01:00
Zaiming Shi
1b0b742919
Merge pull request #4163 from tigercl/fix/telemetry
fix(telemtry): report only in official version
2021-02-22 21:01:32 +01:00
Zaiming Shi
db72b6ae26
Merge pull request #4221 from zmstone/chore-build-move-emqx-telemetry-back-to-apps
chore(build): move emqx-telemetry back to apps
2021-02-22 20:59:48 +01:00
Zaiming Shi
61c5069766 chore(build): Move emqx_telemetry back to apps 2021-02-22 20:29:27 +01:00
Zaiming Shi
d7540dc794
Merge pull request #4216 from terry-xiaoyu/enterprise-dev/e4.3.0
chore(rule): migrate rule-engine from enterprise version
2021-02-22 20:27:28 +01:00
Zaiming Shi
505ae24ded
Merge branch 'dev/v5.0' into resolve-dev/v4.3.0-to-dev/v5.0-conflict 2021-02-22 15:20:34 +01:00
Shawn
e201484163 fix(rule): incorrect merge for map_get/2,3 and map_put/3 2021-02-22 18:16:24 +08:00
JianBo He
2c9ea3c29e chore(jwt): clearer explanation for verify_claims 2021-02-22 13:58:16 +08:00
Shawn
196fef0255 chore(rule): migrate rule-engine from enterprise version 2021-02-22 13:53:51 +08:00
Shawn
7778cd8623
Add hooks only when creating the rules (#4160)
* refactor(rules): add hook only when creating rules

* fix(rule): update hooks after application restarted

* fix(rule): remove the extra guard
2021-02-22 11:16:47 +08:00
Shawn
1be62b7cbb
feat(lwm2m): always publish update message (#4201)
* feat(lwm2m): always publish update message

* fix(lwm2m): change the publish_update_when to enum
2021-02-20 17:14:14 +08:00
Shawn
1e047e84c2
feat(resource): keep restart disconnected resources after emqx bootup (#4125)
* feat(resource): keep restart disconnected resources after emqx bootup

* feat(resource): improve the restart monitor

* fix(test): improve emqx_rule_monitor_SUITE

* fix(resource): refresh resource should be only applied on local node

* fix(test): improve the test case for restart_resource

* fix(resource): rename some functions
2021-02-20 17:10:50 +08:00
Shawn
c2e1bc039b
feat(rule): add more sql functions #4143 (#4144) 2021-02-20 17:10:10 +08:00
Zaiming Shi
c2cd2fd231 Merge remote-tracking branch 'origin/dev/v4.3.0' into dev/v5.0 2021-02-19 21:13:33 +01:00
Zaiming Shi
4a877a3a69 chore(apps): relocate some apps
emqx_telemetry is for opensource onlyh
emqx_rule_engiune is common
2021-02-19 11:24:41 +01:00
Zaiming Shi
3dfa9f45c4
Merge pull request #4183 from zmstone/merge-e4.2.4-to-dev-4.3.0
Merge e4.2.4 to dev 4.3.0
2021-02-19 10:26:47 +01:00
Zaiming Shi
3353a2f402
Merge pull request #4206 from z8674558/fix-dialyzer
fix dialyzer warnings
2021-02-19 09:57:14 +01:00
z8674558
5a960fdabc chore(emqx_auth_mnesia): fix dialyzer warnings (match returned values) 2021-02-19 16:52:38 +09:00
z8674558
91d00b2586 chore(emqx_auth_mnesia): fix dialyzer warnings (return error tuple to minirest) 2021-02-19 16:52:38 +09:00
z8674558
e341387837 chore(emqx_auth_mnesia): fix dialyzer warnings (do_update_user only receives Login and NewPassword)' 2021-02-19 16:52:31 +09:00
z8674558
706e272410 chore(emqx_auth_http): fix dialyzer warnings (match returned values) 2021-02-19 16:23:18 +09:00
Zaiming Shi
64cfaf4385 improve(print): io:format error message without indentation
Avoid squeezing lines to the right.
2021-02-19 07:45:37 +01:00
Zaiming Shi
f9465dda16 Merge branch 'dev/v4.3.0' into merge-e4.2.4-to-dev-4.3.0 2021-02-14 21:41:23 +01:00
Zaiming Shi
9b82112b7c Merge remote-tracking branch 'origin/dev/e4.3.0' into merge-e4.2.4-to-dev-4.3.0 2021-02-13 11:10:08 +01:00
Zaiming Shi
3863b7f116 fix(config): Quote config string values 2021-02-12 11:16:45 +01:00
Zaiming Shi
d11487268e Merge remote-tracking branch 'origin/dev/v4.3.0' into resolve-conflict-v4.3.0-to-v5.0 2021-02-12 10:36:16 +01:00
Zaiming Shi
8f477e8411 refactor(proj): Move opensource apps to lib-opensource
One step closer for better code abstraction for opensorce vs enterprise
So far this relocation is to make opensource to enterprise merges
conflict free.
2021-02-11 16:45:05 +01:00
Zaiming Shi
507759b9f1 Revert "refactor(emqx_modules): Move modules config to app dir"
This reverts commit 9cae8784c0.
Because the reverted change broke compatibility with 4.2.x
configuration.
2021-02-11 16:44:12 +01:00
JianBo He
2b4906b47d
Merge branch 'dev/v4.3.0' into unify_pgsql_conf 2021-02-11 15:50:43 +08:00
Zaiming Shi
514c2c0af5
Merge pull request #4169 from zmstone/refactor-move-modules-config-to-emqx-modules-app
refactor(emqx_modules): Move modules config to app dir
2021-02-10 09:03:04 +01:00
Zaiming Shi
9cae8784c0 refactor(emqx_modules): Move modules config to app dir 2021-02-10 00:02:52 +01:00
Zaiming Shi
f000b6583c fix(tls): Ensure tls config integrity
For default tsl version and ciphers, we try to use otp release number
to determin if we want to use tlsv1.3

For default configs, we try to porivde both tlsv1.3 and
ciphers in config (even for commented out configs)
2021-02-09 22:56:28 +01:00
Zaiming Shi
2fa1d9d10b
Merge pull request #4168 from emqx/dev/v4.3.0
Auto-pull-request-on-2021-02-09
2021-02-09 21:28:09 +01:00
Zaiming Shi
4756eb7e5f
Merge branch 'dev/v5.0' into v4.3.0-to-v5.0-resolve-tls-config-conflicts 2021-02-09 09:37:19 +01:00
zhouzb
353ceafbb6 fix(telemtry): report only in official version 2021-02-09 10:46:48 +08:00
Zaiming Shi
e4d3702f15 feat(apps): Ensure emqx_modules started before dependent apps
emqx_management and emqx_telemetry calls emqx_modules APIs
2021-02-08 22:07:13 +01:00
Zaiming Shi
7aff861f9b refactor(emqx_modules): Move emqx_modules to lib-opensource
emqx_moduels for enterprise is refactored as a lib/plugin
in order to avoid merge conflicts, we make sure they can
co-exist in the same branch, because lib-opensource is compiled
in opensource project and lib-enterprise (to be added) is
compiled in enterprise project
2021-02-08 21:35:44 +01:00
Zaiming Shi
7c94a02bdd
Merge pull request #4134 from jovdipp/tlsv1.3-as-default
Tlsv1.3 as default
2021-02-05 21:33:03 +01:00
Shawn
70a490114d fix(rulesql): proc cassandra cql with apostrophes failed 2021-02-05 15:30:16 +08:00
Jóvan S. Dippenaar
90c02f1116 test(emqx_exporto): refactored ssl ciphers call for ct_helpers update 2021-02-05 16:21:28 +13:00
Jóvan S. Dippenaar
5e15e3add8 fix(default-config-tls-ciphers): TLS1.3 exclusive ciphers prepended to TLS1.1+TLS1.2 ciphers 2021-02-05 16:21:28 +13:00
Shawn
a2fa84255f
fix(rulesql): proc_sql_param_str incorrect with apostrophes #4135 (#4137) 2021-02-05 10:41:54 +08:00
Zaiming Shi
55253f914c
Merge pull request #4149 from emqx/dev/v4.3.0
Auto-pull-request-on-2021-02-04
2021-02-04 23:17:10 +01:00
wwhai
c30666ee26
fix(rule-engine): remove plugin_template (#4146)
chore(build): remove template plugin

The template plugin is intended to work as a standalone plugin
development template repo. Should not be in the umbrella
project.
2021-02-04 10:01:37 +01:00
JianBo He
c3642c5c83 refactor(pgsql): set the default ssl version to tlsv1.3,tlsv1.2,tlsv1.1 2021-02-04 15:32:08 +08:00
JianBo He
045bc02ec9 test(ci): add proptests chekcing to the makefile 2021-02-04 14:22:17 +08:00
Zaiming Shi
3e1b6394f2
Merge pull request #4131 from emqx/dev/v4.3.0
Auto-pull-request-on-2021-02-01
2021-02-02 20:05:43 +01:00
wwhai
6eff70a646
fix(rule-engine): reply 500 when update resource failed (#4120) 2021-02-01 09:47:08 +08:00