Commit Graph

1364 Commits

Author SHA1 Message Date
JianBo He bfa54523c6 chore: revert the needless appup.src changes by #8061 2022-05-27 16:15:00 +08:00
DDDHuang 78e5aa30d7 fix: rule engine clear resource bad name & type 2022-05-27 11:00:03 +08:00
DDDHuang 64a455bf8e fix: old date format style example & some code format 2022-05-26 16:06:04 +08:00
DDDHuang e1ad8aab46 fix: date format funs & logger conf & appup & change log 2022-05-26 13:13:00 +08:00
DDDHuang 4fc5cb2817 fix: rule engine date format fun & date to timestamp 2022-05-26 12:57:53 +08:00
Shawn d9252dc672 fix(schema): init resources before restoring schema registry 2022-05-24 14:37:44 +08:00
JianBo He 355f859a9b test: format data-export files 2022-05-24 14:37:44 +08:00
JianBo He 0eef297747 chore: fix dialyzer error 2022-05-24 14:37:44 +08:00
JianBo He 1531b34f8a test: add cases for importing e427 2022-05-24 14:37:44 +08:00
JianBo He 8fe933e885 fix: ensure auth_mnesia started first 2022-05-24 14:37:44 +08:00
Shawn 6e7cbc1b9b chore: move epgsql deps to the top-level rebar.config 2022-05-24 09:33:17 +08:00
JianBo He 2b81839126 chore(pgsql): restart emqx_auth_pgsql due to the egpsql upgraded
We have to restart the emqx_auth_pgsql because epgsql has upgraded 4.4.0 to 4.6.0
see: #8001
2022-05-23 20:27:41 +08:00
JianBo He c93626e97f chore: update changes and appup.src for emqx_management 2022-05-23 18:05:41 +08:00
JianBo He b97f7fa8fc
Merge pull request #8005 from thalesmg/fix-mgmt-listener-port
fix(mgmt): allow binding to specific interface
2022-05-23 18:01:45 +08:00
DDDHuang e73cd57b5a fix: epgsql use emqx fork 2022-05-23 14:35:23 +08:00
JimMoen 69abca17f2 chore(appup): bump app version & update appup 2022-05-22 22:06:02 +08:00
JimMoen bd23dae523 refactor(auth): auth apps use counter in emqx_metrics 2022-05-22 22:06:02 +08:00
Thales Macedo Garitezi e57e2f68d4
fix(mgmt): allow binding to specific interface
When one tries to define the management http listener as, for example,
`172.25.0.2:8081`, ranch is given `{port, {"172.25.0.2",8081}}` and
breaks.

```sh
env EMQX_MANAGEMENT__LISTENER__HTTP=172.25.0.2:8081 make quickrun
```

```
2022-05-20T13:14:19.451272-03:00 [error] Supervisor: {<0.2485.0>,ranch_listener_sup}. Context: start_error. Reason: badarg. Offender: id=ranch_acceptors_sup,pid=undefined.
2022-05-20T13:14:19.451400-03:00 [error] crasher: initial call: supervisor:ranch_acceptors_sup/1, pid: <0.2487.0>, registered_name: [], exit: {badarg,[{inet_tcp,listen,2,[{file,"inet_tcp.erl"},{line,166}]},{ranch_acceptors_sup,init,1,[{file,"ranch_acceptors_sup.erl"},{line,39}]},{supervisor,init,1,[{file,"supervisor.erl"},{line,330}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.2485.0>,ranch_sup,<0.2187.0>], message_queue_len: 0, messages: [], links: [<0.2485.0>], dictionary: [{logger,error_logger}], trap_exit: true, status: running, heap_size: 610, stack_size: 29, reductions: 612; neighbours:
2022-05-20T13:14:19.451754-03:00 [error] Minirest(Handler): Start http:management listener on {"172.25.0.2",8081} unsuccessfully:
```

So, it’s currently not possible to make the management listener bind
to a specific interface.
2022-05-20 16:50:36 -03:00
DDDHuang e6a2a3d5d2
Merge pull request #7999 from terry-xiaoyu/ldap_flaky_tests
fix(test): flaky test cases of auth_ldap
2022-05-20 15:26:22 +08:00
Xinyu Liu e68c100cb2
Merge pull request #8001 from DDDHuang/up_pgsql_v43
Update pgsql SDK for otp23 & otp24
2022-05-20 15:19:09 +08:00
Shawn 35d091aa1b fix(test): flaky test cases of auth_ldap 2022-05-20 14:18:39 +08:00
DDDHuang c10c75ce00 fix: appup for epgsql 4.4.0 -> 4.6.0 2022-05-20 14:15:52 +08:00
DDDHuang ae71125271 fix: update pgsql sdk for otp23 & otp24 2022-05-20 14:04:53 +08:00
Xinyu Liu 5806d5107f
Merge pull request #7991 from EMQ-YangM/add_rule_engine_func
feat: add rule engine function float2str/2
2022-05-19 15:31:45 +08:00
EMQ-YangM 7b38c66538 feat: add rule engine function float2str/2 2022-05-19 14:18:22 +08:00
zhongwencool 3df5c15819 feat: client apisupport mqueue_len/mqueue_dropped filter 2022-05-18 23:05:02 +08:00
Xinyu Liu 03c1efa439
Merge pull request #7977 from EMQ-YangM/hexstr2bin_support_half_byte
fix: hexstr2bin support half byte
2022-05-18 17:47:23 +08:00
EMQ-YangM de1d8909c3 fix: hexstr2bin support half byte 2022-05-18 17:45:26 +08:00
DDDHuang f269260293
Merge pull request #7745 from DDDHuang/fetch_re_status
fix: test resource with fetch new status
2022-05-18 15:55:07 +08:00
DDDHuang 71a7d71f68 fix(rule_engine): bad status SUITE 2022-05-18 15:18:12 +08:00
DDDHuang a67dff4568 fix(rule_engine): better function name for resource 2022-05-18 11:17:06 +08:00
DDDHuang f3bef3c81c fix(rule_engine): remove resource with clean alarms 2022-05-18 10:37:54 +08:00
DDDHuang a5716318b6 fix: better code format 2022-05-18 09:59:35 +08:00
zhongwencool 84fa6bfaeb
Merge pull request #7969 from zhongwencool/auth-acl-fitler-support
feat: auth acl fitler support
2022-05-17 18:14:46 +08:00
zhongwencool 56f73548cc fix: regurar appup vsn is string 2022-05-17 14:18:32 +08:00
zhongwencool 8882778a43 fix: appup failed 2022-05-17 13:07:18 +08:00
zhongwencool 2db123bec6 chore: update auth/acl changelog 2022-05-17 11:34:55 +08:00
DDDHuang eb5956316a fix(emqx_rule_engine): export func for rpc 2022-05-17 11:27:55 +08:00
zhongwencool 73faf08059 feat: mnesia auth/acl support multiple condition queries 2022-05-17 11:19:29 +08:00
DDDHuang 86e8de4737 fix: merge main-4.3 2022-05-17 09:49:19 +08:00
Ilya Averyanov 8198e3496f fix(jwt auth): fix claim validation 2022-05-16 21:40:14 +03:00
Zaiming (Stone) Shi 810ca65011
Merge pull request #7953 from zmstone/0513-deny-all-acl-for-expired-token
fix(acl): deny all ACl when token expired
2022-05-16 10:19:47 +01:00
JianBo He 7c82b84293
Merge pull request #7960 from HJianBo/fix-mqttsn-qos2
fix(mqttsn): fix mqtt-sn client disconnected due to re-send a duplicated qos2 message
2022-05-16 16:46:21 +08:00
JianBo He 442248f1a4 feat(rule-engine): add proto_name/proto_ver for $event/client_disconnected event 2022-05-16 14:30:41 +08:00
JianBo He 7357ee5918 fix(mqttsn): fix mqtt-sn client disconnected due to re-send a duplicated qos2 message 2022-05-16 13:54:38 +08:00
Zaiming (Stone) Shi 655c2987f3 fix(acl): deny all ACl when token expired 2022-05-15 09:24:02 +02:00
EMQ-YangM be16dfa758 fix: update emqx_rule_engine.appup.src 2022-05-07 17:53:13 +08:00
EMQ-YangM 8558a62ee2 feat: add some date format functions 2022-05-07 17:04:45 +08:00
Zaiming (Stone) Shi 0dd48e30b6 fix(emqx_mgmt_auth): randomise all bytes in app secret
prior to this change, app secrets are uuids which is not
completely random.
2022-04-25 11:34:46 +02:00
zhongwencool 4789f1f97b chore: bump management to 4.3.13 2022-04-24 17:37:37 +08:00
zhongwencool 9d4d918e2c
Merge branch 'main-v4.3' into fix-sub-search 2022-04-24 17:18:01 +08:00
zhongwencool 29e453383a chore: update changelog 2022-04-24 16:48:12 +08:00
Ilya Averyanov 41746e8d7a feat(emqx_auth_jwt): use JWT for ACL checks 2022-04-22 12:22:58 +03:00
Ilya Averyanov 36c1ecd9b7 chore(emqx_auth_jwt): do not use gen_server call for jwt verification 2022-04-22 12:16:32 +03:00
zhongwencool 10bca7f6b5 fix: topic filter with qos/clientid/share 2022-04-22 14:42:12 +08:00
Zaiming (Stone) Shi 1de3ed8783 Merge remote-tracking branch 'origin/main-v4.3' into dev/v4.3.15 2022-04-22 07:45:00 +02:00
Zaiming (Stone) Shi 31b4be79f0 chore(emqx_rule_engine): update appup 2022-04-20 09:29:14 +02:00
JianBo He ffdf7fb7b6
Merge pull request #7629 from DDDHuang/backup_file_43
fix: backup data filename, uri decode
2022-04-16 10:36:43 +08:00
Xinyu Liu ade2716616
Merge pull request #7635 from terry-xiaoyu/test_resource_failed
fix(rule): test resource failed from all nodes
2022-04-16 02:18:44 +08:00
Shawn 898dc00f58 fix(rule): test resource failed from all nodes 2022-04-16 01:49:01 +08:00
DDDHuang b28c751856 fix: backup data filename, uri decode 2022-04-15 17:12:04 +08:00
JimMoen 6168745f90 chore: update copyright 2022-04-14 11:23:25 +08:00
Xinyu Liu 97dd625c38
Merge pull request #7616 from emqx/revert-7596-jwt-acl-nocache
Revert "Add support for JWT authorization"
2022-04-14 11:14:40 +08:00
JianBo He 47a5bc3f09
Revert "Add support for JWT authorization" 2022-04-14 10:44:06 +08:00
Shawn ae8f03a188 fix(rules): deny POST /rules with an existing Id 2022-04-13 23:16:29 +08:00
Ilya Averyanov d8db671abb feat(emqx_auth_jwt): use JWT for ACL checks 2022-04-13 13:17:27 +03:00
Ilya Averyanov f763775588 chore(emqx_auth_jwt): do not use gen_server call for jwt verification 2022-04-13 13:16:53 +03:00
Xinyu Liu 4e515a3f83
Merge pull request #7603 from EMQ-YangM/fix_zip_compress
fix: add zip_compress functions
2022-04-13 15:37:02 +08:00
EMQ-YangM 0dc26ba483 fix: create new version 2022-04-13 15:01:47 +08:00
EMQ-YangM 6600de710a fix: fix behavior of rule-engine when selection field does not exist
when the selection field does not exist, it should output field => undefined
2022-04-13 14:55:43 +08:00
EMQ-YangM 1886893fa1 fix: add zip_compress functions 2022-04-13 14:19:32 +08:00
JianBo He 9ab533b206
Merge pull request #7592 from DDDHuang/bridge_mqtt_subqos
fix: bridge mqtt config schema, subscriptions with default QoS 0
2022-04-12 18:43:42 +08:00
DDDHuang 5b9452979d fix: bridge mqtt config schema, subscriptions with default QoS 0 2022-04-12 16:47:39 +08:00
DDDHuang 73ac4c1ff8 fix: random id ensure do not delete resource 2022-04-11 18:33:20 +08:00
DDDHuang a483f5ffa4 fix: bad appup 2022-04-10 12:57:50 +08:00
DDDHuang 4a692f0c2e fix: config schema sni disable 2022-04-10 12:57:50 +08:00
DDDHuang af4250dcf4 fix: mqtt bridge config schema sni disable spelling 2022-04-10 12:57:50 +08:00
DDDHuang 3e9b91e53a fix: disable server_name_indication suport 2022-04-10 12:57:50 +08:00
Xinyu Liu 82657017f9
Merge pull request #7549 from HJianBo/typos-fixes
chore: eliminate some compiling warnings and improve change logs
2022-04-08 14:13:21 +08:00
EMQ-YangM 8530ecec4d fix: delete a resource before updating it 2022-04-08 11:46:10 +08:00
Yang Miao 70e29b08e6
Merge pull request #7550 from EMQ-YangM/add_try_catch
fix: discard rpc call failed data
2022-04-08 11:28:01 +08:00
JianBo He bf1a3fe1eb chore: eliminate some compiling warnings and improve change logs 2022-04-08 11:16:37 +08:00
EMQ-YangM adf7d53ca5 fix: use concat replace flatten 2022-04-08 10:27:28 +08:00
EMQ-YangM 7606f55673 fix: update emqx_rule_engine.appup.src 2022-04-08 10:17:18 +08:00
EMQ-YangM 96b26bf4ce fix: discard rpc call failed data 2022-04-08 10:12:40 +08:00
DDDHuang f80a2e345c
Merge pull request #7545 from DDDHuang/start_mongo_auth
fix: start auth & acl mongo with availability check
2022-04-08 09:42:53 +08:00
DDDHuang 3c34cb3b6a fix: start auth & acl mongo with availability check 2022-04-07 18:27:04 +08:00
JimMoen 1910249058 chore: update CHANGES-4.3.md and appup 2022-04-07 17:26:59 +08:00
JimMoen bdea05f022 test(exhook): other cluster_name only handle 'cilent.*' hooks 2022-04-07 17:26:59 +08:00
JimMoen e7f5372fae feat(exhook): add field `meta` for grpc proto 2022-04-07 17:26:59 +08:00
Yang Miao 16dc0d6555
Merge pull request #7536 from EMQ-YangM/reset_cluster_metrics
feat: impl reset cluster metrics
2022-04-07 11:31:49 +08:00
Yang Miao 75486efb11
Merge pull request #7534 from EMQ-YangM/dev/v4.3.14
fix: change rule_speed record type
2022-04-07 10:37:27 +08:00
EMQ-YangM 1c32b08b21 feat: impl reset cluster metrics 2022-04-07 10:32:58 +08:00
EMQ-YangM 0e02e8df9d fix: change rule_speed record type 2022-04-07 09:50:31 +08:00
Thales Macedo Garitezi a1705f5653
fix: flaky test 2022-04-06 09:11:09 -03:00
JianBo He c603b2c7e3 chore: update appup.src files 2022-04-06 10:44:08 +08:00
JianBo He 024c7c59b7 chore: unify all psk cipher suites 2022-04-06 10:43:27 +08:00
JianBo He f1ff80fc16 test(psk): test psk file reading and handshake 2022-04-06 10:43:27 +08:00
Georgy Sychev 1a715c8708 feat(emqx_dashboard): subsciption to update password
emqx_dashboard restarted in ekka hook
Closes #3155
2022-04-05 10:40:09 +02:00
Zaiming (Stone) Shi 4b42da53e7
Merge pull request #7498 from zmstone/0401-4.3-docs-fix-cli-example-type-add-forward-not-forwards
docs: fix typos in CLI doc, add-froard not add-forwards
2022-04-04 20:09:35 +01:00
Zaiming (Stone) Shi 5b58eaa203 refactor(emqx_rule_engine): return not raise error for known reasons 2022-04-04 19:10:52 +02:00
Zaiming (Stone) Shi 65e2c1390e fix(ssl): try to guess cert file paths
The GUI has "etc/certx/..." hard coded as defaults.
However this relative path only works when it's a zip package
or when running in docker.

The other two possible abs paths are:
1. the upload dir
2. "/etc"
2022-04-04 19:10:52 +02:00
Xinyu Liu 7b4d3ecb3a
Merge pull request #7504 from EMQ-YangM/update_mongodb_driver
fix: update mongodb driver to fix potential process leak
2022-04-03 11:59:09 +08:00
Zaiming (Stone) Shi 67ce53b5fc fix(appup): re-generated emqx_rule_engine.appup.src 2022-04-02 23:25:36 +02:00
Zaiming (Stone) Shi a54813dd69 fix(appup): re-generate appup from 4.3.13 2022-04-02 23:00:41 +02:00
EMQ-YangM 9d25c58bb1 fix: move mongodb-erlang to top level rebar.config 2022-04-02 16:54:48 +08:00
EMQ-YangM 299c369d80 feat: enhanced rule engine error handling when json parsing error 2022-04-02 16:24:07 +08:00
EMQ-YangM c84a4b2b6b fix: update mongodb driver to fix potential process leak 2022-04-02 10:27:44 +08:00
Zaiming (Stone) Shi 25dc4ab14f docs: fix typos in CLI doc, add-froard not add-forwards 2022-04-01 18:28:25 +02:00
Xinyu Liu b84ef11935
Merge branch 'dev/v4.3.14' into dev/v4.3.14 2022-04-01 09:32:42 +08:00
Xinyu Liu 3cc0bb8284
Merge branch 'dev/v4.3.14' into fix_patter_match_v4.3 2022-04-01 09:14:34 +08:00
EMQ-YangM 326634c287 feat: impl api PUT /rules/{id}/reset_metrics 2022-03-31 18:00:57 +08:00
zhongwencool fe6af95f88 chore: remove useless stacktrace from catch. 2022-03-31 16:01:20 +08:00
EMQ-YangM 510e4d31e4 fix: load_module emqx_rule_events 2022-03-31 13:48:12 +08:00
EMQ-YangM cead8c9056 fix: use masp:get/3 to avoid crash after match failure 2022-03-30 09:44:06 +08:00
DDDHuang 6ab0934674 fix(rule): connection test when creating a resource 2022-03-30 09:23:51 +08:00
DDDHuang 47e807b2ac
Revert "fix(rule): connection test when creating a resource" 2022-03-29 19:16:06 +08:00
DDDHuang d297e883c2 fix: appup 2022-03-29 17:37:00 +08:00
zhongwencool 4ee586a738 fix: appup.src 2022-03-29 17:12:35 +08:00
DDDHuang 46cfcf662e fix(rule): safe apply & test resource in cluster 2022-03-29 13:37:32 +08:00
JianBo He 22573ff294
Merge pull request #7408 from JimMoen/exhook-priority
Support exhook customize hook priority
2022-03-28 18:29:25 +08:00
JimMoen b17fd40091 chore(exhook): update appup.src, add field when updating module 2022-03-28 15:54:38 +08:00
JimMoen 1a57d0d2ca test(exhook): customized hooks priority 2022-03-28 15:54:38 +08:00
JimMoen b7f10b67a8 feat(exhook): support customize hook_priority 2022-03-28 15:54:38 +08:00
Chris a1a37bcbee feat: Add mongo_date function to support saving timestamp as MongoDB Date object 2022-03-25 17:43:32 +01:00
DDDHuang c3237b6281 fix(rule): connection test when creating a resource 2022-03-24 10:39:54 +08:00
Zaiming (Stone) Shi 3868fb088c chore: bump emqx_web_hook to 4.3.10 2022-03-23 13:35:05 +01:00
JianBo He b76372e621 chore: remove duplicated emqx_rule_funcs in appup.src 2022-03-23 19:29:58 +08:00
JianBo He 5492ab2cc9 chore(bridge-mqtt): use `VSN` placeholder instead of vsn number 2022-03-23 18:37:40 +08:00
JianBo He a4d2aa1dd4 chore: correct the app.src & appup.src 2022-03-23 18:37:40 +08:00
Xinyu Liu 0d55b9242d
Merge branch 'main-v4.3' into resource_get_status_timeout 2022-03-23 17:59:59 +08:00
Shawn e8c7388aa4 chore: update appup file for emqx_rule_engine 2022-03-23 16:21:27 +08:00
zhongwencool b993595c6d fix: add emqx_rule_funcs to appup.src 2022-03-23 15:42:53 +08:00
zhongwencool 99dfd8504c fix: bad authorization format crash with 500 2022-03-23 15:34:23 +08:00
Shawn 5275e6a30f fix(rule): get the cached status when calling emqx_rule_engine:get_resource_status/1 2022-03-23 15:33:50 +08:00
EMQ-YangM 62eff94249 feat(emqx_rule_funcs): add functions gzip, gunzip, zip, unzip 2022-03-22 15:16:31 +08:00
zhongwencool 2be97a24dd fix: subscribe api crash with bad qos. 2022-03-21 09:19:28 +08:00
Shawn 5823751d7d chore: bump emqx_rule_engine to 4.3.9 2022-03-18 18:28:30 +08:00
Shawn 81ae2be760 fix(rules): enlarge precisions of floats to maximum 17 decimal places.
When printing floats to strings, we have to define a small decimal
limits to avoid print a too long and "inaccurate" float number:

```
2> float_to_binary(0.3).
<<"2.99999999999999988898e-01">>
```

This fix sets precision of floats to 17 digits after the decimal point.

This precision is larger than precision of most `double` data type used by
databases(14 digits for mysql and 15 digits for pgsql).
2022-03-18 15:42:01 +08:00
JianBo He 72e37dd144
Merge pull request #7300 from HJianBo/mqtt-sn-resume-subs
feat(mqttsn): introduce subs_resume option
2022-03-17 17:51:41 +08:00
zhongwencool 8cf97a93af fix: urldecode appid and username. 2022-03-16 16:33:03 +08:00
zhongwencool bfadcebb9c chore: remind the user to delete bad appid/username. 2022-03-16 15:23:10 +08:00
zhongwencool b44512cdab fix: Add string legitimacy check. 2022-03-16 10:31:41 +08:00
JianBo He a3d8981635 refactor(mqttsn): assign subs_resume to mqtt-sn client process state 2022-03-15 11:28:40 +08:00
JianBo He 3823ab8693 fix: typos in emqx_sn.appup.src 2022-03-15 10:51:30 +08:00
JianBo He f8b7b9415d chore(mqttsn): update appup.src 2022-03-15 10:51:30 +08:00
JianBo He d4c1b3acc6 test(mqttsn): more tests for topic register and subs_resume 2022-03-15 10:51:05 +08:00
JianBo He 3201d11212 feat(mqttsn): introduce subs_resume option
As the mqtt-sn v1.2 spec metioned, the gateway will be able to sync the
subscriptions topic-name registry to client when the client resume it's
session

port from: https://github.com/emqx/emqx-sn/pull/195
2022-03-15 10:51:05 +08:00
Chris Hicks eb5d9fa501
Merge pull request #7298 from mononym/fix-mongodb-timeout-crash
fix: prevent crash when mongodb connection times out
2022-03-14 17:01:09 +01:00
Chris 440523138b fix: prevent crash when mongodb connection times out 2022-03-14 15:09:49 +01:00