Commit Graph

736 Commits

Author SHA1 Message Date
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
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
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 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
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 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 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
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
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
wwhai 6eff70a646
fix(rule-engine): reply 500 when update resource failed (#4120) 2021-02-01 09:47:08 +08:00
Jóvan Dippenaar c3c28f4b72 feat(tls.13): tls1.3 ciphers set in .conf's 2021-01-31 18:38:34 +13:00
Jóvan Dippenaar 94e8a69a48 docs(typos): vefify -> verify 2021-01-31 17:27:08 +13:00
wwhai a3206f5e0b fix(rule-engine): reformat code style 2021-01-29 19:32:05 +08:00
JianBo He 38eb849ef0 fix(mysql): upgrade mysql to 1.7.1 for TLS supporting 2021-01-29 19:31:02 +08:00
JianBo He 1aefee01c2 chore(mgmt): remove needless lines 2021-01-29 18:50:29 +08:00
wwhai 3973c93534 fix(rule-engine): remove unused code 2021-01-29 17:16:00 +08:00
wwhai 7072355bc1 fix(rule-engine): fix test failure 2021-01-29 15:24:07 +08:00
wwhai 73655369af fix(rule-engine): reformat some code 2021-01-29 11:52:32 +08:00
tigercl 730d09f874
fix(http): upgrade ehttpc to 0.1.2 (#4093)
For fix the connection closed by keepalive
2021-01-29 09:35:08 +08:00
wwhai f0993c6b0f
chore(style): improve the codes style 2021-01-28 20:01:59 +08:00
zhanghongtong 6a83cf3f35 chore(format): format some code 2021-01-28 19:18:18 +08:00
JianBo He 456e3e5faa chore(bridge-mqtt): fix styles 2021-01-28 16:24:42 +08:00
JianBo He d98d26942c fix(bridge-mqtt): add max_inflight_size option back
For compatibility with versions below 4.2, we still
use the `max_inflight_size` option, but generate it
as the `max_inflight`

Previous PR: https://github.com/emqx/emqx/pull/3938
2021-01-28 16:24:42 +08:00
Zaiming Shi e96d03dc1b
Merge pull request #4087 from zmstone/fix-auth-ldap
fix(auth_ldap): do not load plugin when no params configured
2021-01-28 08:51:08 +01:00
Zaiming Shi d38b626579 fix(emqx_coap_ps_resource): Copy uri decode code from OTP-22 2021-01-27 19:19:38 +01:00
zhouzb e6235d3bc9 fix(scheme): fix default scheme 2021-01-27 19:11:41 +01:00
zhouzb 92d307b1b3 fix(scheme): update test case 2021-01-27 19:11:41 +01:00
zhouzb 45aafc75dd fix(scheme): using uri_string:normalize/1 2021-01-27 19:11:41 +01:00
zhouzb 311df2f8a6 fix(scheme): fix scheme parsing 2021-01-27 19:11:41 +01:00
zhouzb a631a2d64f fix(ssl): fix ssl option 2021-01-27 19:11:41 +01:00
Zaiming Shi f42e52e84e fix(auth_pgsql): Add back econnrefused error clause 2021-01-27 19:10:47 +01:00
wwhai b5c435e211 fix(rule-engine): add format space 2021-01-27 19:01:11 +01:00
Zaiming Shi fc71285c3f fix(auth_ldap): do not load plugin when no params configured 2021-01-27 12:56:13 +01:00
zhanghongtong 689b530b4f chore(auth-http): remove needless test case 2021-01-27 19:55:21 +08:00
JianBo He b77ac247eb chore(auth-http): remove needless lines 2021-01-27 19:55:21 +08:00
zhanghongtong eaa7394554 chore(ldap): delete uesless dir 2021-01-27 18:58:35 +08:00
JianBo He 02cb8d0211 chore(style): set warnings_as_errors compile option 2021-01-27 18:02:12 +08:00
wwhai 001a89a396
Merge pull request #4070 from wwhai/fix-update-problem
feat(rule-engine): change init resource to test resource
2021-01-27 17:09:37 +08:00