Commit Graph

1159 Commits

Author SHA1 Message Date
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
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
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
Zaiming Shi 4e19e99ec4 Merge tag 'v4.3-alpha.1' into merge-4.3-alpha.1-to-5.0 2021-01-29 15:12:37 +01: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
z8674558 a6e532779b chore(mongo): quote example 2021-01-29 18:21:34 +09:00
z8674558 fd1a53b45e fix(cts): fix config file path in sed 2021-01-29 18:21:29 +09:00
wwhai 3973c93534 fix(rule-engine): remove unused code 2021-01-29 17:16:00 +08:00
z8674558 e8729fb00e Merge branch 'dev/v5.0' of private:emqx/emqx into merge430 2021-01-29 17:11:12 +09: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 c422b200be
Merge pull request #4088 from emqx/dev/v4.3.0
Auto-pull-request-on-2021-01-27
2021-01-27 22:02:52 +01:00