Commit Graph

4513 Commits

Author SHA1 Message Date
zhongwencool 2d58121ed0
Merge pull request #7857 from DDDHuang/monitor_10s
fix: monitor calculate rate time delta is 0
2022-05-06 10:27:06 +08:00
JianBo He 596005ca5f
Merge pull request #7866 from JimMoen/fix-retainer-api-page-limit
Fix retainer api page limit
2022-05-06 09:10:34 +08:00
JianBo He ae2c150384
Merge pull request #7593 from EMQ-YangM/improve_mgmt_cli_cover
draft: improve emqx_mgmt_cli test coverage
2022-05-06 09:10:10 +08:00
Thales Macedo Garitezi 2771193359
chore(ekka): bump ekka -> 0.12.5
Improves autocluster resilience against split-brain during startup.

https://github.com/emqx/ekka/pull/160
2022-05-05 17:02:47 -03:00
William Yang 7dcdae4672
Merge pull request #7874 from qzhuyan/dev/william/logging-fix
chore: minor logging fix
2022-05-05 20:23:21 +02:00
Xinyu Liu b11400da06
Merge pull request #7871 from terry-xiaoyu/connector_restart_wrong_node
fix: restart bridges via HTTP APIs to wrong node
2022-05-06 00:14:40 +08:00
William Yang 5ffce8d619 chore: minor logging fix 2022-05-05 16:04:51 +02:00
Ilya Averyanov 0dae3f43a9 fix(mongodb): fix mongodb connection healthcheck 2022-05-05 15:36:38 +03:00
JimMoen 041ea4ba5c test(retainer): retainer api page read 2022-05-05 20:33:39 +08:00
JimMoen 6895ce9978 fix(retainer): retainer message page read 2022-05-05 20:33:39 +08:00
Chris 6971a3109f fix: remove case clause where the error clause can never be reached 2022-05-05 14:26:04 +02:00
lafirest 97e778e797
Merge pull request #7868 from lafirest/feat/limiter_api
feat(limiter): add limiter view/update api
2022-05-05 19:08:47 +08:00
EMQ-YangM 30b3060327 fix: improve authn, authz metrics 2022-05-05 18:53:31 +08:00
JianBo He 39a26f8225
Merge pull request #7853 from HJianBo/fix-gw-bad-ssl
Fix gateway listener API return 500
2022-05-05 18:47:41 +08:00
Shawn 9a033af2e8 fix: restart bridges via HTTP APIs to wrong node 2022-05-05 18:47:19 +08:00
Xinyu Liu 55cdce955c
Merge pull request #7863 from terry-xiaoyu/connector_ssl
fix: don't drop input ssl options even if invalid
2022-05-05 17:45:46 +08:00
zhongwencool 7f0f2571d0
Merge pull request #7861 from zhongwencool/username-as-clientid-not-valid
fix: don't allow empty username if username_as_clientid is true
2022-05-05 17:32:32 +08:00
EMQ-YangM 685b06eeed fix: avoid 'rule_test' api crash 2022-05-05 17:28:59 +08:00
zhongwencool 28b7021322
Merge pull request #7867 from zhongwencool/whitespace-in-install-path
fix: can't get emqx's priv_dir when whitespace in install path
2022-05-05 17:11:15 +08:00
JimMoen e2eb1da647 test(exhook): exhook config update 2022-05-05 16:24:17 +08:00
firest 1a7c870b7d test(limiter): add more cases for rate parser 2022-05-05 16:06:22 +08:00
JimMoen ef8ed3202e fix(exhook): refine exhook and exhook api
Refine status code.
Fix ssl ciphers raw list.
Make sure config update error be thrown.
2022-05-05 16:03:53 +08:00
Zhongwen Deng 41268dba01 fix: can't get emqx's priv_dir when whitespace in install path 2022-05-05 15:59:14 +08:00
firest acb78d53eb fix(limiter): fix rate parser, support this format: xMB/s 2022-05-05 15:38:04 +08:00
Shawn 1ce8a8c886 fix: testing connector removes ssl cert files that are in use 2022-05-05 14:55:40 +08:00
Shawn 5b5878f4a9 fix: don't drop input ssl options even if invalid 2022-05-05 14:53:42 +08:00
firest f2e7563b0c feat(limiter): add limiter view/update api 2022-05-05 13:08:33 +08:00
JianBo He 62a0df69fc fix(limiter): avoid maps:get/2 crash 2022-05-05 10:47:59 +08:00
Zhongwen Deng 2987bd47ad fix: don't allow empty username if username_as_clientid is true 2022-05-05 10:30:59 +08:00
DDDHuang 2504531b45 fix: monitor calculate rate time delta is 0 2022-05-05 09:32:15 +08:00
Kjell Winblad 74c33cd4e5 feat(rule_engine): add jq function to the rule engine
This commit adds a function to the rule engine that alows users
to transform text or JSON objects using [jq filter programs][1].

[jq][1] is a command line tool that can be used to transform
and filter JSON text using jq's built-in language. The rule engine
function that is added with this commit uses the
[Erlang jq NIF library][2] that wraps the jq C library in an
Erlang NIF function.

[1]: https://stedolan.github.io/jq/
[2]: https://github.com/emqx/jq
2022-05-04 17:09:16 +02:00
JianBo He 5bfb9367ea chore(tls): guard empty pem/path string 2022-05-03 17:54:00 +08:00
JianBo He 5698b9cfeb fix(gw): fix bad_ssl_config bad match 2022-05-03 17:11:06 +08:00
JianBo He 5d362eeb60 fix(gw): fix bad conn property type 2022-05-03 17:11:06 +08:00
JianBo He 42e193d9be refactor(mqttsn): create subscription with any topic format 2022-05-03 16:54:14 +08:00
JianBo He 7813f402c6 feat(api-clients): return client mountpoint property 2022-05-03 16:52:38 +08:00
JimMoen 4744e4a5e4 fix(authn): make sure http headers are bin 2022-04-29 19:44:49 +08:00
Shawn be60b3330d chore: release 5.0.0-rc.2 2022-04-29 19:01:44 +08:00
Shawn 0c8a7e751f fix(test): clear emqx_cluster_rpc mnesia table at the end of the suite 2022-04-29 18:53:01 +08:00
zhouzb 0c059eb653
Merge pull request #7838 from terry-xiaoyu/fix_ci_emqx_modules
fix(test): race condition in emqx_telemetry_SUITE
2022-04-29 18:50:43 +08:00
DDDHuang bb87092358
Merge pull request #7840 from EMQ-YangM/fix_resource_health_check
fix: set resource status disconnected when health check timeout
2022-04-29 18:49:11 +08:00
zhouzb fc2169ba18
Merge pull request #7842 from zmstone/0429-refactor-rename-funs-to-please-elvis
refactor: rename functions to please elvis
2022-04-29 17:38:17 +08:00
EMQ-YangM c52b464b3c fix: check process alive before health check 2022-04-29 17:34:26 +08:00
zhouzb 8377af127d
Merge pull request #7834 from zhongwencool/use-username-as-clientid-not-found
fix: client not found if use_username_as_clientid=true
2022-04-29 17:24:24 +08:00
EMQ-YangM 1bf33f75cc fix: set resource status disconnected 2022-04-29 17:05:12 +08:00
JianBo He d36d27c533
Merge pull request #7781 from HJianBo/rename-acl-metrics
feat(metrics): refactor authz metrics name
2022-04-29 16:52:43 +08:00
Zaiming (Stone) Shi 6b44d96c0d refactor: rename functions to please elvis 2022-04-29 10:52:08 +02:00
JianBo He 7a8a1f8b6a
Merge pull request #7824 from HJianBo/fix-gw-http-body
fix(gw): fix deep_merge can't update the configuration correctly
2022-04-29 16:46:59 +08:00
Shawn ef0e6d7fd8 fix(test): ensure the test node removed from the ekka cluster 2022-04-29 16:43:51 +08:00
Shawn bef00b461e chore: update .gitignore emqx_conf generated files 2022-04-29 16:43:51 +08:00
Shawn 1393ab677d fix(test): race condition in emqx_telemetry_SUITE 2022-04-29 16:43:51 +08:00
JianBo He 344a754674
Merge pull request #7817 from JimMoen/fix-auth-http 2022-04-29 16:36:10 +08:00
Zhongwen Deng cf9a853069 fix: delete duplicate clientid/username 2022-04-29 16:33:49 +08:00
JianBo He 1632df9ebb
Merge pull request #7837 from EMQ-YangM/reduce_duplicate_field
fix: reduce duplicate field
2022-04-29 15:50:27 +08:00
JianBo He 7bbed713f4
Merge pull request #7835 from JimMoen/fix-mongo-require-fields
fix(auth): mongo field `filter` not required and have default value
2022-04-29 15:38:54 +08:00
JianBo He 4989ce7a0d test(authz-jwt): fix flaky test t_check_expire 2022-04-29 15:20:05 +08:00
JianBo He 1597ea50c1 feat(metrics): refactor authz metrics name
In the current implementation:
```
Authz checking times = client.authorize + client.authorization.cache_hit
                     = client.authorization.allow + client.authorization.deny

client.authorize means how many times the `client.authorize` hook has been executed.

client.authorize = client.authorization.matched.allow +
                   client.authorization.matched.deny +
                   client.authorization.nomatch
```
2022-04-29 15:20:05 +08:00
EMQ-YangM 110f0d0e94 fix: reduce duplicate field 2022-04-29 14:37:49 +08:00
Xinyu Liu f28559ef62
Merge pull request #7820 from zmstone/0428-fix-flaky-test
test: ensure emqx_metrics gen_server stopped after each test
2022-04-29 14:21:21 +08:00
JimMoen 22c25fc7e8 fix(tls_lib): ssl file key list contains atom and bin 2022-04-29 14:05:55 +08:00
DDDHuang 177926b0a8
Merge pull request #7833 from DDDHuang/testm_cluster
fix: cluster monitor rate, topics calculate error
2022-04-29 13:45:35 +08:00
JimMoen ad4b70c27e fix(auth): mongo field `filter` not required and have default value 2022-04-29 13:37:29 +08:00
zhongwencool 6bdd625b21
Merge pull request #7826 from zhongwencool/dashboard-https
fix: dashboard https without deafult pem/keyfile
2022-04-29 13:21:28 +08:00
JimMoen 5f75f6e3be docs: refine auth http i18n description 2022-04-29 12:48:21 +08:00
JimMoen c1dfd0aa36 test(auth): authn & authz http placeholder in HTTP path 2022-04-29 12:48:17 +08:00
JimMoen 15ef9892c5 fix(auth): authn & authz http support placeholder in HTTP path 2022-04-29 12:48:00 +08:00
JimMoen dae418ae4a fix(auth): authn & authz http not required `body` field 2022-04-29 12:47:56 +08:00
JimMoen e4826400b8 fix(auth): authn & authz HTTP haeders without `content-type` via GET method 2022-04-29 12:47:52 +08:00
Shawn fc73f96aeb fix(test): use different http port for testing authz and authn 2022-04-29 12:41:36 +08:00
EMQ-YangM 4a6dabbe57 fix: rename to emqx_metrics_worker 2022-04-29 12:41:36 +08:00
Zaiming (Stone) Shi 1e170da9e8 test: ensure emqx_metrics gen_server stopped after each test 2022-04-29 12:41:36 +08:00
Zaiming (Stone) Shi 4e65322667 refactor: move emqx_plugin_libs_metrics to emqx app
because it can not depend on other apps
2022-04-29 12:41:36 +08:00
JianBo He 725c96dc2f
Merge pull request #7814 from HJianBo/fix-gw-bad-ssl
fix(gw): return BAD_REQUEST if request's ssl files is bad
2022-04-29 11:52:57 +08:00
JianBo He fd5b662302 fix(stomp): sync clientid from clientinfo to conninfo 2022-04-29 11:49:57 +08:00
JianBo He f983ce2562 fix(lwm2m): correct ConnAck properties to map 2022-04-29 11:49:57 +08:00
JianBo He 49b51db231 fix(gw): fix deep_merge can't update the configuration correctly 2022-04-29 11:49:57 +08:00
Zhongwen Deng 591b7c4fdb fix: make ssl options's required keys is [] 2022-04-29 11:45:22 +08:00
Zhongwen Deng 4f36a5152a chore: rename log_file_handlers's label 2022-04-29 11:45:22 +08:00
Zhongwen Deng bfdd86b3fd fix: reset config not work in cluster 2022-04-29 11:45:22 +08:00
Zhongwen Deng e91d6f9806 fix: ensure tls option keys 2022-04-29 11:45:22 +08:00
Zhongwen Deng 352984efe7 fix: dashboard https without deafult pem/keyfile 2022-04-29 11:45:22 +08:00
Yang Miao 7061d94cf9
Merge pull request #7823 from EMQ-YangM/authz_add_metrics
feat: new authz metrics
2022-04-29 11:27:59 +08:00
DDDHuang 9d1afa06c4 fix: cluster monitor rate, topics calculate error 2022-04-29 11:26:43 +08:00
zhongwencool 1fd0ce8708
Merge pull request #7832 from zhongwencool/fix-hocon-env-crash-json
fix: delete FROM_ENV from raw_config
2022-04-29 10:57:50 +08:00
JianBo He 99452868ca
Merge pull request #7799 from HJianBo/exproto-save-ssl-files
exproto save ssl files
2022-04-29 10:34:41 +08:00
EMQ-YangM 3fa8447c85 fix: fix static check warning, add some fields schema 2022-04-29 10:32:52 +08:00
zhouzb afe526ba67
Merge pull request #7789 from tigercl/chore/authn-fields
chore: rename certificate in jwt and selector in mongodb, remove pool_size in jwks
2022-04-29 10:14:06 +08:00
DDDHuang 778973b2de
Merge pull request #7791 from DDDHuang/auto_failed_connector
fix: disconnected status in auto_reconnect = false
2022-04-29 09:30:16 +08:00
zhongwencool c7241f2abc
Merge pull request #7813 from DDDHuang/bridge_api_bad_format
fix: bridge api response bad node name format
2022-04-29 09:12:22 +08:00
EMQ-YangM 712cdb3152 fix: fix static check error 2022-04-29 09:11:06 +08:00
Zhongwen Deng 03d2a1ebb6 chore: reformat emqx_bridge_api 2022-04-29 09:08:45 +08:00
EMQ-YangM 6879df9c5c fix: respect atom name convention 2022-04-29 08:59:51 +08:00
Zhongwen Deng e24bdab2a5 fix: crash when swagger hocon translation failed 2022-04-29 08:52:03 +08:00
Zhongwen Deng 6f1610257f feat: bump hocon to 0.27.5 to remove FROM_ENV 2022-04-29 08:48:12 +08:00
Zhongwen Deng 1ffb7f5f94 fix: remove '\$FROM_ENV_VAR' from raw conf 2022-04-29 08:41:31 +08:00
Zaiming (Stone) Shi 7997655f02
Merge pull request #7829 from zmstone/0428-test-fix-flaky-test-emqx_ctl_SUITE
test: fix flaky test emqx_ctl_SUITE.erl
2022-04-28 23:23:11 +01:00
Zaiming (Stone) Shi a0a1a2b972 style: make elvis happy 2022-04-28 22:09:05 +02:00
Zaiming (Stone) Shi dae0da4f37
Merge pull request #7830 from zhongwencool/uninstall-plugin
fix: delete plugin from configure when uninstall
2022-04-28 20:52:57 +01:00
Zaiming (Stone) Shi a4d0a9266a test: fix flaky test emqx_ctl_SUITE.erl 2022-04-28 21:46:36 +02:00
lafirest 828f1b0730
Merge pull request #7819 from lafirest/fix/limiter_schema
fix(limiter): fix schema parse error
2022-04-29 01:32:52 +08:00
Zhongwen Deng 35d066e3d5 fix: delete plugin from configure when uninstall 2022-04-29 00:55:21 +08:00
EMQ-YangM 3e314f6785 fix: rewrite status_metrics_example 2022-04-29 00:44:22 +08:00
EMQ-YangM f91a6b9f00 fix: authz add metrics_and_status schema 2022-04-29 00:37:21 +08:00
Xinyu Liu 8528d76371
Merge pull request #7815 from terry-xiaoyu/fix_bridge_ssl_dry_run_fail
fix: convert ssl certfiles for dry-run creating bridges
2022-04-28 22:41:50 +08:00
Shawn 6c9e0d62e2 fix(test): ensure emqx_metrics stopped before testing 2022-04-28 22:40:05 +08:00
Shawn 4b7d9b7239 chore(erlfmt): make the erlfmt happy 2022-04-28 22:39:30 +08:00
EMQ-YangM a6920ac11b feat: new authz metrics 2022-04-28 22:01:40 +08:00
Zaiming (Stone) Shi 638b7195d4
Merge pull request #7804 from HJianBo/not-allow-empty-claims
fix(authn-jwt): avoid to save empty claim name
2022-04-28 14:10:45 +01:00
Zaiming (Stone) Shi 33e9823317 style: reformat emqx_connector_mqtt_mod.erl 2022-04-28 15:07:07 +02:00
Xinyu Liu 8380efef16
Merge pull request #7809 from EMQ-YangM/authn_add_metrics
feat: authn new metrics
2022-04-28 19:24:09 +08:00
DDDHuang 73ac588255
Merge pull request #7812 from DDDHuang/mqtt_bridge_sharesub
fix: remove match topic in mqtt bridge
2022-04-28 18:31:02 +08:00
firest 60c2427874 fix(limiter): fix schema parse error 2022-04-28 18:30:32 +08:00
Shawn 6edb453ce9 fix: the field 'enable' is missing for GET /bridges/:id 2022-04-28 18:13:19 +08:00
zhouzb 95e63fcadf fix: fix bad code 2022-04-28 16:51:36 +08:00
EMQ-YangM 56761ecb74 fix: remove duplicated create_metrics 2022-04-28 16:20:38 +08:00
Shawn e18c2a6de2 fix: convert ssl certfiles for dry-run creating bridges 2022-04-28 16:17:55 +08:00
zhongwencool bd2abd9ce0
Merge pull request #7810 from zhongwencool/bad-plugin-file-500-crash
fix: bad plugin file upload crash
2022-04-28 16:14:32 +08:00
JianBo He 23c6047163 fix(gw): return BAD_REQUEST if request's ssl files is bad 2022-04-28 16:12:32 +08:00
EMQ-YangM 51e025f075 fix: remove duplicated code 2022-04-28 16:10:47 +08:00
zhouzb bd0d0d9797
Merge branch 'master' into chore/authn-fields 2022-04-28 16:09:26 +08:00
zhongwencool 061d9198ce
Merge pull request #7797 from zmstone/0427-5.0-dashboard-add-listener-enable-disable-config
feat(dashboard): add listener enable/disable config toggle
2022-04-28 16:07:00 +08:00
DDDHuang a26b0f79f2 fix: bridge api response bad node name format 2022-04-28 16:06:57 +08:00
EMQ-YangM 4365de9ad5 fix: format code 2022-04-28 15:39:08 +08:00
JianBo He ff31a5a6a4 feat(gw-exproto): save ssl files for server&handler option 2022-04-28 15:34:57 +08:00
DDDHuang 05cf8af14b fix: connector, remove bad include 2022-04-28 15:32:54 +08:00
DDDHuang 132b37813c refactor: code format emqx_connector emqx_resource 2022-04-28 15:32:47 +08:00
DDDHuang 667da90e52 refactor: resource instance do_create_dry_run 2022-04-28 15:32:41 +08:00
DDDHuang 2a2308bbf8 refactor: resource check & connector status 2022-04-28 15:32:35 +08:00
DDDHuang e3e7acbcde fix: remove match topic in mqtt bridge 2022-04-28 15:23:30 +08:00
EMQ-YangM 5b0ee30d72 fix: ignore unwanted results 2022-04-28 15:02:07 +08:00
EMQ-YangM 6530604f40 fix: add authn authz metrics supervisor 2022-04-28 14:38:45 +08:00
JianBo He 66c08bdc8b chore(gw): add default value for lwm2m gateway 2022-04-28 14:38:32 +08:00
Zhongwen Deng e8cead48b2 fix: bad plugin file crash 2022-04-28 14:26:25 +08:00
Zhongwen Deng c5b42ea0d9 chore: reformat emqx_prometheus_SUITE 2022-04-28 14:06:57 +08:00
Zhongwen Deng 3e8bedda76 fix: dashboard ct add enable options 2022-04-28 14:05:39 +08:00
Zhongwen Deng 2eab3f1cdb fix: dashboard https's password can't update 2022-04-28 14:05:39 +08:00
Zhongwen Deng 5c08c4ff4e chore: more detailed about dashboard inet6 option 2022-04-28 14:05:39 +08:00
Zhongwen Deng 204f04be65 fix: handshake_timeout is ranch option not socket options 2022-04-28 14:05:39 +08:00
Zaiming (Stone) Shi 974380a3d4 feat(dashboard): add listener enable/disable config toggle 2022-04-28 14:05:39 +08:00
EMQ-YangM 098598a0be fix: add resource_metrics, node_resource_metrics 2022-04-28 12:43:55 +08:00
EMQ-YangM 2a7bd74ef1 feat: authn add new metrics 2022-04-28 11:16:45 +08:00
Zhongwen Deng 2c95fba4df fix: api_listener min TLS ct fail 2022-04-28 10:11:38 +08:00
DDDHuang a50980c496 fix: disconnected status in auto_reconnect = false 2022-04-28 09:47:36 +08:00
JimMoen 4f9b42a250 style: make erlfmt happy 2022-04-28 09:46:14 +08:00
JimMoen e5d4e272b2 fix(ssl): sni option should be atom 2022-04-28 09:46:14 +08:00
JimMoen 0c7bbf9e64 revert: ssl option should not provide default cert file
revert commit 3b9b12fe36 in PR#7527
2022-04-28 09:46:14 +08:00
JianBo He 2dded74584
Merge pull request #7716 from lafirest/fix/delayed_disable_action
fix(delayed): unify and optimize the enable/disable codes
2022-04-28 09:39:41 +08:00
JianBo He e216e0f17f test(authn): add test for verifing claim name 2022-04-28 09:14:28 +08:00
JianBo He 6535eb879c fix(authn-jwt): avoid to save empty claim name
An empty claim_name has not a real meaning and will result in a
syntax error cluster_override.conf. i.e:
```
authentication {
  mechanism = "jwt"
  verify_claims { = "22"}
  ...
}
```
2022-04-28 08:34:04 +08:00
JianBo He ca846d0c53
Merge pull request #7798 from lafirest/fix/gateway_user_search
fix(gateway): Add support for query by is_superuser
2022-04-28 08:29:55 +08:00