Commit Graph

816 Commits

Author SHA1 Message Date
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
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
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
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
wwhai
e7153c4266 fix(rule-engine): add cluster init callback 2021-01-27 15:06:12 +08:00
JianBo He
7919f08e03
Merge pull request #4067 from HJianBo/fix/webhook_certs
fix(webhook): fix bad https confs
2021-01-27 10:44:28 +08:00
Zaiming Shi
5477457c7e fix(emqx_recon): fix badarg for remote module load 2021-01-25 19:09:41 +01:00
wwhai
81da182e1b feat(rule-engine): change init resource to test resource 2021-01-25 19:44:32 +08:00
JianBo He
8d56371465
Merge branch 'dev/v4.3.0' into fix/webhook_certs 2021-01-25 19:22:14 +08:00
Zaiming Shi
6a6a94f99e
Merge pull request #4057 from zmstone/fix-emqx_vm-allocator-info-otp-23-compatibility
fix emqx_vm allocator info otp 23 compatibility
2021-01-25 11:36:47 +01:00
JianBo He
86942ffa14 fix(webhook): fix bad https confs 2021-01-25 18:20:12 +08:00
JianBo He
670c3894fb chore(redis): upgrade eredis_cluster to 0.6.4 2021-01-25 17:29:56 +08:00
zhouzb
b25dedccc9 refactor(inet parse): refactor inet parse 2021-01-25 15:59:23 +08:00
JianBo He
67e56658a7 fix(bridge-mqtt): fix bad time unit 2021-01-25 15:35:04 +08:00
JianBo He
3de8fea435 fix(bridge-mqtt): fix bad received metrics counting 2021-01-25 15:35:04 +08:00
wwhai
f3420e8810 fix(rule-engine): fix update resource maybe remove resource 2021-01-25 10:56:58 +08:00
JianBo He
3322bb60c3 fix(exproto): fix the bad return type for auth 2021-01-25 09:24:03 +08:00
Zaiming Shi
8a05380388 refactor(emqx_coap): use url_string module to decode url encoded topic 2021-01-24 10:28:37 +01:00
Zaiming Shi
17d70772a8 refactor(emqx_recon): Use latest version recon
Moved recon dependency from emqx_recon to root
2021-01-23 11:42:28 +01:00
Zaiming Shi
c1b1ddbb6f
Merge pull request #4032 from zmstone/chore-sync-apps-resync-4.2.6
chore(sync-apps): resync plugin apps from their 4.2.6 tag
2021-01-23 11:15:46 +01:00
Zaiming Shi
2c03bca6ae chore(auth_jwt): Upgrade to jose 1.11.1 prepare for OTP 23 2021-01-22 20:31:27 +01:00
Yudai Kiyofuji
c6785b1a34
test(coap): add test on acl and connection discarding (#4039) 2021-01-21 11:03:06 +09:00
Zaiming Shi
4103a7292a Merge branch 'resync-apps-from-426' into chore-sync-apps-resync-4.2.6 2021-01-18 20:37:45 +01:00
Zaiming Shi
be771f6cd9 fix(auth_pgsql): Make ssl_opts.versions backward compatible 2021-01-18 20:37:45 +01:00