Commit Graph

989 Commits

Author SHA1 Message Date
Turtle ecec9bd2f6 feat(lwm2m): add emqx_lwm2m http API 2021-06-21 12:19:35 +08:00
Shawn 6724e59e7a fix(appup): relup for emqx_rule_registry failed 2021-06-21 12:18:39 +08:00
Shawn 5962c9c83c
feat(rules): remove stats update from rule_engine_registry (#5029) 2021-06-19 17:02:43 +08:00
Shawn c0367fb8dd
Delete resource failed when searching dependent rules (#4996) 2021-06-17 16:45:44 +08:00
tigercl 0ecaa80fb8
fix(query string): support query string in path (#4981) 2021-06-17 16:12:08 +08:00
JianBo He bdd9154001 fix(modules): fix start/stop exhook module failure 2021-06-16 14:40:57 +08:00
k32 074c0bd2cc fix(auth_ldap): Handle missing attributes
Fixes: #4953
2021-06-11 18:35:21 +08:00
JianBo He 42a6f2aba5
fix(mqttsn): fix proto_name to MQTT-SN instead of MQTT (#4961) 2021-06-11 11:08:24 +08:00
JianBo He 86766ee7f1 fix(lwm2m): base64 decode for opaque value 2021-06-11 09:48:57 +08: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
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
Turtle bfb02fe8c3 fix(mqtt-sn): fix clean session false reconnect topic-id badmatch 2021-06-03 10:08:05 +08:00
zhouzb 443b83624c fix(webhook): fix bad ssl options 2021-06-02 09:31:28 +08: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
k32 7dde77bb8a feat(emqx_management): Import content of the HTTP request
Fixes: #4063
2021-05-31 12:06:33 +02:00
JianBo He 3a89b1f00b
chore(action): fix syntax error (#4885) 2021-05-31 15:08:52 +08:00
Turtle cf4cbc1677 fix(API): fix get used memory error 2021-05-29 11:42:50 +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
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
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
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 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 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
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
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
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