Commit Graph

5496 Commits

Author SHA1 Message Date
k32 0922f3bde3 fix(prometheus): Convert all non-numeric values to undefined 2022-02-16 14:45:30 +01:00
Zaiming (Stone) Shi 79d7832a07
Merge pull request #7020 from zmstone/docs-more-renames-in-descriptive-info
docs: More EMQ X -> EMQX rename in descriptive strings
2022-02-16 13:43:19 +01:00
zhongwencool 310a97305a
Merge pull request #6997 from zhongwencool/epoch-rfc3339-convert
feat(schema): schema support epoch_second, epoch_millisecond type.
2022-02-16 16:51:38 +08:00
Yang Miao 78cad0a528
Merge pull request #6989 from EMQ-YangM/up_master
refactor(emqx_resource): Improve grouping strategy for emqx_resource_instance
2022-02-16 16:26:28 +08:00
lafirest 7b49daba1f fix(emqx_slow_subs): fix test case error 2022-02-16 15:10:23 +08:00
zhongwencool 34fe5082c4 fix(schema): schema global validations not working 2022-02-16 14:20:15 +08:00
EMQ-YangM f70fc1a3b0 fix(emqx_bridge, emqx_retainer): hard code group name 2022-02-16 14:02:13 +08:00
Zaiming (Stone) Shi 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 2022-02-15 22:39:11 +01:00
k32 689ea6546e
Merge pull request #7018 from k32/mria-prom-metrics
feat(mria): Add prometheus metrics
2022-02-15 21:26:25 +01:00
k32 c00f4ef83c
fix: Add replayq_len
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-02-15 20:02:46 +01:00
k32 6d49754988 feat(mria): Add prometheus metrics 2022-02-15 19:10:05 +01:00
Zaiming (Stone) Shi 667d66eb1e docs(README): EMQ X -> EMQX 2022-02-15 16:19:26 +01:00
lafirest 1dbfe0dce6
Merge pull request #7012 from lafirest/fix/trap_exit
fix(emqx_slow_subs): add trap exit flag
2022-02-15 17:38:21 +08:00
lafirest 1724536afa
Merge pull request #7011 from lafirest/fix/exhook_ssl
fix(emqx_exhook): replace ssl-config schema with emqx_schema:client_s…
2022-02-15 16:55:12 +08:00
lafirest 667dccc3f6 fix(emqx_slow_subs): add trap exit flag 2022-02-15 16:44:15 +08:00
lafirest 28bf20a366 fix(emqx_exhook): replace ssl-config schema with emqx_schema:client_ssl_opts_schema 2022-02-15 16:25:23 +08:00
JimMoen 0c108035a8 test(connector): connector require `ecpool` start 2022-02-15 12:45:50 +08:00
JimMoen 23c6a404b9 test(connector): avoid define macro duplicate 2022-02-15 10:42:08 +08:00
JimMoen 0e5105db6e test(authn): mongo health check more than once 2022-02-15 10:41:26 +08:00
JimMoen 2a1fba97da test(auth): resource use connector provided default port 2022-02-15 10:41:26 +08:00
JimMoen 28735dc6d7 refactor(connector): parse servers for `rs` and `sharded` mongo_type 2022-02-15 10:41:26 +08:00
lafirest 65fa7a85ad fix(emqx_slow_subs): fix flakey test case 2022-02-15 10:33:53 +08:00
JimMoen ab7c2b72e3 refactor(connector): db connector provide default port 2022-02-15 00:51:48 +08:00
Chris Hicks 15d3e86089
Merge pull request #7002 from mononym/EMQX-3144-mongo-db
feat: add basic mongodb test suite
2022-02-14 14:57:22 +01:00
Chris Hicks b1fbc08e3e
Merge pull request #6976 from mononym/EMQX3142-my-sql
feat: Add mysql tests for connector
2022-02-14 14:22:15 +01:00
Chris 7962583ac8 feat: add basic mongodb test suite 2022-02-14 13:11:15 +01:00
JianBo He 3f8c0072ce
Merge pull request #6986 from HJianBo/more-fields-for-client-online-offline
feat(event): add `connected_at` into client_disconnected event
2022-02-14 18:06:50 +08:00
EMQ-YangM 48942f9c93 refactor(emqx_resource): move unused macro to test 2022-02-14 17:40:39 +08:00
Chris c635e7306d feat: Add mysql tests for connector 2022-02-14 10:31:04 +01:00
zhongwencool 1413809b81
Merge pull request #6948 from zhongwencool/fix-watermark-master
fix(watermark): watermark should use > instead of >=
2022-02-14 16:11:47 +08:00
zhongwencool 80169ccb68 chore: add more eunit for emqx_datetime 2022-02-14 15:30:03 +08:00
JianBo He 229a62bcc9
Merge pull request #6988 from HJianBo/acl-metrics-add
feat(metrics): add acl metrics statistics
2022-02-14 15:06:04 +08:00
EMQ-YangM 75b2963efc test(authn,authz): fix create function 2022-02-14 14:10:10 +08:00
zhongwencool 498434826a feat(schema): schema support epoch_second, epoch_millisecond type. 2022-02-14 11:35:32 +08:00
Zaiming (Stone) Shi b9343891e4
Merge pull request #6946 from zmstone/refactor-license-simplify-parser-error
refactor: treat throw exception as `{error, Reason}` return
2022-02-11 19:09:40 +01:00
Zaiming (Stone) Shi e2a67760b1 fix(emqx_authz_file): throw exception for catch 2022-02-11 17:16:00 +01:00
Ilya Averyanov 5f32d4cbd8 chore(mongo): reduce test flackyness 2022-02-11 15:52:35 +03:00
EMQ-YangM 79badcb403 fix(emqx_retainer): fix function 'create_resource' 2022-02-11 18:36:55 +08:00
EMQ-YangM fae91d72f2 fix(emqx_authz): fix function 'create_resource' 2022-02-11 18:36:55 +08:00
EMQ-YangM 580901b678 fix(emqx_authn): fix create api 2022-02-11 18:36:55 +08:00
EMQ-YangM d8819559f7 fix(emqx_resource): fix emqx_bridge create 2022-02-11 18:36:55 +08:00
EMQ-YangM df57daaabb refactor(emqx_resource): improve grouping strategy for emqx_resource_instance 2022-02-11 18:36:55 +08:00
JianBo He f471214956 feat(metrics): add acl metrics statistics 2022-02-11 15:20:18 +08:00
JianBo He e895de2c5e
Merge branch 'master' into port/slow_subs 2022-02-11 14:37:10 +08:00
zhongwencool 9d5a7ead0c
Merge pull request #6984 from zhongwencool/improve-qos-type
chore(schema): use emqx_schema:qos() instead of union integer.
2022-02-11 12:17:38 +08:00
JianBo He 29af3d4023
Merge pull request #6982 from lafirest/fix/ssl_verify
fix(emqx_exhook): add verify field in the ssl conf
2022-02-11 11:26:27 +08:00
DDDHuang fbefc92178
Merge pull request #6969 from DDDHuang/ws_client_metrics
feat(metrics): ws client support more send&recv metrics
2022-02-11 11:14:56 +08:00
JianBo He 94609e31e4 feat(event): add `connected_at` into client_disconnected event
port from v4.3: https://github.com/emqx/emqx/pull/6822
2022-02-11 11:01:59 +08:00
zhongwencool 372f628c9e
Merge pull request #6980 from thalesmg/bugfix-find-alias-clause-50
fix(channel): wrong case clause when alias is inexistent (5.0)
2022-02-11 10:38:31 +08:00
zhongwencool f5415589e9 chore(schema): use emqx_schema:qos() instead of union integer. 2022-02-11 10:09:59 +08:00
DDDHuang 511060adb4 fix(test): ws conn metrics 2022-02-11 09:38:41 +08:00
DDDHuang 0826084ce9 feat(metrics): ws client support more send&recv metrics 2022-02-11 09:38:41 +08:00
DDDHuang 97e22cc6a8
Merge pull request #6971 from DDDHuang/ab_hocon
fix(api): auto subscribe api hocon support
2022-02-11 09:33:12 +08:00
firest 4063bcea9f fix(emqx_exhook): add verify field in the ssl conf 2022-02-11 06:24:05 +08:00
Thales Macedo Garitezi 609d8a5efa
fix(channel): wrong case clause when alias is inexistent (5.0)
Fixes #6978 .
2022-02-10 16:23:54 -03:00
Chris Hicks ddbb78557a
Merge pull request #6958 from mononym/EMQX-3143-postgre-sql
feat: create tests for connector pgsql module and refactoring
2022-02-10 14:41:10 +01:00
Zaiming (Stone) Shi 91366a71a4 fix: try Expr of only catches exceptions in Expr but not cases clauses 2022-02-10 13:12:22 +01:00
Zaiming (Stone) Shi 7363e6b1fd fix(emqx_conf): fix MFA arity type spec 2022-02-10 12:40:46 +01:00
Zaiming (Stone) Shi 49d3163471 fix(emqx_cluster_rpc): do not log throw stacktrace
also not logging the call arguments as it may containe sensitive info
2022-02-10 12:40:46 +01:00
Zaiming (Stone) Shi a86b684535 fix(emqx_config_handler): do not log throw exception 2022-02-10 12:40:46 +01:00
Zaiming (Stone) Shi 774c0a3d7f chore: remove a space from CLI command cluster_call usage printout 2022-02-10 12:40:46 +01:00
Chris Hicks c456434e38
Merge pull request #6954 from mononym/remove_unused_functions_from_resource_and_connector
refactor: remove unused/old functions
2022-02-10 11:10:20 +01:00
JianBo He 9f648631fe
Merge pull request #6964 from HJianBo/fix_stomp_unexpected_linefeed_for_5
fix(stomp): fix unexpected_linefeed error if the packet truncated on …
2022-02-10 17:52:41 +08:00
Chris 14630568d6 feat: create tests for connector pgsql module and refactoring 2022-02-10 10:40:46 +01:00
firest 361ca5be42 fix(emqx_slow_subs): change rpc call to bpapi 2022-02-10 17:40:19 +08:00
firest b9884de1d0 fix: fix proper test error 2022-02-10 16:09:17 +08:00
DDDHuang 5d17bd8441 fix(api): auto subscribe api hocon support 2022-02-10 15:40:12 +08:00
firest 2fcc24dea6 fix(emqx_slow_subs): fix test case error 2022-02-10 15:16:37 +08:00
lafirest b09683bfcd fix(emqx_slow_subs): fix some errors and test cases 2022-02-10 14:55:19 +08:00
lafirest 0c48bd92db feat: port slow subs from v4.4 2022-02-10 14:51:37 +08:00
JianBo He e2b330e8be fix(stomp): fix unexpected_linefeed error if the packet truncated on headers 2022-02-10 12:26:13 +08:00
DDDHuang 29790a0c1e fix(test): ifdb test SUITE & version compatibility 2022-02-10 10:33:39 +08:00
DDDHuang fbb8f46fcd fix(api): qos shcema & code formate 2022-02-10 10:33:39 +08:00
DDDHuang 471e867bf3 fix(api): rename client info recv_msg.dropped.await_pubrel_timeout 2022-02-10 10:33:25 +08:00
Shawn fd87bce8f7
Merge pull request #6950 from terry-xiaoyu/remove_extra_spaces
fix: format the code to remove extra spaces
2022-02-10 09:35:18 +08:00
Thales Macedo Garitezi e861f3963e
Merge pull request #6947 from thalesmg/fix-mgmt-cluster-print
fix(ctl): fix formatting when printing messages without arguments
2022-02-09 11:50:59 -03:00
Shawn 81edbd232d fix: reformat some code style 2022-02-09 18:57:36 +08:00
Shawn 8207090419 fix: format the code to remove extra spaces 2022-02-09 18:46:49 +08:00
Shawn e6997dc1ce
Merge pull request #6942 from terry-xiaoyu/hook_delivery_drop
Hook delivery drop
2022-02-09 18:28:56 +08:00
Chris c2772fdd09 refactor: remove unused/old functions 2022-02-09 10:14:13 +01:00
zhongwencool 94b0676ac6
Merge pull request #6922 from k32/static-seeds-type
refactor(schema): Refactor cluster_static seeds type
2022-02-09 16:34:30 +08:00
zhongwencool 47b1dde7fd
Merge pull request #6949 from zhongwencool/add-qos-type
feat(schema): support qos type.
2022-02-09 16:13:11 +08:00
Chris Hicks bf4672b863
Merge pull request #6917 from mononym/EMQX-3155-emqx-connector-and-emqx-bridge-test-suites-rely-on-leftover-test-state-from-the-emqx-dashboard-tests
fix: decouple suite tests
2022-02-09 09:03:01 +01:00
Shawn 9118cfb4ad fix(connection): revert metric names for 'recv_msg.dropped.await_pubrel_timeout' 2022-02-09 15:41:28 +08:00
zhongwencool 36cf00108c feat(schema): support qos type. 2022-02-09 15:16:43 +08:00
Yang Miao e9c65447c4
Merge pull request #6863 from EMQ-YangM/fix_hc
fix(emqx_resource_instance): create health_check process when create …
2022-02-09 13:36:34 +08:00
Shawn e220810b90 fix(sn): update calling to session APIs 2022-02-09 12:08:06 +08:00
zhongwencool b2d77cac39 fix(watermark): watermark should use greater than(>), not greater than or equal to(>=). 2022-02-09 11:17:45 +08:00
Shawn ce05c14ef2
Merge pull request #6936 from terry-xiaoyu/empty_rule_id
fix(rule): deny POST empty rule ids
2022-02-09 10:16:27 +08:00
lafirest de75edd176
Merge pull request #6925 from lafirest/fix/flaky-test
fix(emqx_ratelimiter): relax the rate bound of test cases
2022-02-09 10:01:38 +08:00
Thales Macedo Garitezi 152bbe6bb3
refactor: rm unused fn 2022-02-08 18:18:18 -03:00
Thales Macedo Garitezi 01794c2d2c
fix(ctl): fix formatting when printing messages without arguments
Without passing an empty argument list to `emqx_ctl:print`, formatting
instructions like `~n` are being printed literally.

```
Ignore.~nJoin the cluster successfully.~nCluster status: #{running_nodes =>
                      ['emqx@emqx-0.int.thalesmg','emqx@emqx-1.int.thalesmg',
                       'emqx@emqx-2.int.thalesmg','emqx@emqx-3.int.thalesmg',
                       'emqx@emqx-4.int.thalesmg'],
                  stopped_nodes => []}
```
2022-02-08 17:48:19 -03:00
Chris d0b0b05aa4 fix: decouple suite tests 2022-02-08 14:53:01 +01:00
Shawn b69dca4f08 feat(rule): add testcase for '/delivery_dropped' 2022-02-08 20:37:40 +08:00
k32 5a1b18ae86 fix(system_monitor): Fix conditional start 2022-02-08 12:46:27 +01:00
Shawn 707284db31 fix(session): update calling to session APIs 2022-02-08 18:49:38 +08:00
Shawn 93092657b9 fix(session): update testcases 2022-02-08 18:33:06 +08:00
zhongwencool 3b4eade1ad
Merge pull request #6900 from zhongwencool/restricted-shell
feat(shell): add restricted shell and user_default
2022-02-08 17:25:28 +08:00
Shawn 2879001694 fix(metrics): rename metrics 'messages.dropped.expired' to 'messages.dropped.await_pubrel_timeout' 2022-02-08 17:14:59 +08:00
Shawn 06168f7080 refactor(session): pass ClientInfo as first params to APIs of emqx_session 2022-02-08 16:52:47 +08:00
zhongwencool f3fa302d84 chore: print only the port number when bound on all interfaces. 2022-02-08 15:25:22 +08:00
zhongwencool 5f2618912f chore(format): format port by ts 2022-02-08 11:03:54 +08:00
zhongwencool 00fe866392 chore(test): add restricted_shell CT test. 2022-02-08 10:49:11 +08:00
Shawn b2f027bcf7 feat(rule): add 'delivery.dropped' hook for rules 2022-02-08 10:32:25 +08:00
zhongwencool b50ceac9bb chore(listener): change the listener binding format 0.0.0.0:port to :port. 2022-02-08 10:28:10 +08:00
Shawn 261e9929b6 fix(rule): deny POST empty rule ids 2022-02-08 09:57:44 +08:00
Ilya Averyanov 17599432d1 feat(license): add license application 2022-02-07 19:05:47 +03:00
k32 9c5d35e0db chore(ekka): Bump version to 0.12.0 2022-02-07 14:39:43 +01:00
k32 78c762479f feat(router): Mark CM_SHARD and ROUTE_SHARD as dirty 2022-02-07 12:38:59 +01:00
k32 dbe1282d32 chore(mria): Bump version to 0.2.0 2022-02-07 12:37:13 +01:00
EMQ-YangM 3b3f3fed76 refactor(emqx_resource_instance): add function create_default_checker 2022-02-07 17:49:51 +08:00
EMQ-YangM 8976e25b7a fix(emqx_resource_instance): create health_check process when create resources synchronously 2022-02-07 17:49:51 +08:00
zhongwencool f24c05b1bd chore(shell): make restricted_shell prompt more friendly. 2022-02-07 15:33:59 +08:00
zhongwencool b189d594c3 chore: fix dialyzer warning. 2022-02-07 15:33:59 +08:00
zhongwencool 3efa583830 feat(shell): add emqx version to prompt. 2022-02-07 15:33:59 +08:00
zhongwencool 6a701e098f feat(shell): add restricted shell and user_default 2022-02-07 15:33:59 +08:00
lafirest 467bb830b1 fix(emqx_ratelimiter): relax the rate bound of test cases 2022-02-07 13:57:48 +08:00
k32 f699de9773 feat(system_monitor): Bump version to 3.0.0 2022-02-07 02:22:11 +01:00
k32 987945def3 refactor(schema): Refactor cluster_static seeds type 2022-02-04 23:37:59 +01:00
k32 a54b4ddfd0 fix(emqx_schema): Set gen_rpc_client_driver automatically 2022-02-02 13:58:27 +01:00
k32 3050f86f09
Merge pull request #6906 from k32/gen-rpc-docs
Gen rpc docs
2022-02-01 13:50:03 +01:00
k32 470db453cb docs(rpc): Add descriptions for gen_rpc and logger 2022-02-01 01:16:07 +01:00
Zaiming (Stone) Shi 507952c473 feat: dump schema json file to dashbarod static dir 2022-01-31 16:38:41 +01:00
Zaiming (Stone) Shi fe24892b6d fix(emqx_limiter): no white space in schema map name 2022-01-31 16:04:37 +01:00
Zaiming (Stone) Shi f7703c906e refactor: move plain_check impl to emqx_hocon 2022-01-29 10:16:55 +01:00
zhongwencool 92cbf86951
Merge pull request #6890 from zhongwencool/dashboard-bind-support-ip
feat(dashboard): support bind specific ip(port or ip:port).
2022-01-29 16:09:05 +08:00
zhongwencool 928555546d
Merge pull request #6869 from EMQ-YangM/fix_start_pool
fix(emqx_connector): when start_pool fails, return error and reason
2022-01-29 10:45:45 +08:00
zhongwencool 8041524d20 chore(dashboard): warning wehn stop dashboard listener not found. 2022-01-29 10:36:53 +08:00
k32 5e01961dba
Merge pull request #6895 from k32/fix-graph
fix(emqx_mgmt): Fix network graph
2022-01-28 15:43:55 +01:00
k32 1127057291 fix(emqx_mgmt): Fix network graph 2022-01-28 13:39:27 +01:00
Zaiming (Stone) Shi bda1b6d35e
Merge pull request #6892 from zmstone/docs-fix-override-conf-note
docs: fix override conf note
2022-01-28 12:35:23 +01:00
Zaiming (Stone) Shi 8da27899ea docs: fix override conf note 2022-01-28 11:05:06 +01:00
zhongwencool ec5d1b1463 feat(dashboard): support bind specific ip(port or ip:port). 2022-01-28 16:52:03 +08:00
k32 052bd9081d docs(schema): Fix typos in the schema files 2022-01-27 22:39:19 +01:00
k32 4fe87b5e32 docs(emqx_conf): Fix spelling 2022-01-27 22:32:53 +01:00
Zaiming (Stone) Shi 0cde9e6ecf
Merge pull request #6878 from zmstone/slog-ftw
refactor: delete deprecated logging macros
2022-01-27 16:15:47 +01:00
Zaiming (Stone) Shi d6f7ffec3c
Merge pull request #6881 from zmstone/refactor-upgrade-hocon-0.23.0
refactor: upgrade to hocon 0.23.0
2022-01-27 15:48:23 +01:00
zhongwencool c049e296d4
Merge pull request #6852 from zhongwencool/fix-keepalive-init
fix(keepalive): keepalive desc improvement.
2022-01-27 22:41:10 +08:00
Zaiming (Stone) Shi 815c47e169 test: call logger apis directly 2022-01-27 15:19:50 +01:00
Thales Macedo Garitezi bd0d331b64
Merge pull request #6636 from emqx/elixir-packages-mkII
ci(mix): build emqx packages with elixir
2022-01-27 11:10:30 -03:00
k32 8378f52d06
Merge pull request #6882 from kianmeng/fix-typos
(docs): fix typos
2022-01-27 13:25:44 +01:00
Kian-Meng Ang fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
zhongwencool a7676d0163 fix(doc): Update the documentation/keepalive according to the review. 2022-01-27 18:57:35 +08:00
Zaiming (Stone) Shi 6bf5f2c426 test: fix old hocon API calls 2022-01-27 08:21:31 +01:00
zhongwencool 3ce3c5c805 fix(doc): Update the documentation according to the review 2022-01-27 10:54:11 +08:00
Zaiming (Stone) Shi cf1f19258e refactor(emqx_resource): catch only hocon throw exceptions 2022-01-27 00:23:08 +01:00
Zaiming (Stone) Shi 252d7e85d9 refactor: call new hocon apis 2022-01-27 00:23:08 +01:00
Zaiming (Stone) Shi 8c114db168 chore: pin hocon 0.23.0 2022-01-27 00:23:08 +01:00
Zaiming (Stone) Shi 1718360156 refactor: delete deprecated logging macros 2022-01-26 23:25:11 +01:00
Zaiming (Stone) Shi 586ecaf031 refactor(exhook): log with ?SLOG macro 2022-01-26 22:29:06 +01:00
Zaiming (Stone) Shi 9946f2ecf4 refactor: remove dollar sign from config fields 2022-01-26 22:19:01 +01:00
Thales Macedo Garitezi d6a9a73431
Merge pull request #6874 from emqx/bump-ekka-0-11-3
chore(ekka): update ekka -> 0.11.3
2022-01-26 17:06:56 -03:00
Thales Macedo Garitezi 12f1757328
chore(mix): fix include path for mix 2022-01-26 16:59:50 -03:00
Ilya Averyanov 5ed27f92b7
Merge pull request #6855 from savonarola/ph-interpolation
refactor(authn,authz): unify variable interpolation
2022-01-26 21:01:11 +03:00
Thales Macedo Garitezi f34e87daeb
chore(ekka): update ekka -> 0.11.3
This ekka tag contains the core node discovery callback feature.
2022-01-26 14:19:39 -03:00
Zaiming (Stone) Shi b9e507110c build: add EMQX_ENTERPRISE compile flag 2022-01-26 14:25:59 +01:00
Zaiming (Stone) Shi 391e480824 build: parameterise package version
so that community and enterprise edition can be built from the
same branch
2022-01-26 14:25:59 +01:00
k32 6f8aa016c3 test(bapapi): Print errors to the console 2022-01-26 11:59:32 +01:00
k32 bdc6d18589 feat(bpapi): Version negotiation 2022-01-26 11:59:21 +01:00
zhongwencool abc0a3526e fix(keepalive): keepalive init with right recv_oct 2022-01-26 18:27:15 +08:00
zhongwencool e458d4790c chore(docs): update mqtt schema desc 2022-01-26 16:38:24 +08:00
EMQ-YangM e9f3fa7b6b fix(emqx_connector): when start_pool fails, return error and reason 2022-01-26 16:07:46 +08:00
lafirest 2522a36b0c
Merge pull request #6862 from lafirest/fix/coap
fix(emqx_coap): handle invalid query string in parse
2022-01-26 14:30:50 +08:00
lafirest d422afdf0d
Merge pull request #6864 from lafirest/fix/ignore_auto_sub
fix(emqx_coap): ignore auto subscribe
2022-01-26 13:38:29 +08:00
zhongwencool 53b707b9f8
Merge pull request #6845 from zmstone/refactor-config-3-layers
Refactor config 3 layers
2022-01-26 11:28:10 +08:00
firest 97c18bb0f2 fix(emqx_coap): ignore auto subscribe 2022-01-26 11:25:24 +08:00
firest a544f162c9 fix(emqx_coap): handle invalid query string in parse 2022-01-26 11:08:12 +08:00
Yang Miao 2ea4c1c7ef
Merge pull request #6816 from EMQ-YangM/moreReason
fix(emqx_plugin_libs_pool): throw error with Reason
2022-01-26 10:42:49 +08:00
JimMoen 05d6c40717
Merge pull request #6848 from JimMoen/refactor-api
refactor api swagger spec via hoconsc
2022-01-26 09:49:23 +08:00
Ilya Averyanov 6441978b08 refactor(authn,authz): unify variable interpolation 2022-01-25 20:54:12 +03:00
Shawn 6affac0fe9
Merge pull request #6780 from EMQ-YangM/moreTest
test(emqx_resource): improve emqx_resource test coverage from 73% to 80%
2022-01-25 19:10:28 +08:00
Zaiming (Stone) Shi 2105d1f22b test: call ct helpers to load config 2022-01-25 11:50:18 +01:00
EMQ-YangM 8cfbdc2730 test(emqx_resource): improve emqx_resource test coverage to 80% 2022-01-25 17:59:29 +08:00
Zaiming (Stone) Shi 2a01c7a077 test: ensure clean config for retainer test 2022-01-25 10:42:19 +01:00
JimMoen 4e9e95c317 fix(swagger): spec remove needless description, fix property name 2022-01-25 15:52:13 +08:00
Zaiming (Stone) Shi bf7ac80a83 feat: add api to delete override conf files
used in tests
2022-01-25 08:29:04 +01:00
EMQ-YangM d312f315ac test(emqx_resource_health_check): add more test to
health_check_timeout_checker
2022-01-25 15:07:54 +08:00
EMQ-YangM cb9f14f658 feat(emqx_resource_health_check): add timeout params to health_check_timeout_checker 2022-01-25 14:54:40 +08:00
EMQ-YangM 127384a9ae test(emqx_resource_SUITE): add more test 2022-01-25 14:39:35 +08:00
JimMoen d3381710cd refactor(api): mgmt_status (node running status) swagger spec 2022-01-25 12:22:26 +08:00
JimMoen 8eb7bf261c refactor(api): mgmt_stats (node internal stats) swagger spec 2022-01-25 12:22:26 +08:00
DDDHuang e07ecd5211 fix(api): client subscriptions formatter fun bad match 2022-01-25 11:18:01 +08:00
DDDHuang 6b020b4a01 fix(api): query client subscriptions from cluster empty check 2022-01-25 10:56:56 +08:00
Zaiming (Stone) Shi 21183f3b16 docs: fix authz config doc 2022-01-24 13:30:42 +01:00
Zaiming (Stone) Shi f1937e261c refactor(emqx_config): apply cluster|local overrides on top of base 2022-01-24 13:30:42 +01:00
EMQ-YangM 11f76db67d fix(emqx_resource_validator): remove unused code 2022-01-24 16:11:32 +08:00
EMQ-YangM 40b73fb199 fix(emqx_resource_api): remove unused module 2022-01-24 16:11:32 +08:00
Yang Miao a3e3f2216c
Merge pull request #6793 from EMQ-YangM/health_check_timeout
feat(emqx_resource_health_check): add timeout to single health_check
2022-01-24 16:07:43 +08:00
lafirest 232d67f0c0
Merge pull request #6825 from lafirest/fix/exhook_cover
fix(emqx_exhook): improve test coverage of the emqx_exhook
2022-01-24 15:34:40 +08:00
Yang Miao b528862c67
Merge branch 'master' into health_check_timeout 2022-01-24 14:48:55 +08:00
EMQ-YangM c870a2c78c test(emqx_resource_health_check): add async_create to create_local 2022-01-24 14:24:31 +08:00
lafirest 2327302c28 fix(emqx_exhook): improve test coverage of the emqx_exhook 2022-01-24 12:20:00 +08:00
EMQ-YangM 8506bed489 fix(emqx_resource_health_check): link heath_check, health_check_timeout_checker 2022-01-24 10:18:18 +08:00
JimMoen 8046f3de6f
Merge pull request #6826 from JimMoen/refactor-event-message-api
refactor(api): event_message swagger spec
2022-01-24 09:43:55 +08:00
Ilya Averyanov 7c5e638732
Merge pull request #6832 from savonarola/fix-resource-leakage
fix(emqx_resource): fix resource leakage
2022-01-22 01:03:40 +03:00
Ilya Averyanov acc4ad0542 fix(emqx_resource): fix resource leakage 2022-01-21 22:50:30 +03:00
k32 ffa857ccd9
Merge pull request #6829 from k32/bpapi-lockdown
ci(bpapi): Fail static check on BPAPI violations
2022-01-21 16:08:17 +01:00
k32 d90566be5c ci(bpapi): Fail static check on BPAPI violations 2022-01-21 13:55:09 +01:00
k32 f67278b13d
Merge pull request #6815 from k32/bpapi-gateway
Bpapi gateway
2022-01-21 13:18:21 +01:00
firest 1d832c3026 fix(emqx_exhook): improve test coverage of the emqx_exhook_metrics 2022-01-21 18:05:01 +08:00
JimMoen f30c16e47c refactor(schema): description use binary 2022-01-21 17:52:57 +08:00
JimMoen ab94b49762 refactor(api): event_message swagger spec 2022-01-21 17:45:53 +08:00
k32 c4cb9973a6 fix(emqx_gateway): Apply remarks 2022-01-21 10:42:55 +01:00
JimMoen 1a0862913e refactor(api): swagger api tag `mqtt` 2022-01-21 17:26:54 +08:00
firest a28d1efd39 fix(emqx_exhook): improve test coverage of the emqx_exhook_mgr 2022-01-21 16:12:21 +08:00
JimMoen b950042cbf refactor(api): prometheus swagger spec 2022-01-21 14:09:42 +08:00
DDDHuang baa56a3416
Merge pull request #6813 from DDDHuang/up_minirest
fix(minirest): app version to 1.2.10 support string desc in api spec
2022-01-21 10:40:53 +08:00
DDDHuang e2ba0fc4ae fix(minirest): app version to 1.2.10 support string desc in api spec 2022-01-21 09:41:13 +08:00
DDDHuang 5001852c6f
Merge pull request #6812 from DDDHuang/bad_spec
fix(api): emqx mgmt api clients bad schema
2022-01-21 09:39:45 +08:00
k32 925654978e refactor(emqx_gateway): Reuse emqx_gateway_cm APIs 2022-01-20 19:16:30 +01:00
k32 706d9a899a fix(emqx_gateway_cm): Fix channel ID in set_chan_stats 2022-01-20 18:12:50 +01:00
k32 ab8ab21383 refactor(emqx_gateway): Decorate RPCs 2022-01-20 18:12:50 +01:00
k32 9fad296385
Merge pull request #6809 from k32/bpapi-resource
refactor(emqx_resource): Decorate RPCs
2022-01-20 12:54:46 +01:00
EMQ-YangM 78ca7f2521 fix(emqx_plugin_libs_pool): throw error with Reason 2022-01-20 17:54:18 +08:00
DDDHuang 42580ab298 fix(api): emqx_mgmt_api_clients bad schema 2022-01-20 16:32:02 +08:00
JimMoen f969bc2631
Merge pull request #6802 from JimMoen/refactor-statsd-api
refactor(api): statsd api swagger spec
2022-01-20 15:10:17 +08:00
JimMoen 824e7c4662 refactor(api): statsd api swagger spec 2022-01-20 13:51:20 +08:00
JimMoen e97e7f6fdd
Merge pull request #6762 from JimMoen/refactor-topic-metrics-api
refactor(api): topic_metrics api swagger spec
2022-01-20 13:48:58 +08:00
zhongwencool 5bbe2ec1c6
Merge pull request #6766 from zhongwencool/fix-trace-api-return
fix(trace): create_trace return new trace; delete_trace return 204
2022-01-20 10:41:45 +08:00
JimMoen 31edd49f76 fix(topic_metrics): `POST` `PUT` need response 2022-01-20 10:15:06 +08:00
JimMoen f5cfefc0a5 refactor(api): topic_metrics api swagger spec 2022-01-20 10:15:06 +08:00
k32 c2e5dfae97 fix(bpapi): Ignore emqx_plugin_libs_rule:cluster_call/3 function 2022-01-19 22:00:34 +01:00
k32 542c9a2b68 refactor(emqx_resource): Decorate RPCs 2022-01-19 22:00:34 +01:00
k32 177c9c7f77 fix(bpapi): Ignore pmap for now 2022-01-19 19:09:55 +01:00
k32 7061e6eefe refactor(emqx_exhook): Decorate RPCs 2022-01-19 18:18:20 +01:00
k32 ded45b161a test(emqx_cm_SUITE): Fix flaky test 2022-01-19 16:48:53 +01:00
k32 a469c466a6 test(emqx_mgmt): Exempt do_query function from BPAPI static check 2022-01-19 16:48:53 +01:00
k32 97078002f2 refactor(emqx_cm): Decorate RPCs 2022-01-19 16:48:53 +01:00
k32 5a9f289f1c
Merge pull request #6801 from k32/bpapi-mgmt3
refactor(emqx_mgmt): Decorate get_full_config RPC
2022-01-19 14:42:20 +01:00
k32 80e8790482
Merge pull request #6799 from k32/bpapi-fix-format
fix(emqx_mgmt): Fix formatting of client stats
2022-01-19 14:32:10 +01:00
k32 6940a41743 refactor(emqx_mgmt): Decorate get_full_config RPC 2022-01-19 13:25:50 +01:00
k32 da8b424ff2 fix(emqx_mgmt): Fix formatting of client stats
Fixes: #6798
2022-01-19 12:04:14 +01:00
EMQ-YangM fd7e0c800a feat(emqx_resource_health_check): add timeout to single health_check 2022-01-19 16:45:56 +08:00
DDDHuang e7dd401de9
Merge pull request #6776 from DDDHuang/client_metrics_5x
feat(metrics): client metrics with more detail
2022-01-19 13:36:57 +08:00
DDDHuang 3a80baa087 fix(api): clients api docs 2022-01-19 10:21:09 +08:00
k32 36f10e929d test(lwm2m): Fix flaky test 2022-01-18 17:36:10 +01:00
k32 4e9fb00a0e refactor(mgmt_trace): Decorate RPCs 2022-01-18 16:46:32 +01:00
k32 6e3b05d665 refactor(emqx_plugin): Decorate RPCs 2022-01-18 15:25:34 +01:00
k32 39766d0ab4 refactor(emqx_bridge): Decorate remote procedure calls 2022-01-18 15:25:34 +01:00
k32 e969eff702 fix(emqx_conf): Fix type 2022-01-18 15:25:34 +01:00
k32 fbd7b132ca docs(bpapi): Clarify deprecation procedure 2022-01-18 15:25:34 +01:00
k32 2ccf02cea9 refactor(emqx_mgmt): Decorate RPCs 2022-01-18 14:07:02 +01:00
DDDHuang 98e7ce7b7c fix(test): for paho qos3 2022-01-18 18:06:47 +08:00
JianBo He e1933261c8 chore: remove the pool_size maximum limit 2022-01-18 14:22:23 +08:00
lafirest 6d87db80c1
Merge pull request #6772 from lafirest/fix/exhook_lint
fix(exhook): fix some lint error
2022-01-18 11:41:43 +08:00
DDDHuang f87f80f6e4 feat(metrics): client metrics with more detail 2022-01-18 11:28:41 +08:00
lafirest 967772c7fc fix(emqx_exhook): remove obsolete code 2022-01-18 10:56:45 +08:00
lafirest d4fb98f347 fix(exhook): fix some lint error 2022-01-18 10:47:55 +08:00
lafirest 8f9ecf3e90
Merge pull request #6700 from lafirest/feat/exhook_metrics
feat(emqx_exhooks): add metrics
2022-01-18 09:53:11 +08:00
zhongwencool 75ad2ba65c fix(trace): create_trace return new trace; delete_trace return 204 2022-01-18 09:34:36 +08:00
k32 52441c92fa
Merge pull request #6758 from k32/bpapi-mgmt
refactor(emqx_mgmt): Decorate RPCs
2022-01-17 11:12:02 +01:00
lafirest 86af3a9b8f fix(emqx_exhook): fix some error of indent and dialyzer 2022-01-17 17:16:58 +08:00
lafirest 9a6a8a778b feat(emqx_exhook): add metrics 2022-01-17 16:04:15 +08:00
Shawn 8cee9a9e47 fix(rule): compare to null variables should return false 2022-01-17 14:17:49 +08:00
k32 428eeeffc0 refactor(emqx_cm): Move lookup_client/1 to emqx_cm 2022-01-14 16:45:14 +01:00
k32 288f9254ba refactor(emqx_mgmt): Decorate RPCs 2022-01-14 15:41:10 +01:00
zhongwencool 03a135c592
Merge pull request #6708 from zhongwencool/improve-error-log
Improve authn/authz error log when query failed.
2022-01-14 16:31:59 +08:00
zhongwencool 8b31466538 chore(trace): replace trace_filter by is_trace 2022-01-14 15:33:43 +08:00
zhongwencool 5a31001906
Merge pull request #6749 from zhongwencool/fix-authz-headers
fix(authz): Remove unnecessary headers
2022-01-14 15:15:12 +08:00
zhongwencool 681ab6b754 fix(review): refactor function name base on review sugguestion 2022-01-14 15:00:05 +08:00
zhongwencool 9727eb514d feat(trace): improve debug msg format 2022-01-14 15:00:05 +08:00
zhongwencool dc6c49d7f5 chore(trace): always ?SLOG when ?TRACE 2022-01-14 15:00:05 +08:00
zhongwencool 1cfab9fed5 chore(log): add more detail log for authz/authn query error 2022-01-14 15:00:02 +08:00
JianBo He 8d5e0bbeb7
Merge pull request #6650 from HJianBo/gw-review-r5 2022-01-14 14:46:30 +08:00
zhongwencool c9603bd21e fix(authz): Remove unnecessary headers 2022-01-14 14:11:49 +08:00
Shawn 6572785907
Merge pull request #6712 from tigercl/fix/pgsql
fix: fix errors caused by concurrent parsing of sql
2022-01-14 13:37:47 +08:00
JianBo He c8088f18d9 chore(gw): fix dialyzer warnings 2022-01-14 10:56:19 +08:00
JianBo He 43284768d0 chore(gw): more code coverage for emqx_gateway_conn module 2022-01-14 10:48:56 +08:00
JianBo He cce0b1ca34 fix(stomp): fix the sticky tcp stream parsing 2022-01-14 10:48:56 +08:00
JianBo He 44ea853059 test(gw): more coverage for emqx_gateway_cm 2022-01-14 10:48:56 +08:00
JianBo He 4ce11fec6e fix(stomp): fix parsing rear frame split byte crash 2022-01-14 10:48:56 +08:00
JianBo He e9e559ccd0 test: more code coverage for emqx_gateway_api_clients 2022-01-14 10:48:56 +08:00
JianBo He 3caf0822c4 test(gw): more testcases for emqx_gateway_metrics 2022-01-14 10:48:56 +08:00
JianBo He a829b0b9d0 test(gw): more testcases for emqx_gateway module 2022-01-14 10:48:56 +08:00
JianBo He 056e284bc2 test(gw): more testcases for emqx_gateway_cm_registry 2022-01-14 10:48:56 +08:00
JianBo He 0e011ec4b8 test(gw): more testcases for emqx_gateway_cli module 2022-01-14 10:48:56 +08:00
JianBo He 79a653e2b4 refactor(gw): more readable CLI print 2022-01-14 10:48:56 +08:00
JimMoen d8f49f8a5f
Merge pull request #6732 from JimMoen/telemetry-api-refactor
refactor(api): telemetry api swagger spec
2022-01-14 09:36:54 +08:00
zhouzb c59d9798a4 test: fix test case 2022-01-14 09:26:15 +08:00
k32 aed010da05
Merge pull request #6744 from k32/bpapi-fix-warns
fix(bpapi): Move static checks to test directory
2022-01-13 21:56:57 +01:00
k32 aa54c6135b fix(bpapi): Move static checks to test directory 2022-01-13 20:58:33 +01:00
k32 6207e93e93 refactor(dashboard): Decorate remote procedure calls 2022-01-13 13:14:59 +01:00
k32 5a8f0db0e6 refactor(emqx_prometheus): Decorate remote procedure calls 2022-01-13 13:14:59 +01:00
k32 d84a3fe291 refactor(emqx_conf): Decorate get_override_config_file 2022-01-13 11:38:27 +01:00
k32 727dec14c7
Merge pull request #6727 from k32/bpapi-topic-metrics
refactor(emqx_topic_metrics): Decorate remote procedure calls
2022-01-13 10:15:02 +01:00
zhouzb 5e2bc7853f test: fix test cases for pgsql authz 2022-01-13 16:53:47 +08:00
JimMoen 8c9d98b583 chore: LICENSE Copyright reserved 2022-01-13 16:40:08 +08:00
JimMoen 2939803215 refactor(api): telemetry api swagger spec 2022-01-13 15:53:47 +08:00
JimMoen 82e3565344 chore: major mode file variable for Emacs 2022-01-13 15:53:47 +08:00
zhouzb 683d1c3412 test: fix test cases 2022-01-13 14:27:36 +08:00
zhouzb e2676bcbd8 fix: fix dep of epgsql 2022-01-13 11:39:48 +08:00
zhouzb 452f6e766a fix: return error when parse failed 2022-01-13 11:15:08 +08:00
zhouzb a4f2a9c51d fix: fix dependency of epgsql 2022-01-13 10:40:22 +08:00
zhouzb 559a23c50f chore: update tag of epgsql 2022-01-13 10:15:12 +08:00
k32 8570df075c refactor(emqx_telemetry): Decorate remote procedure calls 2022-01-13 00:35:49 +01:00
k32 e513583e70 refactor(emqx_topic_metrics): Decorate remote procedure calls 2022-01-13 00:11:45 +01:00
k32 64d594d1df
Merge pull request #6705 from k32/bpapi-conf
refactor(emqx_conf): Decorate remote procedure calls
2022-01-12 22:32:35 +01:00
k32 1e795759ce docs(bpapi): Add README 2022-01-12 21:36:24 +01:00
k32 48366a80c8 refactor(emqx_conf): Decorate cluster RPCs 2022-01-12 21:28:24 +01:00
Zaiming (Stone) Shi cc2ae5ed71
Merge pull request #6624 from HJianBo/fix-conf-name-prefix
Remove `emqx_` prefix for some config scopes
2022-01-12 20:36:52 +01:00
k32 784ca5bf24 fix(emqx_map_lib): Fix underspec 2022-01-12 16:20:13 +01:00
k32 d25258943b feat(bpapi): Verify emqx cluster RPC 2022-01-12 16:19:46 +01:00
Zaiming (Stone) Shi 641fe64d00 docs: ensure authn schema ns for password-hash structs 2022-01-12 15:48:30 +01:00
k32 04bac16741 fix(bpapi): Use argument types from the spec 2022-01-12 15:40:21 +01:00
k32 7b65684c45 refactor(emqx_conf): Decorate remote procedure calls 2022-01-12 15:40:21 +01:00
JianBo He 6e0a248555 chore: add namespace for _schema.erl module 2022-01-12 15:01:00 +01:00
Shawn 552ea7d2fc
Merge pull request #6696 from terry-xiaoyu/rule_metrics2
Improve rule metrics
2022-01-12 14:53:09 +08:00
JianBo He b1959086d9 chore: fix elvis warnings 2022-01-12 13:51:37 +08:00
JianBo He 12cc9065f8 chore(limiter): change root name emqx_limiter > limiter 2022-01-12 13:51:37 +08:00
JianBo He 10b110447c chore(exhook): change root name emqx_exhook > exhook 2022-01-12 13:51:37 +08:00
JianBo He af2868e598 chore(dashboard): change root name emqx_dashboard > dashboard 2022-01-12 13:51:34 +08:00
zhouzb 2eb7346229 chore: update tag of epgsql 2022-01-12 13:49:26 +08:00
k32 cad4eff283 refactor(persistent_session): Decorate API calls 2022-01-11 14:28:29 +01:00
k32 6a1ada8623
Merge pull request #6691 from k32/bpapi-run-check
test(bpapi): Run static checks in CI
2022-01-11 13:25:06 +01:00
k32 26f4b2495b test(bpapi): Run verification in CI 2022-01-11 11:26:35 +01:00
JianBo He 6bb919b65c chore(retainer): change root name emqx_retainer > retainer 2022-01-11 15:30:42 +08:00
JianBo He 9a03869bd7 chore(slow-subs): change root name emqx_slow_subs > slow_subs 2022-01-11 15:30:42 +08:00
JianBo He 19dd5a7c97
Merge pull request #6661 from HJianBo/fix-client-fuzzy-matching-for-5
chore: client searching support \[]()* chars
2022-01-11 15:03:44 +08:00
Shawn 2a2a00e0ad fix(rule): remove rules from all nodes in the cluster 2022-01-11 14:44:08 +08:00
zhouzb ac631110cb chore: remove useless field 2022-01-11 10:05:11 +08:00
zhouzb 2791052135 fix: fix errors caused by concurrent parsing of sql 2022-01-11 09:39:56 +08:00
k32 13f0b12b45
Merge pull request #6689 from k32/bpapi-telemetry
fix(emqx_telemetry): Decorate RPC calls
2022-01-10 22:35:18 +01:00
k32 a9673d7d2d fix(emqx_telemetry): Decorate RPC calls 2022-01-10 18:43:44 +01:00
k32 c154c8ae0c
Merge pull request #6686 from k32/bpapi-statsd
fix(emqx_statsd): Decorate RPC calls
2022-01-10 18:38:05 +01:00
k32 3d26592e72 fix(emqx_statsd): Decorate RPC calls 2022-01-10 11:58:00 +01:00
zhongwencool 31d68bfba9
Merge pull request #6684 from zhongwencool/rename-mgmt-ct
chore(test): rename mgmt_xxx_api_SUITE to mgmt_api_xxx_SUITE
2022-01-10 17:17:10 +08:00
zhongwencool 81abf31bc4 chore(test): rename mgmt_xxx_api_SUITE to mgmt_api_xxx_SUITE 2022-01-10 15:52:00 +08:00
zhouzb 76695c9652 test: update epgsql branch to test 2022-01-10 15:00:08 +08:00
JianBo He fcc0d4a2e4 chore: client searching support \[]()* chars 2022-01-10 09:07:53 +08:00
k32 f4bf749134
Merge pull request #6679 from k32/bpapi-emqx
refactor(emqx): Decorate remote procedure calls
2022-01-07 19:52:45 +01:00
k32 9602ce0250
Merge pull request #6678 from k32/broker-bpapi
refactor(emqx_broker): Decorate remote procedure calls
2022-01-07 16:23:12 +01:00
k32 8c72eeb8d1 refactor(emqx): Decorate remote procedure calls 2022-01-07 12:59:10 +01:00
k32 1754afdab0 refactor(emqx_broker): Decorate remote procedure calls 2022-01-07 12:07:29 +01:00
k32 de89f7b253 fix(emqx_rpc): Add types and remove impossible clauses 2022-01-07 12:06:41 +01:00
k32 2307040bec fix(bpapi): Add more static checks exceptions 2022-01-07 10:57:53 +01:00
zhongwencool 6ea51692c3
Merge pull request #6672 from zhongwencool/return-ok-when-trace-not-found
fix: delete error log when file enoent.
2022-01-07 15:36:03 +08:00
zhongwencool 0ec111d4e0 fix(test): flaky emqx_connector_api_SUITE test case. 2022-01-07 14:45:47 +08:00
Shawn 7dcb9567e7 fix(bridge): get bridges from all nodes crash 2022-01-07 14:34:59 +08:00
zhongwencool 977b1bb7ec chore(test): add snabbkaffe for create_trace test 2022-01-07 11:08:40 +08:00
zhongwencool 07ba4ad05e fix: delete error log when file enoent.
delete emqx_trace_api, replace LOG by SLOG
2022-01-07 10:24:26 +08:00
zhouzb 821b50a961 test(mongo): add test case for w_mode option 2022-01-07 09:52:15 +08:00
zhouzb c33eb84cb6 fix(mongo): add r_mode and w_mode options 2022-01-07 09:52:15 +08:00
Shawn 72d55c8c0d fix(rules): improve the names of the metrics 2022-01-07 09:35:00 +08:00
Shawn 67a60e1153 refactor(rule): add more metrics for rule and bridges 2022-01-07 09:34:54 +08:00
Shawn 78aa0abd3d fix(metrics): update the calls to emqx_plugin_libs_metrcis module 2022-01-07 09:34:48 +08:00
Shawn ab5ad22b1d fix(metrics): update the calls to emqx_plugin_libs_metrcis module 2022-01-07 09:34:41 +08:00
Shawn c1212c4b6d refactor(metrics): improve the metrics for bridges/rules 2022-01-07 09:34:31 +08:00
Thales Macedo Garitezi 80a06c7201
Merge pull request #6654 from emqx/fix-unknown-calls
fix: rm unknown call (`ct:pal`)
2022-01-06 14:12:53 -03:00
Thales Macedo Garitezi 9059f2005a
fix(elixir): put Patch in version and add missing deps
Elixir requires that we use version of the form `Major.Minor.Patch`.
Also, Mix requires dependecies to be declared in `rebar.config` so it
can include the header files correctly.
2022-01-06 10:54:45 -03:00
Zaiming (Stone) Shi e9fb999236
Merge pull request #6667 from zmstone/chore-fix-copyright-update-script
chore: fix copyright update script to include more files
2022-01-06 13:45:24 +01:00
zhongwencool 3bdfa183f3
Merge pull request #6666 from JimMoen/merge-5.0-beta.3-to-master
Merge 5.0 beta.3 to master
2022-01-06 18:20:30 +08:00
Zaiming (Stone) Shi 9f7b513a3f chore: fix copyright update script to include more files 2022-01-06 08:44:35 +01:00
JimMoen 552165db26 test(authz): fix test suite based on release-5.0-beta.3 2022-01-06 15:05:52 +08:00
JimMoen 9a115b99a4 Merge remote-tracking branch 'emqx/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-06 14:08:45 +08:00
Zaiming (Stone) Shi 67ba3a06ea chore(gateway): update copyright 2022-01-05 20:55:00 +01:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
zhouzb f4ed3ccdd7 chore(release): update emqx release version 2022-01-05 23:30:06 +08:00
k32 b6efa2aa9c
Merge pull request #6629 from k32/bpapi
feat(bpapi): Add backplane API static checks
2022-01-05 15:26:11 +01:00
zhongwencool f4f5281b16 fix: authz headers default value 2022-01-05 22:06:50 +08:00
Thales Macedo Garitezi c882b08b08
fix: rm unknown call (`ct:pal`) 2022-01-05 10:37:45 -03:00
k32 22bdcfa4b5 fix(bpapi): Apply remarks 2022-01-05 14:37:26 +01:00
zhongwencool d3d240e8d5 fix: revert hocon to 0.22.1 2022-01-05 19:50:11 +08:00
k32 9c675194f5 fix(bpapi): Fix dialyzer warnings 2022-01-05 12:10:48 +01:00
zhongwencool 7e48a4e6f5 fix: authz default should be a map 2022-01-05 19:04:51 +08:00
DDDHuang d39fafbed2
Merge pull request #6651 from DDDHuang/fix_update3
fix(prometheus): restart error
2022-01-05 17:37:50 +08:00
DDDHuang 4588ace79f fix(statsd): restart error 2022-01-05 17:34:20 +08:00
DDDHuang 5e48f55eef fix(prometheus): restart error 2022-01-05 17:32:09 +08:00
DDDHuang db0e4948a1
Merge pull request #6648 from DDDHuang/fix_update2
fix(config): restart app after config update in cluster
2022-01-05 17:14:40 +08:00
zhongwencool adca9e6f22
Merge pull request #6645 from zhongwencool/fix-authz-reboot-headers-atom
fix: make sure authz headers is binary.
2022-01-05 16:49:25 +08:00
DDDHuang 6c574c08b8 fix(config): update config by emqx_conf 2022-01-05 16:11:55 +08:00
DDDHuang 31aed3ea8e fix(prometheus): stop app with error check & dialyzer 2022-01-05 15:59:17 +08:00
zhongwencool c6c7f70a30 chore(hocon): upgrade hocon to 0.22.3 2022-01-05 15:57:19 +08:00
JianBo He 47441fb747 fix(gw): fix bad default oom policy 2022-01-05 15:49:44 +08:00
tigercl a7325fe4d0
Merge pull request #6613 from JimMoen/update-dashobard
update dashboard version, fix connector api
2022-01-05 15:30:30 +08:00
zhongwencool 303707d69d fix: make sure authz headers is binary. 2022-01-05 15:11:16 +08:00
DDDHuang 72713cb85f fix(config): restart app after config update in cluster 2022-01-05 15:06:18 +08:00
tigercl 4b4403354d
Merge pull request #6558 from JimMoen/fix-auth-http
authn and authz http query string percent encode in url field
2022-01-05 14:06:10 +08:00
Shawn 21bf07a01c fix(test): race conditions in connector_api_SUITE 2022-01-05 11:41:17 +08:00
lafirest 81d862061a
Merge pull request #6557 from lafirest/fix/limiter
feat(emqx_limiter): improve burst implementation
2022-01-05 09:43:22 +08:00
DDDHuang d35b418ed6
Merge pull request #6616 from DDDHuang/emqx_prometheus_cluster
fix(prometheus): update config in cluster
2022-01-05 09:43:11 +08:00
lafirest a212592d0e
Merge pull request #6594 from lafirest/fix/default_value
fix(emqx_slow_subs): fix default expire value
2022-01-05 09:42:53 +08:00
lafirest 6a80f8320d
Merge pull request #6622 from lafirest/fix/retainer_stats
fix(emqx_retainer): fix the stats function of retainer
2022-01-05 09:42:38 +08:00
DDDHuang eabede04f3 fix(test): emqx_connector_api_SUITE add sleep 2022-01-05 09:28:49 +08:00
DDDHuang 20c5343f9b fix(prometheus): dialyzer 2022-01-05 09:28:49 +08:00
DDDHuang e908973a86 fix(statsd): update config bug 2022-01-05 09:28:49 +08:00
DDDHuang 7bc59969eb fix(prometheus): update config in cluster 2022-01-05 09:28:49 +08:00
JianBo He f5288e895f
Merge pull request #6617 from HJianBo/integrate_emqx_conf_into_modules 2022-01-05 09:23:52 +08:00
k32 4f3f938d71 feat(bpapi): Introduce bpapi behavior 2022-01-05 01:43:18 +01:00
k32 0f6ec9d646 fix(bpapi): Fix build 2022-01-05 01:28:34 +01:00
k32 eaa71438b2 feat(bpapi): Typecheck function parameters 2022-01-05 01:28:34 +01:00
k32 64378be9a0 fix(bpapi): Optimize BPAPI dump size 2022-01-05 01:28:34 +01:00
k32 2c3af8d9fe feat(bpapi): Move to emqx
Fix standalone build
2022-01-05 01:28:34 +01:00
k32 96fdd0c31f fix(bpapi): Fix build order 2022-01-05 01:28:34 +01:00
k32 5c2a559991 feat(bpapi): Initial commit 2022-01-05 01:28:34 +01:00
k32 6ee18b6104 refactor(broker): Don't use a macro 2022-01-05 01:28:31 +01:00
Zaiming (Stone) Shi 211b8e1b06 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-04 22:48:25 +01:00
Zaiming (Stone) Shi 503bf54c77 test(authz): fix meck calls
f
2022-01-04 13:54:25 +01:00
JimMoen fa25991c5c test(authz): authnz acl query string use placehodler 2022-01-04 18:13:27 +08:00
JimMoen 6affb5aca1 fix(authn): authn http resource url query string 2022-01-04 18:13:27 +08:00
JimMoen ab37c48860 fix(authz): authz http resource url query string 2022-01-04 18:13:27 +08:00
lafirest a593921137 fix(emqx_retainer): fix the stats function of retainer 2022-01-04 17:26:48 +08:00
lafirest aacdc5c2f7 fix(emqx_retainer): remove disc_only option 2022-01-04 14:40:11 +08:00
JianBo He 126924bc54
Merge pull request #6567 from HJianBo/gw-review-r4 2022-01-04 11:24:03 +08:00
JianBo He 2c67ec44f4 fix(topic-metrics): fix bad map for calculating metrics 2022-01-04 11:11:41 +08:00
zhongwencool aa4eec3127
Merge pull request #6591 from zhongwencool/api-key-update-unexpired
fix(api_key): set api_key unexpired when update expired_at=undefined
2022-01-04 10:54:05 +08:00
zhongwencool 075669461c fix: compile error 2022-01-04 09:53:50 +08:00
Zaiming (Stone) Shi b5e7344752 build(emqx_plugin_libs): add rebar.config to help mix build 2022-01-04 01:00:09 +01:00
Zaiming (Stone) Shi e3c8f67aaf test: resource creation now checks health
adjust test case to work with new code behavior
2022-01-04 00:54:09 +01:00
Zaiming (Stone) Shi 7b478817bd test: test authz against 'single' mogodb 2022-01-04 00:54:09 +01:00
Zaiming (Stone) Shi 6c99b64e4c refactor(emqx_plugin_libs_pool): structured logging 2022-01-04 00:54:09 +01:00
Zaiming (Stone) Shi 719800914a Merge branch 'ci-run-dialyzer-on-slef-hosted' into merge-5.0-beta.3-to-master 2022-01-03 16:23:11 +01:00
Zaiming (Stone) Shi f866488bc2 test: fix mongodb tls suite
dryruns return error when local health check fails
2022-01-03 16:22:44 +01:00
k32 b4048c2789
Merge pull request #6609 from k32/dev/sysmon-conf
fix(system_monitor): Unify configuration with sysmon
2022-01-03 14:03:32 +01:00
Zaiming (Stone) Shi 2fbe2dd0c3 fix(boot): ensure emqx_conf is the first app to boot
The first one to boot after emqx_machine
2022-01-03 12:53:49 +01:00
k32 377ed03a20 fix(system_monitor): Unify configuration with sysmon 2022-01-03 12:09:37 +01:00
Zaiming (Stone) Shi 65b1ce80d9 chore: fix deps discrepancy 2022-01-03 11:47:43 +01:00
Zaiming (Stone) Shi 2898fa76e1 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-03 11:39:06 +01:00
JianBo He e00cf71911
Merge branch 'release-5.0-beta.3' into gw-review-r4 2022-01-03 16:05:46 +08:00
Shawn e95445728c fix(test): wait until the bridge ready 2022-01-02 23:59:56 +08:00
Shawn 11736dc1d7 fix(bridge): check health immediately after updated 2022-01-02 22:45:32 +08:00
Shawn a64b29ff76 fix(resource): re-create the helth checker if already exists 2022-01-02 20:36:30 +08:00
Shawn e1ab331a30 refactor(resource): support async create mode 2022-01-02 20:20:39 +08:00
Shawn 2277b75b2f refactor(resource): improve the process starting/stopping resource instances 2022-01-02 17:14:02 +08:00
Shawn 95340b7baa
Merge pull request #6564 from EMQ-YangM/beta3
feat(emqx_resource): add health_ckeck process
2022-01-02 12:46:22 +08:00
zhongwencool 33523d9294
Merge branch 'release-5.0-beta.3' into api-key-update-unexpired 2022-01-02 09:35:04 +08:00
Shawn 808646c2a1 fix(bridge): prohibit deleting connectors that are in use 2022-01-01 22:10:13 +08:00
Ilya Averyanov 852033a955
Merge pull request #6525 from savonarola/authn-ssl-tests
chore(authn): test authn ssl settings
2022-01-01 13:41:37 +03:00
Shawn 59e2614574 fix(dialyzer): unmatched results in emqx_statsd_api 2022-01-01 04:23:51 +08:00
Shawn 925d46fe86 fix(connector): add testcase for binding egress mqtt bridge to rules 2022-01-01 04:12:20 +08:00
Shawn 9a7452e1c5 fix(connector): add testcase for binding ingress mqtt bridge to rules 2022-01-01 03:07:31 +08:00
Thales Macedo Garitezi 6858f496a7
chore(hocon): update hocon version 2021-12-31 14:13:39 -03:00
Shawn 7643564ef1
Merge pull request #6597 from terry-xiaoyu/bridge_bug_fixes_2
Bridge bug fixes 2
2022-01-01 00:10:26 +08:00
Ilya Averyanov 384493369b
Merge pull request #6587 from savonarola/improve-authz-coverage-more
chore(authz): increase coverage
2021-12-31 18:58:21 +03:00
Shawn efec4564f0 fix(resource): update test cases on resource not_found 2021-12-31 22:25:45 +08:00
Shawn b74a9bfda1 fix(swagger): duplicate keys in swagger doc 2021-12-31 22:20:22 +08:00
Shawn 658f819aab fix(bridges): keep multiple bridges from affecting each other on crash 2021-12-31 21:28:32 +08:00
Shawn f65eca4c47 fix(authn): update testcase for resource not running 2021-12-31 21:08:07 +08:00
Shawn 657ecef67b fix(resource): don't crash on resource stopped 2021-12-31 20:57:34 +08:00
Zaiming (Stone) Shi 071b03b29c refactor: statsd supervisor API no need to return error
Also to make dialyzer happy
2021-12-31 12:27:25 +01:00
zhongwencool 2a0d8752bd fix(statsd): already_started crash and diaylizer warning 2021-12-31 17:32:51 +08:00
zhongwencool d0e8285e93 fix(trace): download trace request not compelete but the zip file is delete sometimes 2021-12-31 17:32:07 +08:00
zhongwencool 87bff075ad fix(api_key): set api_key unexpired when update expired_at=undefined 2021-12-31 17:32:07 +08:00
JianBo He 231aeb6068 fix(statsd): fix dialyzer warnings 2021-12-31 16:41:35 +08:00
DDDHuang 54ea7a5871
Merge pull request #6582 from DDDHuang/config_bugfix
fix(config):  update configs in cluster
2021-12-31 16:03:41 +08:00
DDDHuang d27aecc985
Merge pull request #6590 from DDDHuang/delayed_b64
fix(delayed): base64 encode twice
2021-12-31 16:02:32 +08:00
lafirest 6404efd0ec fix(emqx_slow_subs): fix default expire value 2021-12-31 15:59:47 +08:00
Shawn e299d8d138 fix(rule): rules not triggered after the ingress mqtt bridge received some msg 2021-12-31 15:47:03 +08:00
Zaiming (Stone) Shi b09d0d8e4c
Merge pull request #6586 from zmstone/docs-explain-layered-config-at-the-top
docs: explain layered config at the top
2021-12-31 08:10:15 +01:00
JianBo He 2411c22b42 fix(gw): fix bad listners field on http response 2021-12-31 14:59:17 +08:00
JianBo He 990514a048 fix(gw): stop xml_object_db process synchronously 2021-12-31 14:32:03 +08:00
JianBo He 2a20f110b9 fix(gw): use emqx_http_lib to parse uri 2021-12-31 14:32:03 +08:00
DDDHuang 6cde540fd1 fix(test): close app at end_per_suite 2021-12-31 14:17:50 +08:00
DDDHuang 388fdc6057
Merge pull request #6589 from DDDHuang/statsd_cluster_config
fix(statsd): update config in cluster
2021-12-31 14:09:05 +08:00
DDDHuang d18a2ab57c fix(delayed): base64 encode twice 2021-12-31 14:07:34 +08:00
EMQ-YangM c7693246fe feat(emqx_resource): add health_ckeck process, it will periodically perform health checks, and print error logs and generate alarms when the checks fail. 2021-12-30 21:53:51 -08:00
JianBo He 6e6643f974 fix: fix dialyzer warnings 2021-12-31 12:51:35 +08:00
JianBo He ebbb473d7a refactor(topic-metrics): cluster supported 2021-12-31 12:50:23 +08:00
DDDHuang 3a38e8d68d fix(statsd): update config in cluster 2021-12-31 12:48:24 +08:00
DDDHuang 173ae46538 fix(auto_subscribe): bad test suite 2021-12-31 12:46:29 +08:00
DDDHuang a630044688 fix: update result by row_config 2021-12-31 12:46:29 +08:00
DDDHuang f0330d9334 fix(event_message): update config in cluster 2021-12-31 12:46:29 +08:00
DDDHuang 6c52fb4806 fix: code format 2021-12-31 12:46:29 +08:00
DDDHuang 23cf74d829 fix(delayed): update config in cluster 2021-12-31 12:46:29 +08:00
DDDHuang f19ccdfcde fix(auto_subscribe): update config in cluster 2021-12-31 12:46:29 +08:00
Shawn 9ba454a63d fix(bridge): filter the topic of received msgs got from remote MQTT broker 2021-12-31 12:00:43 +08:00
Shawn 14ee053a0e
Merge pull request #6563 from terry-xiaoyu/bridge_bug_fixes_1
Bridge bug fixes 1
2021-12-31 11:57:28 +08:00
lafirest 922fc0ad9f
Merge pull request #6578 from lafirest/fix/retainer_config
fix(emqx_retainer): fix config update error
2021-12-31 11:13:44 +08:00
lafirest 86001765cb fix(emqx_retainer): fix config update error 2021-12-31 09:56:25 +08:00
Ilya Averyanov 2ffcaad41e chore(authz): increase coverage 2021-12-31 01:24:18 +03:00
Thales Macedo Garitezi c29bc126ef
Merge pull request #6507 from emqx/build-with-mix-mkII
Build with Elixir Mix Release
2021-12-30 15:00:38 -03:00
Zaiming (Stone) Shi d88a648092 docs: update config doc
Explain layered style at the very top of the doc
2021-12-30 18:38:01 +01:00
Zaiming (Stone) Shi d191f7cf7e chore: update to hocon 0.22.2 2021-12-30 18:36:26 +01:00
Shawn 94a5965560 fix(rule): dead lock when update configs for rules 2021-12-31 00:03:03 +08:00
Shawn 626a4c4713 fix(machine): some apps not restarted after joining into the cluster 2021-12-31 00:03:03 +08:00
Shawn a42ab3d9da fix(rule): use emqx_conf:update/3 to make changes to all nodes 2021-12-31 00:03:03 +08:00
Shawn ea2d4674df fix(resource): metrics were cleared after updating the resource 2021-12-31 00:03:03 +08:00
Shawn e2d899ad6e fix(bridge): HTTP reqeust crash if using GET an DELETE method 2021-12-31 00:03:03 +08:00
Shawn 9d733c2ec5 fix(resource): typos on restart a resource 2021-12-30 23:48:41 +08:00
Shawn d11cf6ad64 fix(bridges): store connector name and bridge name to config files 2021-12-30 23:48:41 +08:00
Shawn 110ae62b24 fix(bridge): don't concat names into ids 2021-12-30 23:48:41 +08:00
Shawn 14089a572e fix(bridge): changes timeouts from 30s to 15s 2021-12-30 23:48:41 +08:00
Shawn aefcd6275b fix(bridges): ingress MQTT bridges didn't increase counters on msg received 2021-12-30 23:48:41 +08:00
Shawn c23436166b fix(bridge): HTTP connector should failed on non-200 status codes 2021-12-30 23:48:41 +08:00
Shawn ea1aaa9806 fix(bridge): remove clientid config from MQTT bridges
Don't allow the user provide the clientid for connecting the remote broker.
We generate the clientid using the bridge id and node name.
2021-12-30 23:48:41 +08:00
zhongwencool d16362af96
Merge pull request #6547 from zhongwencool/trace-formatter
feat(trace): replace logger_formatter by emqx_trace_formatter
2021-12-30 23:40:59 +08:00
zhongwencool 489fb7f806 fix(trace): copy binary:encode_hex/2 from binary.erl 2021-12-30 21:38:23 +08:00
JimMoen ff3707fbdc
Merge pull request #6565 from JimMoen/fix-redis-servers-field
fix(connector): redis cluster `servers` field
2021-12-30 19:33:12 +08:00
Ilya Averyanov c98e0efdad chore(mongodb): update client 2021-12-30 13:57:48 +03:00
DDDHuang c2e36b041b fix: dashboard return type 2021-12-30 18:53:09 +08:00
Ilya Averyanov 7208669946 chore(authn): reduce number of pre-generated certificates, refactor
tests
2021-12-30 13:49:14 +03:00
lafirest 0e62a6772c fix(emqx_slow_subs): fix config update error 2021-12-30 16:58:33 +08:00
JimMoen da68dfc8f4 test(authz): `servers` field use string 2021-12-30 15:38:04 +08:00
JimMoen 8cb9482542 fix(authz): `servers` field use string 2021-12-30 15:37:53 +08:00
JimMoen 39c29b2396 fix(connector): redis cluster `servers` field 2021-12-30 15:37:53 +08:00
lafirest f466a9f2de fix(emqx_slow_subs): fix timer management error 2021-12-30 15:30:25 +08:00
lafirest c6cc92c608
Merge pull request #6575 from lafirest/fix/slow_subs_api
fix(emqx_slow_subs): limit the max size of top-k table
2021-12-30 14:53:37 +08:00
DDDHuang bd241f4220
Merge pull request #6568 from DDDHuang/api_authbeta3
fix(api): auth failed with basic type check
2021-12-30 14:53:16 +08:00
lafirest ed086728cf fix: Revert "fix(emqx_retainer): add support for RAP falg"
This reverts commit b80a01554b.
2021-12-30 11:32:08 +08:00
lafirest d60c586bfb fix(emqx_slow_subs): limit the max size of top-k table 2021-12-30 10:38:32 +08:00
DDDHuang db9d269034 fix(dashboard): batter auth failed response message 2021-12-30 10:29:20 +08:00
JianBo He e8acec7f56
Merge pull request #6549 from HJianBo/gw-review-r3
- Add endpoint_name, like_endpoint_name, gte_lifetime, lte_lifetime query parameters for Swagger docs
- Optimize the atomicity of the gateway creation procedure and reduce the side effects if creation failed
2021-12-30 09:54:54 +08:00
Thales Macedo Garitezi 3fc8d4049f
Merge pull request #6571 from emqx/fix-sticky-shared-sub-conf
fix(config): add missing enum constructors for `shared_subscription_strategy`

Currently, there's [code](048afa6d2d/apps/emqx/src/emqx_shared_sub.erl (L270-L279)) and tests that expect the possibility of
values `sticky`, `hash_topic` and `hash_clientid` in the
`node.shared_subscritpion_strategy` configuration, but the schema enum
does not contain those constructors.

There's also a `hash` constructor expected, but apparently it's just for backwards compatibility (same as `hash_clientid`), so maybe we can skip it in 5.0
2021-12-29 15:08:49 -03:00
zhongwencool 43141dffee
Merge branch 'release-5.0-beta.3' into trace-formatter 2021-12-29 22:37:59 +08:00
zhongwencool b8bb5ff738 fix(trace): delete duplicate topic from msg 2021-12-29 22:33:34 +08:00
Thales Macedo Garitezi 048afa6d2d
fix(config): add missing enum constructors for `shared_subscription_strategy`
Currently, there's code and tests that expect the possibility of a
value `sticky`, `hash_topic` and `hash_clientid` in the
`node.shared_subscritpion_strategy` configuration, but the schema enum
does not contain those constructors.
2021-12-29 10:34:20 -03:00
Ilya Averyanov 2b3d3ebb0a chore(authn): test JWT authn with HTTPS key server 2021-12-29 16:24:57 +03:00
Ilya Averyanov f230c20521 chore(authn): test HTTPS authn 2021-12-29 16:24:57 +03:00
Ilya Averyanov a7ca6cb39f chore(authn): test MongoDB authn via ssl connection 2021-12-29 16:24:52 +03:00
Zaiming (Stone) Shi f5049b696a docs: fix a misspell in emqx_mgmt_cli 2021-12-29 13:29:51 +01:00
DDDHuang 34dfc327f3 fix(api): auth failed with basic type check 2021-12-29 19:34:13 +08:00
zhongwencool 04313dc044 fix(trace): download trace api not working 2021-12-29 19:03:54 +08:00
zhongwencool 121d906992 chore(log): add SLOG/3 to add meta info 2021-12-29 14:48:48 +08:00
JianBo He 6280c8c9f0 chore: fix dialyzer warnings 2021-12-29 14:02:45 +08:00
tigercl d769401869
Merge pull request #6555 from tigercl/chore/new-epgsql
chore: support prepared query in postgresql connector
2021-12-29 13:37:29 +08:00
zhongwencool 8b5b3a448a fix(test): trace_handler ct fail 2021-12-29 11:06:31 +08:00
Thales Macedo Garitezi 8f4453fedb
fix(gateway): undo move headers to root `include`
Keeping headers in the src directory makes sense for the interfaces we
don't want to expose outside, but the `include_lib` directive fails to
compile under Mix. Changing `include_lib("emqx_gateway/src/...")` to
`-include("src/...")` pleases both Mix and Rebar.
2021-12-28 17:34:47 -03:00
zhongwencool 4b6bba11eb feat(trace): struct log for trace 2021-12-29 00:26:54 +08:00
zhongwencool b78cfa0a1c fix(api_key): support expired_at never expired when undefined 2021-12-29 00:22:59 +08:00
zhongwencool 0712fc1e75 chore(schema): remove emqx_schema:unicode_binary/0 2021-12-28 23:50:12 +08:00
Thales Macedo Garitezi 0020cf592f
Merge remote-tracking branch 'origin/master' into build-with-mix-mkII 2021-12-28 11:28:40 -03:00
Ilya Averyanov f8ffb9c021
Merge pull request #6506 from savonarola/test-authz-mnezia
Test HTTP, Mria, File authorization
2021-12-28 15:53:37 +03:00
zhongwencool 47be5b9ef2
Merge pull request #6539 from zhongwencool/fix-override-conf-not-load
fix(conf): can't include local/overide-conf file
2021-12-28 18:03:56 +08:00
Zaiming (Stone) Shi 0f14f73a50
Merge pull request #6552 from zmstone/fix-5.0-portable-shebang
fix: portable shebang
2021-12-28 10:51:15 +01:00
Shawn 3a39db4f97
Merge pull request #6550 from terry-xiaoyu/fix_utf8_topic_rewrite
Fix utf8 topic rewrite
2021-12-28 17:08:23 +08:00
Shawn 1d4be368cb
Merge pull request #6556 from terry-xiaoyu/fixes_for_bridges
Bug fixes for data bridges
2021-12-28 17:07:54 +08:00
zhongwencool e44f7de596 chore(conf): update hocon to 0.22.1 2021-12-28 16:17:19 +08:00
Ilya Averyanov 9363b6110e chore(authz): make test http server more robust 2021-12-28 11:06:52 +03:00
tigercl 6a686c3314
Merge pull request #6503 from tigercl/feat/authz-config
feat(authz): support sync configuration in the cluster
2021-12-28 14:39:56 +08:00
Shawn 07997ab865 fix(bridge): Bridges should send a JSON message if payload template not set 2021-12-28 14:18:14 +08:00
Shawn 4406589980 fix(bridge): time unit error for MQTT keepalive 2021-12-28 14:12:28 +08:00
lafirest e48df910d8
Merge pull request #6493 from lafirest/refactor/exhook
refactor(emqx_exhook): refactore exhook and add api module
2021-12-28 14:00:19 +08:00
zhouzb 487b84f166 test: fix test case 2021-12-28 11:37:51 +08:00
Shawn eb992ad2ad fix(bridge): add test cases for sending msgs via http bridge 2021-12-28 11:35:47 +08:00
zhouzb 1a22d5ca46 fix: fix undef function call 2021-12-28 11:21:41 +08:00
Shawn bf2392f682 chore(typerefl): update typerefl to 0.8.6 2021-12-28 10:52:30 +08:00
lafirest c68499e39a fix(api): fix the payload in the result of the api of emqx_retainer & emqx_dealy 2021-12-28 10:25:53 +08:00
lafirest e2240bdf03 feat(emqx_limiter): improve burst implementation 2021-12-28 10:13:55 +08:00
Shawn 1cd226c18b fix(bridge): make direction defaults to egress if not provided 2021-12-28 10:12:39 +08:00
zhouzb d26042703e chore: provide prepared_query and equery 2021-12-28 09:52:31 +08:00
lafirest afe51446b0
Merge pull request #6538 from lafirest/fix/rap
fix(emqx_retainer): add support for RAP falg
2021-12-28 09:31:57 +08:00
zhouzb fc89fb0f8a chore: using prepared query in postgresql connector 2021-12-28 09:16:00 +08:00
Zaiming (Stone) Shi 68eb13d478 fix: portable shebang 2021-12-27 15:45:12 +01:00
JianBo He 8203b1f328 refactor(gw): simplify massive repeated codes 2021-12-27 16:50:39 +08:00
Shawn e9c2b5d1cf fix(rewrite): don't check and translate body for topic rewrite APIs 2021-12-27 16:17:59 +08:00
Ilya Averyanov e2e2c98679 chore(authn): test Mysql authn via ssl connection 2021-12-27 11:16:31 +03:00
Ilya Averyanov 6de89d1207 chore(authn): test PostgreSQL authn via ssl connection 2021-12-27 11:16:31 +03:00
Ilya Averyanov 520629d6e2 chore(authn): test Redis authn via ssl connection 2021-12-27 11:16:31 +03:00
JianBo He 76b35910b7 chore(gw): fix elvis warnings 2021-12-27 16:03:31 +08:00
JianBo He fca5a3bc21 chore(gw): add cli testcases 2021-12-27 16:03:31 +08:00
zhongwencool 668180388c feat(trace): replace logger_formatter by emqx_trace_formatter 2021-12-27 14:40:40 +08:00
tigercl d781dc73a5
Merge pull request #6536 from tigercl/fix/authn-ssl
fix(authn): attempt to convert certificate content only when TLS is enabled
2021-12-27 09:50:11 +08:00
JianBo He 523b5761b7
Merge pull request #6527 from HJianBo/fix-receive-maximum-50
fix: disconnect the client due to exceed receive-maximum packets
2021-12-27 09:13:24 +08:00
Thales Macedo Garitezi cc652c3343
ci(mix): add elixir deps check
Checks whether there are discrepancies between rebar3 and mix deps.
2021-12-24 14:44:49 -03:00
Ilya Averyanov 2bada0bab8 chore(authz): test Mria authz 2021-12-24 16:18:46 +03:00
Ilya Averyanov d75e0104cc chore(authz): test file authz with real files 2021-12-24 16:18:41 +03:00
Ilya Averyanov e0f860d7d9 chore(authz): fix HTTP authz, cover with tests 2021-12-24 16:18:36 +03:00
zhongwencool 0b099432c5 fix(conf): can't include local/overide-conf file 2021-12-24 19:20:36 +08:00
lafirest b80a01554b fix(emqx_retainer): add support for RAP falg 2021-12-24 18:03:55 +08:00
zhongwencool 6326e436d3
Merge pull request #6532 from zhongwencool/fix-banned-bad-peerhost-crash
fix(banned): crash by bad peerhost; add banned http API tests
2021-12-24 17:04:26 +08:00
tigercl 41694b7b34
Merge pull request #6526 from emqx/release-5.0-beta.3
Sync 5.0-beta.3 fixes into master
2021-12-24 13:49:13 +08:00
zhouzb 72a27e9d8f fix: fix undefined function call 2021-12-24 13:44:28 +08:00
zhouzb 9769ddeb14 fix(authn): attempt to convert certificate content only when TLS is enabled 2021-12-24 13:40:13 +08:00
zhongwencool 33a6568654 fix(banned): crash by bad peerhost; add banned http API tests 2021-12-24 10:56:41 +08:00
lafirest d2d50443ce fix(emqx_retainer): use base64 to encode payload in api's result 2021-12-24 10:48:12 +08:00
lafirest 8c42b623c6
Merge pull request #6529 from lafirest/fix/retain_payload
fix(emqx_retainer): use base64 to encode payload in api's result
2021-12-24 10:26:00 +08:00
lafirest b6755d5953 fix(emqx_retainer): use base64 to encode payload in api's result 2021-12-24 10:22:10 +08:00
Thales Macedo Garitezi 11c169501e
chore(mix): fix app dependencies and reboot apps (emqx_conf)
While declaring `emqx_conf` as an application dependency of
`emqx_resource` worked for releases, it messed up the startup
relationship during tests.  Since only removing `emqx_conf` from the
`applications` key in `emqx_resource` breaks the list of apps that
need to be rebooted on config changes (since `emqx_conf` is not on any
apps dependencies list, it was not being added to the final
topologically sorted list), we now always add it as a vertex to ensure
its presence there.  This (apparently) makes the rebar3 release, the
mix release and test runs behave normally.
2021-12-23 13:48:28 -03:00
k32 bd31b52e35 chore(ekka): Bump version to 0.11.2 2021-12-23 15:29:35 +01:00
Spycsh 41e373dbc4
Merge pull request #6478 from Spycsh/slog
chore: refactor ?SLOG
2021-12-23 22:21:33 +08:00
lafirest 7c9c7b6a60 refactor(emqx_exhook): refactore exhook and add api module 2021-12-23 17:51:13 +08:00
JianBo He 52502e29c3 fix: disconnect the client due to exceed receive-maximum packets
As described in the 5.0 specification, we should disconnect clients that
exceed the receive-maximum limit.

> If it receives more than Receive Maximum QoS 1 and QoS 2 PUBLISH packets
where it has not sent a PUBACK or PUBCOMP in response, **the Server uses a
DISCONNECT packet with Reason Code 0x9**

fix: #6447
2021-12-23 14:06:11 +08:00
zhouzb 80c1128b7a fix(authz): fix deadlock issues 2021-12-23 11:45:58 +08:00
JianBo He 967989075c
Merge pull request #6512 from terry-xiaoyu/fix_rule_api_swagger
Fix rule api swagger
2021-12-23 10:37:53 +08:00
Thales Macedo Garitezi 238895a301
chore(mix): correctly define release version
With this, we no longer need the last hack in `mix_release.sh`.

A version schema with 3 parts (Major.Minor.Patch) is required by
Elixir:

https://hexdocs.pm/elixir/1.13.1/Version.html#module-versions
2021-12-22 15:43:43 -03:00
Thales Macedo Garitezi e137555052
fix(tests): fix include paths that were moved 2021-12-22 15:15:19 -03:00
Thales Macedo Garitezi 68cbded7c6
fix(dialyzer): fix dialyzer warnings
Adding hocon to emqx solves the issue, since other offending apps
depend on emqx.  The warnings were that it was not able to find info
on the `hocon_schema` behaviour.

Example:
```
Callback info about the hocon_schema behaviour is not available
```
2021-12-22 15:15:19 -03:00
JianBo He b846193556
Merge pull request #6518 from HJianBo/gw-review-r2 2021-12-22 22:10:18 +08:00
Thales Macedo Garitezi 34d6dbca61
chore(mix): simplify build by using rebar3 for umbrella apps
By treating the apps in the umbrella as dependencies to be managed and
built by rebar3, we can simplify the maintenance of the release, at
the cost of increased build times: using Mix as before, it could track
changed files better than using rebar.  But the complexity and
possibility of discrepancies make it using rebar much more compelling.
2021-12-22 09:40:01 -03:00
JianBo He 1bcdbf3a06 chore(gw): make some fields required 2021-12-22 16:49:34 +08:00
JianBo He 6d4aac1600 chore(gw): improve http error messages 2021-12-22 16:49:33 +08:00
JianBo He 3fd9061418 fix(gw): save coap channel info 2021-12-22 16:49:33 +08:00
zhongwencool 2e10a5700c
Merge pull request #6515 from zhongwencool/fix-bann-utf8
fix(banned): create banned with utf8 failed by 500 response
2021-12-22 16:08:34 +08:00
zhongwencool b11a15fa00 fix(banned): create banned with utf8 failed by 500 2021-12-22 14:29:15 +08:00
Shawn cd4227b851 fix(rules): don't show the module name 'emqx_rule_outputs' in outputs 2021-12-22 10:26:22 +08:00
Shawn 9b4b3d2e8c fix(rules): make the 'name' field of POST /rules mandatory 2021-12-22 10:26:22 +08:00
Shawn 5f050b149b fix(rules): the schema for unsubscribe is messing from rule_test API 2021-12-22 10:26:22 +08:00
Thales Macedo Garitezi 917575de5a
chore(mix): minimal elixir mix release build
This commit enables a minimal working build of EMQX release using
Mix.  However, to properly start the release, several configuration
steps are still missing.  A `mix_release.sh` script does a few hacks
to get the release built with Mix to start properly, by first assuming
that `make emqx` has been run prior to the release, ran once to
generate the `app.*.config` files, and then it copies that and some
other files to the expected places.

Also, `emqx_telemetry` hangs the start procedure because it thinks
it's in an official release and tries to make a request.  We disable
it temporarily via config just to get a working build for now.
2021-12-21 13:51:22 -03:00
zhouzb 25b7719db5 feat(authz): support sync configuration in the cluster 2021-12-21 17:00:49 +08:00
JimMoen 99a5f14301 fix(telemetry): use required fields, rolling distro use PRETTY_NAME 2021-12-21 10:44:54 +08:00
JimMoen 6f28e103d0 fix(dashobard): statistical diagram timestamp use UTC time 2021-12-20 19:21:19 +08:00
JianBo He db08cee20f
Merge pull request #6456 from HJianBo/gw-review-r1 2021-12-20 13:48:24 +08:00
Shawn efb0365cdd
Merge pull request #6481 from terry-xiaoyu/fix_rule_apis
fix(connector): some desc for connector APIs
2021-12-20 13:46:29 +08:00
Shawn 27de3139a4 fix(http_connect): don't check status on_start 2021-12-20 11:36:52 +08:00
zhongwencool f7a55d3f8d
Merge pull request #6238 from zhongwencool/fix-keepalive-ct-failed
fix: keepalive ct failed
2021-12-20 11:00:20 +08:00
JianBo He 5b1ed76a44 chore(gw-frame): export types for dialyzer check 2021-12-20 10:59:16 +08:00
Shawn a879ec0f3a feat(resource): add option 'force_create' to emqx_resource:create/4 2021-12-20 10:26:27 +08:00
zhongwencool 96ee51fe57
Merge pull request #6460 from zmstone/feat-add-plugin-mgmt
refactor(plugins): refactor plugins configuration interface
2021-12-20 09:24:38 +08:00
Shawn 05e24b457a fix(bridge): update emqx_bridge.conf 2021-12-18 20:53:14 +08:00
Shawn a9c9d9d805 fix(rule): rename enabled to enable 2021-12-18 20:28:14 +08:00
Shawn cfaad15364 fix(connector): update the connector config failed 2021-12-18 20:19:34 +08:00
Shawn a44e18e869 fix(bridge): filter out some extra fields from the request body 2021-12-18 19:19:58 +08:00
Shawn 11e8e0db69 fix(bridge): stop http failed due to econnrefused 2021-12-18 15:33:25 +08:00
Shawn f08f37ec9c fix(bridge): create bridge failed but the config was saved 2021-12-18 11:19:22 +08:00
Shawn 20091f8d2a fix(connector): some desc for connector APIs 2021-12-18 09:52:15 +08:00
Shawn b2e7a6a249
Merge pull request #6473 from terry-xiaoyu/fix_connector_apis
fix(connector): add type and name in repsonse of GET /connectors
2021-12-18 09:35:45 +08:00
Spycsh ca2660d609 chore: refactor ?SLOG 2021-12-18 00:17:45 +01:00
Shawn 494c08f849 refactor(rule): add name field to request body of POST /rules 2021-12-18 06:34:44 +08:00
Ilya Averyanov 7cceecc11e
Merge pull request #6446 from savonarola/test-authz-more
Test authz more
2021-12-17 19:06:52 +03:00
k32 93acf8a3a7
Merge pull request #6451 from k32/dev/fix-dispatch-when-emqx-is-stopped
fix(broker): Check broker status before dispatch
2021-12-17 15:19:34 +01:00
Shawn 673a545aa2 fix(dialyzer): bad type specs 2021-12-17 22:15:56 +08:00
Shawn 7bcd38c101 fix(bridge): update qos fields for swagger examples 2021-12-17 21:41:25 +08:00
Shawn 0699682f38 refactor(bridges): rename some config entries for MQTT bridge 2021-12-17 21:22:04 +08:00
Ilya Averyanov e24cdb067c chore(authz): fix Mysql variable substitution 2021-12-17 14:20:53 +03:00
Ilya Averyanov 462ec39cb1 chore(authz): test Postgresql backend with real Postgresql 2021-12-17 14:20:50 +03:00
Ilya Averyanov 0a1a68245d chore(authz): test Mysql backend with real Mysql 2021-12-17 14:18:54 +03:00
Ilya Averyanov a21f67a67e chore(authz): test Mongo backend with real Mongo 2021-12-17 14:18:54 +03:00
Ilya Averyanov 28c319b6c4 chore(authz): test Mongo backend with real Mongo 2021-12-17 14:18:54 +03:00
Ilya Averyanov 6ad71a483e chore(authz): test Redis backend with real Redis 2021-12-17 14:18:54 +03:00
Shawn 9b34f6f9a3 fix(connector): add type and name in repsonse of GET /connectors 2021-12-17 16:45:42 +08:00
zhongwencool 870af6df41 fix: Limit interval between 0~65535 2021-12-17 15:51:54 +08:00
zhongwencool fdff3c5a53 fix: keepalive ct failed 2021-12-17 15:51:51 +08:00
Zaiming (Stone) Shi 58f32c2572 fix(plugins): catch stop_app exception 2021-12-17 08:35:10 +01:00
JianBo He 92fd9c1eca chore(gw): fix adding subscription 2021-12-17 15:31:07 +08:00
zhongwencool 38d42517f7 fix: misc_SUITE:t_drain_down sometimes fails 2021-12-17 14:58:50 +08:00
JianBo He 52c78974d6 chore(gw): fix elvis warnings 2021-12-17 14:16:00 +08:00
JianBo He 561c95c31a feat(lwm2m): support subscribe/unsubscribe operations 2021-12-17 14:16:00 +08:00
JianBo He bfbf377a45 feat(coap): support subscribe/unsubscribe operations 2021-12-17 14:16:00 +08:00
JianBo He 6b8bdfd113 chore(gw): support to get subscriptions from coap 2021-12-17 14:16:00 +08:00
JianBo He 3443aeff18 fix(gw): handle discard/kick event 2021-12-17 14:16:00 +08:00
JianBo He a2823f2ad6 chore(gw): improve some type specs 2021-12-17 14:16:00 +08:00
zhongwencool 8be2aaf72c
Merge pull request #6452 from zhongwencool/log-trace-api
feat(trace): trace http api schema
2021-12-17 12:44:15 +08:00
JimMoen 3a3226fc78 fix(dashboard): enable dashboard by default 2021-12-17 11:20:23 +08:00
zhongwencool 38438415b8 fix: replace LOG by SLOG 2021-12-17 10:52:14 +08:00
zhongwencool 89d904b7ef feat(trace): trace http api schema 2021-12-17 09:29:37 +08:00
Zaiming (Stone) Shi f15efb4930 chore: add a function comment 2021-12-16 22:08:16 +01:00
Zaiming (Stone) Shi b1ec8c1aba fix(plugins): fix relative positioning 2021-12-16 21:57:08 +01:00
Zaiming (Stone) Shi 48ad0adbaa refactor: delete plugin management APIs from emqx_mgmt
Will move the APIs to emqx_plugins_api.erl
2021-12-16 21:53:42 +01:00
Zaiming (Stone) Shi 3a7924d0fd refactor(plugins): new CLI for plugins 2021-12-16 21:21:16 +01:00
Zaiming (Stone) Shi 47661042b9 fix(cli): make emqx_ctl aware of max width 2021-12-16 20:12:15 +01:00
JimMoen 477b62200d fix(authz): placeholder regular expression escape 2021-12-16 23:33:26 +08:00
Zaiming (Stone) Shi b9a3b558ee refactor(plugins): refactor plugins configuration interface 2021-12-16 13:59:20 +01:00
k32 618113d507 fix(broker): Check broker status before dispatch
Fixes: #6388
2021-12-15 19:49:46 +01:00
zhongwencool a43ac1b778 fix: improve rfc3339 format error 2021-12-15 16:58:07 +08:00
zhongwencool e4a21fd90d fix: merge from master 2021-12-15 16:24:25 +08:00
zhongwencool f95ef04cf7
Merge branch 'master' into api-key-secret 2021-12-15 16:01:09 +08:00
lafirest 141921bfc4
Merge pull request #6449 from zhongwencool/slow_sub
fix: slow_sub api return field's notice_interval is missing
2021-12-15 14:45:33 +08:00
zhongwencool 29ccc98a42 fix: slow_sub api return field's notice_interval is missing 2021-12-15 10:36:13 +08:00
Thales Macedo Garitezi 95de2d3467
fix(monitor): fix return value on badrpc
If the rpc in `emqx_dashboard_monitor_api:get_collect/1` fails, an
empty map is return.  But the current function expects a 4-tuple,
which results in a 500 error returned on such occasions.

```
curl -su admin:public localhost:8888/api/v5/monitor/current | jq .
{
  "code": "INTERNAL_ERROR",
  "message": "error, function_clause, [{emqx_dashboard_monitor_api,format_current_metrics,[[#{},{0,0,0,0},{0,0,0,0}],{0,0,0,0}],[{file,\"emqx_dashboard_monitor_api.erl\"},{line,179}]},{emqx_dashboard_monitor_api,current_counters,2,[{file,\"emqx_dashboard_monitor_api.erl\"},{line,167}]},{minirest_handler,apply_callback,3,[{file,\"minirest_handler.erl\"},{line,112}]},{minirest_handler,init,2,[{file,\"minirest_handler.erl\"},{line,38}]},{cowboy_handler,execute,2,[{file,\"cowboy_handler.erl\"},{line,41}]},{cowboy_stream_h,execute,3,[{file,\"cowboy_stream_h.erl\"},{line,318}]},{cowboy_stream_h,request_process,3,[{file,\"cowboy_stream_h.erl\"},{line,302}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,226}]}]"
}
```
2021-12-14 17:56:32 -03:00
Thales Macedo Garitezi 0300403fc0
fix(admin): inconsistent return type on empty inputs
If an empty username or password are given during the initialization
of `emqx_dashboard_admin`, it'll return just the atom `ok`, which
breaks the expected `{ok, _}` in `emqx_dashboard_app:start/2`.

```
{'EXIT',
 {{failed_to_start_app,emqx_dashboard,
   {emqx_dashboard,
    {bad_return,
     {{emqx_dashboard_app,start,[normal,[]]},
      {'EXIT',
       {{badmatch,ok},
        [{emqx_dashboard_app,start,2,
          [{file,
            "/home/thales/dev/emqx/emqx/apps/emqx_dashboard/src/emqx_dashboard_app.erl"},
           {line,32}]},
         {application_master,start_it_old,4,
          [{file,"application_master.erl"},{line,293}]}]}}}}}}}}
```
2021-12-14 17:51:50 -03:00
Ilya Averyanov b8a68d7a9f
Merge pull request #6384 from savonarola/refactor-password-hashing
refactor(authn): unify password hashing
2021-12-14 16:21:02 +03:00
Ilya Averyanov 5538cd3708
Merge pull request #6441 from savonarola/refactor-acl
refactor(authz): hide mnesia authz implementation details
2021-12-14 11:32:25 +03:00
zhongwencool 56804ef733
Merge pull request #6427 from zmstone/feat-add-emqx-plugins-app
feat(plugins): add emqx_plugins skeleton
2021-12-14 16:26:58 +08:00
Zaiming (Stone) Shi 867ebbc8a0 docs: fix review comments for plugins config doc 2021-12-13 20:52:20 +01:00
Ilya Averyanov 708d9cfc6c refactor(authn): restore pbkdf2 password hashing functionality 2021-12-13 21:40:09 +03:00
Ilya Averyanov abdb98ffa2 refactor(authz): hide mnesia authz implementation details
* Eliminate type and record sharing through `emqx_authz.hrl`.
* Hide all mria/mnesia interactions inside mnesia authz backend.
2021-12-13 21:23:58 +03:00
zhongwencool 3e892a337a
Merge pull request #6436 from tigercl/chore/compatibility-otp24
chore(otp): be compatibility with crypto in otp 24
2021-12-13 22:31:15 +08:00
zhongwencool b4e2aa0dcf
Merge branch 'master' into feat-add-emqx-plugins-app 2021-12-13 22:28:03 +08:00
lafirest cbe683c6a3
Merge pull request #6353 from lafirest/slow_subs
feat(emqx_slow_sus): ported emqx_slow_subs from v4.4
2021-12-13 17:35:17 +08:00
JimMoen 40c4880a71
Merge pull request #6435 from JimMoen/fix-ssl-file-content
fix(ssl): file content return type
2021-12-13 16:49:21 +08:00
zhouzb 69800a9e88 chore(otp): be compatibility with crypto in otp 24 2021-12-13 16:16:57 +08:00
JimMoen 5785b0c20b fix(ssl): file content return type 2021-12-13 16:08:41 +08:00
Zaiming (Stone) Shi d3d8b3a01f fix: allow listener not_found before restart 2021-12-12 22:18:56 +01:00
Zaiming (Stone) Shi 38ac10d3e2 feat(plugins): add emqx_plugins skeleton
* added emqx_plugins app.
* emqx_plugins.erl is moved from emqx app to emqx_plugins app
  same for the test SUITE
2021-12-12 19:40:34 +01:00
Zaiming (Stone) Shi fcb7c2c70f docs: change <module> to {module} so markdown render will not crash
<module> is treated as an HTML tag
2021-12-12 19:34:29 +01:00
Zaiming (Stone) Shi 41aa958ac9 refactor(authn): root type as array of union
Deleted the wrapping union.
i.e. previously it's
union([union([...]), array(union([...]))]).
not it's
array(union([...]))

It is after-all a lazy type, and the dynamic check allows
single-elemented arrays not to have `[]` around it.

the old union of array of union schema was just adding confusion
2021-12-11 22:20:53 +01:00
Zaiming (Stone) Shi 7d36079f0a docs(connector): better namespace for http schema 2021-12-11 22:17:52 +01:00
Ilya Averyanov 59f1bfeaac
Merge pull request #6373 from savonarola/authz-backend-behaviours
chore(authz): encapsulate authz backend logic
2021-12-11 00:11:16 +03:00
Ilya Averyanov fddb28a4b0 fix(wss): update cowboy & ranch for OTP24 compatibility 2021-12-10 20:38:44 +03:00
JianBo He 5224da57dc
Merge pull request #6411 from HJianBo/gw-improve-apis-3
More precise gateway http-api examples
2021-12-10 16:52:49 +08:00
lafirest 82746134bb feat(emqx_slow_sus): ported emqx_slow_subs from v4.4 2021-12-10 16:42:55 +08:00
firest 8493b61cb5 refactor(eqmx_limiter): use the new hierarchical token bucket to replace the old ratelimit code 2021-12-10 14:37:23 +08:00
JianBo He fa11c6df9c test(gw): fix bad test cases 2021-12-10 10:41:38 +08:00
zhongwencool 64341fdc23 fix(swagger): remote api_secret field form api_key api 2021-12-09 17:57:57 +08:00
k32 98be2e15b1
Merge pull request #6405 from k32/sysmon
feat(system_monitor): Add system_monitor application
2021-12-09 10:22:40 +01:00
zhongwencool 0614c157ec fix(elvis): elvis warning 2021-12-09 16:42:10 +08:00
zhongwencool cf11f3f8ee feat(api-key): support api_key/secret 2021-12-09 16:42:10 +08:00
JianBo He 159ba63530 chore: upgrade grpc-erl to 0.6.4 2021-12-09 15:06:18 +08:00
JianBo He 5d4604701c chore: fix elvis warnings 2021-12-09 15:06:18 +08:00
JianBo He 34cc8cc7f5 chore: put the pool_size default value to avoid hot upgrade failure 2021-12-09 15:06:18 +08:00
JianBo He e7ccd88719 test(props): cover messages headers 2021-12-09 15:06:18 +08:00
JianBo He f132d09483 chore(exhook): parse pool_size 2021-12-09 15:06:18 +08:00
JianBo He 143c685452 feat(exhook): expose process pool_size for grpc client 2021-12-09 15:06:18 +08:00
JianBo He 2b7c311807 chore: upgrade grpc to 0.6.4 2021-12-09 15:06:18 +08:00
JianBo He 262fb13a71 chore(exhook): fix diaylzer warnings 2021-12-09 15:06:17 +08:00
JianBo He 20ba9d285f feat(exhook): expose headers for on_messages_publish hook 2021-12-09 15:06:17 +08:00
lafirest f25c8cdf0f
Merge pull request #6410 from lafirest/fix/lw_cmd_record
fix(emqx_lwm2m): limit the max size of cmd record
2021-12-09 14:57:01 +08:00
JianBo He e662628581 chore(gw): fix bad default value in query-string 2021-12-09 14:50:28 +08:00
lafirest c9cbaeff95 fix(emqx_lwm2m): limit the max size of cmd record 2021-12-09 14:39:11 +08:00
JianBo He 028f1fa71c chore(gw): fix listener examples 2021-12-09 11:33:09 +08:00
Shawn f7941cd2bb
Merge pull request #6387 from terry-xiaoyu/improve_connector_apis
Improve bridge and connector APIs
2021-12-09 10:54:55 +08:00
DDDHuang 7aa08a82d5
Merge pull request #6283 from DDDHuang/as_doc_example
fix: add auto subscription swagger example
2021-12-09 10:35:08 +08:00
Ilya Averyanov 1c9d867c5e chore(authz): add test for authz backend creation dry run 2021-12-08 21:38:10 +03:00
Ilya Averyanov b7d227d2ef chore(authz): move file backend to a separate module 2021-12-08 21:38:10 +03:00
Ilya Averyanov 056558e445 chore(authz): encapsulate authz backend logic 2021-12-08 21:38:10 +03:00
Thales Macedo Garitezi 2b5fe9179e
fix(live_conn): fix live connection count on race condition (5.0)
Port from #6406 to 5.0.

When multiple clients try to connect concurrently using the same
client ID, they all call `emqx_channel:ensure_connected`, increasing
the live connection count, but only one will successfully acquire the
lock for that client ID.  This means that all other clients that
increased the live connection count will not get to call neither
`emqx_channel:ensure_disconnected` nor be monitored for `DOWN`
messages, effectively causing a count leak.

By moving the increment to `emqx_cm:register_channel`, which is only
called inside the lock, we can remove this leakage.

Also, during the handling of `DOWN` messages, we now iterate over all
channel PIDs returned by `eqmx_misc:drain_down`, since it could be
that one or more PIDs are not contained in the `pmon` state.
2021-12-08 15:15:27 -03:00
k32 9fbc247e29 feat(system_monitor): Add system_monitor application 2021-12-08 16:34:10 +01:00
Shawn d76f82d3d2 fix(bridges): add new option 'enable' for bridge configs 2021-12-08 18:16:38 +08:00
JianBo He afb2cf19c2
Merge pull request #6297 from HJianBo/gw-improve-apis-2
Standardize HTTP-APIs return value and Status/Error Code
2021-12-08 18:02:13 +08:00
Tobias Lindahl 92f116afa4
Merge pull request #6393 from emqx/fix-takeover-race-on-enqueued-messages 2021-12-08 11:00:46 +01:00
JianBo He 7c261b5356 chore(gw): improve examples for _gateway_api 2021-12-08 17:18:39 +08:00
JianBo He e48f10d2d6 chore(gw): ignore needless args 2021-12-08 11:33:11 +08:00
JianBo He a937a3d4dc chore(gw): fix bad argument type 2021-12-08 11:13:00 +08:00
JianBo He 0eff5358ca chore(gw): add examples for gw&client api 2021-12-08 10:52:27 +08:00
Ilya Averyanov 2b0a3e8ba3 refactor(authn): unify password hashing 2021-12-07 23:38:26 +03:00
Zaiming (Stone) Shi 9276a5bc3c
Merge pull request #6394 from zmstone/fix-typo-in-hook-point-name
fix: typo takeovered -> takenover
2021-12-07 21:06:30 +01:00
Tobias Lindahl 14bef1ba31 refactor: make clauses safe for future reordering 2021-12-07 16:14:32 +01:00
Zaiming (Stone) Shi 5440b431a1 fix: typo takeovered -> takenover 2021-12-07 16:06:23 +01:00
Tobias Lindahl e6ecc6ca60 fix(emqx_channel): fix race condition in session takeover
Sessions must not enqueue messages when another process is taking over
the client id, since it already passed on the message queue in the
session state.

Without this fix, messages arriving after `{takeover, 'begin'} to a
channel with no connection (i.e., a persistent session) would be lost.
2021-12-07 14:17:59 +01:00
Shawn 12fbcd8181 feat(connector): add num_of_bridges to the response of GET /connectors 2021-12-07 15:09:08 +08:00
Shawn 098d8eacb7 fix(metrics): update testcases for plugin_libs_metrics 2021-12-07 10:12:04 +08:00
Shawn cc96880f18 fix(dialyzer): some dialyzer issue 2021-12-07 09:56:57 +08:00
Shawn 6903997b94 feat(connector): add new option 'mode' to mqtt connectors 2021-12-07 09:56:57 +08:00
Shawn 9b4fe87ed0 fix(bridges): update testcases for bridge APIs 2021-12-07 09:56:57 +08:00
Shawn e1794fbce6 fix(connector): create different schema for POST,PUT,GET methods 2021-12-07 09:56:57 +08:00
Shawn 56d46c80eb refactor(rule): generate swagger from hocon schema for /bridges 2021-12-07 09:56:57 +08:00
Shawn affe69afd6 fix(rules): update the test cases for rule APIs 2021-12-07 09:48:47 +08:00
Shawn 416b9f8d7c refactor(rule): generate swagger from hocon schema for /rules 2021-12-07 09:48:47 +08:00
Shawn 24bded99d5 refactor(metrics): rename speed to rate in emqx_plugin_libs_metrics 2021-12-07 09:47:53 +08:00
Shawn e07fce791f feat(connector): add examples to the swagger doc 2021-12-07 09:47:53 +08:00
Tobias Lindahl 4eef9a5bac
Merge pull request #6378 from emqx/fix-flaky-tests-persistent-session-SUITE
test(flaky_tests): fix persistent_session_SUITE
2021-12-06 14:01:34 +01:00
Thales Macedo Garitezi b6dede3679
Merge pull request #6372 from emqx/fix-typo-listeners
fix(listeners): fix typo in listener type

`emqx_listeners:{current,max}_conns` were matching on type `tcl`.
However, this type doesn't exist (it's not defined in
`?TYPES_STRING`). Therefore, this clause would never match.  It seems
that the intention was that it shouldbe `tcp`.
2021-12-06 09:06:54 -03:00
Tobias Lindahl 6ed3dbd39b test(persistent_session_SUITE): protect against non-atom sinks 2021-12-06 12:40:58 +01:00
Thales Macedo Garitezi 2d46ae7517
fix(typo): fix more typos and restore rate_limit config after test 2021-12-06 08:14:50 -03:00
Tobias Lindahl e62b094f3b test(snabbkaffe): Update to latest snabbkaffe
In particular, this should remove the flaky snabbkaffe failures in
persistent session SUITE where the snabbkaffe_nemesis is trying to
make an ets:lookup in a table that no longer exists.
2021-12-06 11:22:25 +01:00
JimMoen a6a1b288d2
Merge pull request #6365 from JimMoen/fix-vm-mem-info
fix(vm_mem): info calc and display
2021-12-06 17:47:52 +08:00
Tobias Lindahl 366c757959 test(flaky_tests): fix persistent_session_SUITE
Increase timeout on message receive and ensure more info when the test fails.
2021-12-06 10:42:19 +01:00
DDDHuang b0b2adca37
Merge pull request #6377 from DDDHuang/alram_api_info
fix(alarm): alarm message with .2f format
2021-12-06 17:42:02 +08:00
JianBo He d735e2e755 chore: delete 500 error 2021-12-06 16:34:00 +08:00
JianBo He f1dbeb4bda chore: fix bad result match 2021-12-06 16:34:00 +08:00
JianBo He dab3e14686 fix(gw): fix static checking 2021-12-06 16:34:00 +08:00
JianBo He 7f04837ad2 fix(gw): fix elvis warnings 2021-12-06 16:34:00 +08:00
JianBo He 3f35604d16 refactor(gw): fix gateway http api schema 2021-12-06 16:34:00 +08:00
JianBo He f3f3f12635 refactor: improve the _api_clieints implement 2021-12-06 16:33:59 +08:00
JianBo He 01c50992e9 refactor: improve gw api 2021-12-06 16:33:38 +08:00
JianBo He 169848c027 feat(gw): return the created/updated resource info 2021-12-06 16:32:46 +08:00
JianBo He bc012d6554 chore(gw): change lwm2m&coap api path 2021-12-06 16:30:59 +08:00
Zaiming (Stone) Shi 68a7c096b0
Merge pull request #6362 from zmstone/emqx-config-put-raw-with-env-vars
fix: config put raw with env vars
2021-12-06 09:22:32 +01:00
zhongwencool fbe66cb9f2
Merge pull request #6351 from zhongwencool/prometheus-accept-header
chore(HTTP): prometheus or json format by accept header
2021-12-06 16:12:54 +08:00
JianBo He 1ae1460e44
Merge pull request #6364 from HJianBo/stop_publish_clear_msg_for_5
Allow to stop publish clear message
2021-12-06 16:06:38 +08:00
Zaiming (Stone) Shi a1ad6098b3 build: generate document to dashboard priv dir 2021-12-06 08:52:10 +01:00
Zaiming (Stone) Shi 96de7e6b30 docs: refine authn and auth config docs 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi ed073f9966 test: fix emqx_rewrite_SUITE with new path info in schema check failure 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi e774e976a7 fix: ensure atom connector is loaded when emqx_conf_schema is loaded 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi 89614245f6 test: use macro for authentication root name 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi a1f79850b4 refactor: allow accessing override config paths 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi a723e41390 test: fix a flaky test which gets interfered by other test cases 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi 5525cb3262 refactor: only apply environment variables on base config 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi a681079ba7 refactor: remove special env override from schema
EMQX_NODE_NAME and EMQX_NODE_COOKIE are translated into
EMQX_NODE__NAME and EMQX_NODE__COOKIE
2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi d9a980c7e1 docs: fix config doc, avoid using <text> in doc body 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi e6e28f9002 docs: fix emqx_schema doc style 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi bfc36efa0e fix: pin hocon 0.21.1 2021-12-06 08:00:37 +01:00
DDDHuang 1b0da3cc58 fix(alarm): alarm message with .2f format 2021-12-06 14:36:51 +08:00
tigercl 9e8b4ab237
Merge pull request #6298 from tigercl/feat/cluster-authn
feat(authn): support sync configuration in the cluster
2021-12-06 10:04:48 +08:00
Zaiming (Stone) Shi 867cc3c4ad test: ensure emqx_connector is loaded 2021-12-04 09:33:14 +01:00
Zaiming (Stone) Shi 5d3cb6ae1c refactor(authn): align authn config root name
authn configs are checked independently per-auth provider,
this was to make authn providers more plugable.

in order to make environment variable overrides work for authn,
we need to have a unified view of the config layout,
no matter from root level, or partially checking per-provider
config independently, i.e. we try to use the same config envelop.
2021-12-04 09:33:14 +01:00
Thales Macedo Garitezi bc8a0d7060
fix(listeners): fix typo in listener type
`emqx_listeners:{current,max}_conns` were matching on type `tcl`.
However, this type doesn't exist (it's not defined in
`?TYPES_STRING`). Therefore, this clause would never match.  It seems
that the intention was that it shouldbe `tcp`.
2021-12-03 15:55:51 -03:00
k32 dfa45c909a fix(crash_dump): Fix hocon schema related to the erlang crash dump 2021-12-03 18:45:45 +01:00
k32 fd9f6bd140 fix(crash_dump): Replace crash dump directory with a file 2021-12-03 18:18:24 +01:00
k32 954179b959
Merge pull request #6370 from k32/perf
chore(mria): Bump version to 0.1.4
2021-12-03 17:39:21 +01:00
k32 2ceb660344 chore(mria): Bump version to 0.1.4 2021-12-03 17:13:12 +01:00
zhouzb 1dfc37cd18 test(authn): fix test cases 2021-12-03 15:55:34 +08:00
JianBo He f645a4eada test(retainer): add test case for stopping publish clear msg 2021-12-03 14:42:27 +08:00
JianBo He 4b3b29873a feat(retainer): allow to stop publish clear msg 2021-12-03 14:41:42 +08:00
JimMoen d4246ad2f6 fix(vm): add literal_alloc memory calculation 2021-12-03 14:41:33 +08:00
JimMoen a7cd1ad30b fix(mgmt): node memory usage info 2021-12-03 14:41:33 +08:00
zhouzb e1bcbd012c feat(authn): support sync configuration in the cluster 2021-12-03 14:14:40 +08:00
zhongwencool 85a6f0f1e8
Merge pull request #6350 from zhongwencool/emqx-conf
feat: support eqmx_ctl cluster_call command.
2021-12-03 11:27:21 +08:00
zhongwencool 858891dbf5 fix: rewrite ct badmatch 2021-12-03 09:54:44 +08:00
zhongwencool f6c61189c4 chore(HTTP): prometheus or json format by accept header 2021-12-02 10:30:50 +08:00
JimMoen a58493f7a4 test(authz): fix test suite for schema check and app start 2021-12-02 10:12:10 +08:00
JimMoen effa3b8b90 style: make elvis happy 2021-12-02 10:12:10 +08:00
JimMoen d7ec368884 fix(authz): fix mongo resources create 2021-12-02 10:12:10 +08:00
JimMoen 68af284570 fix(authz): http source create and update 2021-12-02 10:12:10 +08:00
zhongwencool e7a7d64004 feat(conf): skip/fast_forward tnx_id via cluster_call cli 2021-12-02 09:30:27 +08:00
zhouzb b983a18cdf fix(auth): replace query with cmd 2021-12-01 20:24:43 +08:00
zhongwencool c1a7d7bede fix(conf): emqx_conf return nest error 2021-12-01 16:08:49 +08:00
zhongwencool 25c4f4aa4e
Merge pull request #6339 from zhongwencool/swagger-ct-test
chore(swagger): add test for sub fields
2021-12-01 14:12:14 +08:00
tigercl e888e1ef8d
Merge pull request #6338 from tigercl/fix/superuser
fix(authn): fix superuser when missing is_superuser_field
2021-12-01 14:00:56 +08:00
zhongwencool 1f6e2e7397 chore: add test for sub fields 2021-12-01 12:01:44 +08:00
zhouzb 6b8997cbda fix(authn): fix superuser when missing is_superuser_field 2021-12-01 09:23:36 +08:00
Zaiming (Stone) Shi d2fa0a71f4 refactor: give psk auth a better namespace 2021-12-01 00:33:20 +01:00
k32 a92970a904 feat(mria): Add RPC-related configuration to the schema 2021-11-30 21:59:59 +01:00
Ilya Averyanov 6b65151f69
Merge pull request #6325 from savonarola/test-authn-resources-scram
chore(authn): add SCRAM mechanism tests
2021-11-30 12:16:20 +03:00
lafirest e196f8150d
Merge pull request #6329 from lafirest/fix/event
fix(emqx_gateway): fix the function_clause error when client disconne…
2021-11-30 16:52:11 +08:00
lafirest cfe2954a88 fix(emqx_gateway): fix the function_clause error when client disconnect after connection created 2021-11-30 12:25:06 +08:00
tigercl 36cece7a49
Merge pull request #6314 from JimMoen/fix-re-escape
fix(authz): placehodler regular escape
2021-11-30 10:21:28 +08:00
Ilya Averyanov e6d7e59c18
Merge pull request #6278 from savonarola/test-authn-resources-mongo
chore(authn): add MongoDB backend tests
2021-11-29 22:27:52 +03:00
Ilya Averyanov 4941b4d1a0
Merge pull request #6316 from savonarola/test-authn-resources-jwt
chore(authn): add JWKS backend tests
2021-11-29 22:03:41 +03:00
Ilya Averyanov 0baec8e27d chore(authn): unify Mongo type parameter naming 2021-11-29 21:39:28 +03:00
Ilya Averyanov 390575eafb chore(authn): add MongoDB backend tests 2021-11-29 21:17:56 +03:00
Ilya Averyanov 4580c03ebc chore(authn): add SCRAM mechanism tests 2021-11-29 20:49:45 +03:00
JianBo He 581cb6ac5d
Merge pull request #6268 from HJianBo/reduce-case-logs
test(gw): reduce useless log print
2021-11-29 11:03:40 +08:00
Ilya Averyanov 726e25d6ae chore(authn): add JWKS backend tests 2021-11-26 18:40:21 +03:00
Thales Macedo Garitezi 284619ef86
Merge pull request #6310 from emqx/test-fix-possible-flakiness
test(flakiness): prevent possible flakiness in test

If the spawned process doesn't have enough time to be properly set up,
the returned stacktrace may be empty, making the test fail. By
synchronizing the startup, we know that the process will have a proper
stacktrace by the time of the assertion.
2021-11-26 08:09:05 -03:00
Ilya Averyanov 759b03a6ad
Merge pull request #6306 from savonarola/ct-output
chore(ct): remove verbose output during tests
2021-11-26 12:54:21 +03:00
JimMoen 1d3558ebe0 style: make elvis happy 2021-11-26 17:46:38 +08:00
zhongwencool f697028b70
Fix ping not return pong (#6285)
* fix: ./bin/emqx ping return pong

* chore: waiting longer for logger flush log to disk

* fix: change swagger page's limit from 100 to 1000

* chore: type wrong

* fix: sync log to disk by logger_disk_log_h:filesync
2021-11-26 17:02:45 +08:00
JimMoen b41c41570a fix(authz): placehodler regular escape 2021-11-26 15:39:42 +08:00
tigercl 124ba7a071
Merge pull request #6311 from emqx/release-5.0-beta.2
Sync bug fixes
2021-11-26 14:24:19 +08:00
tigercl 12d8ebcc15
Merge pull request #6303 from tigercl/fix/authn-jwt
fix(authn): fix jwt authn
2021-11-26 13:36:01 +08:00
zhouzb 349fd1608b style(authn): improve code formatting 2021-11-26 10:29:57 +08:00
Thales Macedo Garitezi d6288a0b70
test(flakiness): prevent possible flakiness in test
If the spawned process doesn't have enough time to be properly set up,
the returned stacktrace may be empty, making the test fail.  By
synchronizing the startup, we know that the process will have a proper
stacktrace by the time of the assertion.
2021-11-25 17:15:07 -03:00
Ilya Averyanov ea0fa24ce5 chore(ct): remove verbose output during tests 2021-11-25 18:30:50 +03:00
Ilya Averyanov e6c2600718 chore(authn): add HTTP backend tests 2021-11-25 15:09:13 +03:00
zhouzb ecd3c9f85c test(authn): add test cases for jwt authn 2021-11-25 19:03:11 +08:00
zhouzb 15654b5b28 fix(authn): add handling of invalid secret 2021-11-25 17:17:44 +08:00
zhouzb d88bfdfe14 fix(authn): verify claims type is wrong 2021-11-25 16:42:08 +08:00
JimMoen f74e34b6a5 fix(conf): change `max_topic_levels` default configuration 2021-11-25 10:11:24 +08:00
Thales Macedo Garitezi db3f7ff749
feat(sys_mon): remove `current_function`
Since we now output `current_stacktrace`, `current_function` is now
redundant.
2021-11-24 12:16:16 -03:00
Thales Macedo Garitezi a41d0d49bd
test(impossible_case): remove impossible case test
Since `emqx_vm:get_process_info/1` only accepts PIDs as arguments,
it's impossible for `emqx_sys_mon:procinfo/1` to return after
receiving the atom `undefined`.
2021-11-24 11:34:36 -03:00
Thales Macedo Garitezi 75a17431d5
feat(sys_mon): Add proc_lib:initial_call/1 and current_stacktrace
This adds the information from `proc_lib:initial_call/1` and the
current stacktrace from the process info to `emqx_sys_mon:procinfo/1`
to aid in debugging some warnings with no context such as the
following:

```
2021-11-23T12:33:59.387818+00:00 [warning] info: [{old_heap_block_size,45988046},{heap_block_size,22177879},{mbuf_size,0},{stack_size,40},{old_heap_size,22354134},{heap_size,7106339}], line: 130, mfa: emqx_sys_mon:handle_info/2, msg: large_heap, procinfo: [{pid,<0.2667.0>},{memory,579763664},{total_heap_size,68510672},{heap_size,22177879},{stack_size,40},{min_heap_size,233},{initial_call,{proc_lib,init_p,5}},{current_function,{gen,do_call,4}},{registered_name,[]},{status,running},{message_queue_len,360945},{group_leader,<0.1660.0>},{priority,normal},{trap_exit,false},{reductions,16493271},{last_calls,false},{catchlevel,4},{trace,0},{suspending,[]},{sequential_trace_token,[]},{error_handler,error_handler}]
```
2021-11-24 11:24:27 -03:00
Ilya Averyanov 3400a3b978
Merge pull request #6288 from savonarola/handle-authn-backends-own-validations
fix(authn): handle authn backends own validations
2021-11-24 15:18:11 +03:00
Ilya Averyanov ac3707e4a9 fix(authn): handle authn backends own validations 2021-11-24 14:05:46 +03:00
zhouzb fb6ab93f47 fix(dialyzer): fix redundant cases 2021-11-24 18:21:08 +08:00
zhouzb 261ca3d625 fix(connector): fix crash in health checking of mongo connection 2021-11-24 16:48:35 +08:00
DDDHuang 793da3d039 fix: add auto subscription swagger example 2021-11-24 16:47:33 +08:00
Tobias Lindahl ca89a8da61
Merge pull request #6274 from emqx/persistent-sessions-ram-backend
feat(persistent_sessions): add choice between ram or disc backends in…
2021-11-24 09:25:14 +01:00
JimMoen d7c7292321 fix(authz): placeholder regular replace 2021-11-24 11:10:30 +08:00
Ilya Averyanov 9f04ac5bfd
Merge pull request #6269 from savonarola/test-authn-resources-mysql-pgsql
chore(authn): add MySQL & PostgreSQL backend tests
2021-11-23 20:03:52 +03:00
Spycsh fda2e86187
Merge pull request #6107 from Spycsh/slog
chore: refactor slog under emqx, conf and exhook
2021-11-23 16:39:06 +01:00
Tobias Lindahl 9a97a7a1c7 chore(persistent_session): remove quotes around boolean in config 2021-11-23 16:24:40 +01:00
Tobias Lindahl df2dda2e10 chore(persistent_session): make more table creation parameterized 2021-11-23 16:23:47 +01:00
Tobias Lindahl 9eaedbf246 test(persistent_sessions): add back test groups lost in refactoring 2021-11-23 16:17:27 +01:00
Tobias Lindahl 46788ad31b chore(persistent_sessions): add descriptions of persistent session configs 2021-11-23 13:53:04 +01:00
Tobias Lindahl 0865fc6e57 test(persistent_sessions): increase wait time for cm unregister in test 2021-11-23 13:52:02 +01:00
Tobias Lindahl 6eb4a617bc test(persistent_sessions): make another attempt at fixing flaky test 2021-11-23 13:29:47 +01:00
zhouzb 4d92e2b6af fix(connector): fix options handling for mongo connector 2021-11-23 20:01:21 +08:00
Tobias Lindahl 08acb5d435 feat(persistent_sessions): add choice between ram or disc backends in mnesia 2021-11-23 11:51:21 +01:00
Ilya Averyanov 8cc0b43de7 chore(authn): add MySQL & PostgreSQL backend tests 2021-11-23 11:52:51 +03:00
JianBo He 27270ca679 test(gw): fix elvis warnings 2021-11-23 16:36:11 +08:00
JianBo He 5204a1c6d4 test(gw): reduce useless log print 2021-11-23 16:01:40 +08:00
zhongwencool ef0e440d27
feat: http trace api for 5.0 (#6200)
* feat: port log trace http api for 5.0

* fix: name must printable unicode len<256

* fix: check-nl-at-eof warning

* fix: handler_id always atom
2021-11-23 13:49:12 +08:00
DDDHuang 6a60c17970
fix: add lw gateway endpoint placeholder support (#6267) 2021-11-23 12:08:45 +08:00
Shawn af5002733b
Merge pull request #6256 from terry-xiaoyu/resource_metrics2
Add metrics to emqx_resource and emqx_bridges
2021-11-23 11:14:25 +08:00
Thales Macedo Garitezi d7725f799c
fix(flaky_test): improve live connection count test on CI (#6257)
* fix(flaky_test): improve live connection count test on CI

It seems that a race condition that is triggered more often in CI can
make the test fail, possibly due to the ETS write not being seen by
the subsequent read in the test.

* style(elvis): fix NL in emqx_connector.conf
2021-11-23 11:12:45 +08:00
DDDHuang 21bd9bba55
fix: generate palce holder (#6250)
* fix: generate place holder

* style: whitespace cleanup

* refactor(authz): placeholder for athuz

* test: authz test suite for placeholder

* fix: lw place holder suite

* fix: auth n redis suite

Co-authored-by: JimMoen <LnJimMoen@outlook.com>
2021-11-23 10:56:43 +08:00
Shawn 46838a08cc fix(resource): update testcases for after_query functions 2021-11-23 10:41:45 +08:00
Shawn 6fb464fc05
Merge pull request #6059 from tigercl/fix/ssl
fix(ssl): fix API returns the certificate file name instead of the certificate content
2021-11-23 10:38:12 +08:00
Shawn 9aa63358e6 fix(resource): type spec for resource_data() 2021-11-23 10:04:31 +08:00
Shawn 29ad6d215e feat(resource): add metrics to emqx_resource 2021-11-23 10:04:31 +08:00
Shawn 4c149f92c1 feat(bridge): support metrics for bridges 2021-11-23 09:36:10 +08:00
JianBo He 50542ec441
Merge pull request #6248 from HJianBo/gw-improve-apis-1
Add authentication data management APIs for gateway
2021-11-23 09:12:04 +08:00
zhouzb 5aa8ba45d3 fix(authn): add the case when the instance does not exist 2021-11-22 23:30:05 +01:00
zhouzb 2b282b9666 fix(ssl): Return the content of certificates in HTTP response 2021-11-22 23:30:05 +01:00
zhouzb 81d425cb27 fix(ssl): fix the issue that the content of TLS certificate is not converted to path 2021-11-22 23:30:05 +01:00
Spycsh c89a663b53 chore: refactor slog under emqx, conf and exhook 2021-11-22 23:12:17 +01:00
Zaiming (Stone) Shi c202688abf
Merge pull request #6258 from tigercl/chore/dashboard
chore(dashboard): disable by default
2021-11-22 22:34:26 +01:00
Ilya Averyanov 071c2c99e8 refactor(authn resources): add `emqx_resource` and `emqx_authn` tests 2021-11-22 21:08:04 +03:00
Zaiming (Stone) Shi b59ad6b186
Merge pull request #6252 from JimMoen/fix-clients-cluster-query
fix(mgmt): fix broken `ets:continuation` been sent between nodes
2021-11-22 15:28:16 +01:00
zhouzb 63f1d88ed3 chore(dashboard): disable by default 2021-11-22 22:23:06 +08:00
Shawn a0e81226d7 fix(elvis): improve some code format 2021-11-22 19:10:00 +08:00
Shawn 37aeb28a79 fix(connector): test case conflict 2021-11-22 18:52:43 +08:00
JianBo He 1e2eac0fce test(gw): add tests for authm data-mgmt 2021-11-22 17:38:59 +08:00
JianBo He 4eb27ce25b fix(gw): fix bad paging params 2021-11-22 17:38:59 +08:00
JianBo He 7d9930b64e feat(gw): support data-management apis gw's authn 2021-11-22 17:38:59 +08:00
JianBo He 4f752fb5ab chore(gw): fix elvis warnings 2021-11-22 17:38:59 +08:00
JianBo He f033fad7b3 refactor(gw): deps on emqx_dasboard_swagger 2021-11-22 17:38:59 +08:00
Shawn f0c61068e8 fix(authn): test cases issues 2021-11-22 17:35:33 +08:00
Shawn ea3c809287 fix(emqx_conf): merge issues 2021-11-22 17:35:33 +08:00
Shawn 07e3e43a21 fix(authn): xref issues 2021-11-22 17:35:33 +08:00
Shawn 9c93ea0338 feat(connector): add API for /connectors_test 2021-11-22 17:35:33 +08:00
Shawn c66c6b53b2 feat(connector): add APIs for connector 2021-11-22 17:35:33 +08:00
Shawn bcf5f499da feat(connector): add APIs for connector 2021-11-22 17:35:33 +08:00
Shawn 4dac90f4a7 refactor(bridges): add POST /bridges for creating 2021-11-22 17:35:32 +08:00
Shawn c4668b4047 fix(bridge): load emqx_conf in testcases 2021-11-22 17:35:32 +08:00
Shawn 339749764d fix(bridge): update the testcases for HTTP bridges 2021-11-22 17:35:32 +08:00
Shawn 7d64013edd refactor(connector): add connector configs 2021-11-22 17:35:32 +08:00
Shawn cf3f2c3057 fix(dialyzer): remote the extra str/1 2021-11-22 17:35:32 +08:00
Shawn e41736f5cb fix(bridge): update testcases for bridge APIs 2021-11-22 17:35:32 +08:00
Shawn 7996d8f709 refactor(bridge): rename the APIs for emqx_bridge 2021-11-22 17:35:32 +08:00
Shawn 1e6884ee7d fix(bridge): convert confs for http bridge when creating 2021-11-22 17:35:32 +08:00
Shawn f01f9632c1 fix(bridge): cannot start mqtt bridge from config 2021-11-22 17:35:32 +08:00
Shawn 63f942a1b8 feat(bridge): add descriptions to the mqtt bridge schema 2021-11-22 17:35:32 +08:00
Shawn 0cbdaa0f40 refactor(bridge): update config struct for mqtt bridge 2021-11-22 17:35:32 +08:00
Shawn d046f9c6e7 fix(bridge): improve the schema of connector_http 2021-11-22 17:35:32 +08:00
Shawn dd9e2c4b24 refactor(bridge): the configs for http bridges 2021-11-22 17:35:32 +08:00
Zaiming (Stone) Shi 90a65b8d04
Merge pull request #6242 from emqx/update-otp-version-and-pkg-name-scheme
Update otp version and pkg name scheme
2021-11-22 10:34:24 +01:00
JimMoen 08899552fe fix(mgmt): fix broken `ets:continuation` been sent between nodes 2021-11-22 17:16:12 +08:00
tigercl 6da039cf4f
Merge pull request #6231 from tigercl/fix/http-authn
fix(authn): fix pick worker error and match more http response
2021-11-22 09:10:44 +08:00
Ilya Averyanov 3d449b5acf fix(authn): create authn chain tab in start_link 2021-11-21 19:52:29 +03:00
Zaiming Shi 6ca6d60858 fix(dashboard): change hash from sha3_256 to sha256
old version os has no support for it
2021-11-20 21:21:11 +01:00
Zaiming Shi a705bc1fc7 build: change package name scheme
`${PROFILE}-${PKG_VSN}-otp${OTP_VSN}-${SYSTEM}-${ARCH}.zip`
2021-11-20 20:44:48 +01:00
Zaiming Shi f84d1aa75e style: fix some elvis style check 2021-11-20 20:41:06 +01:00
Zaiming Shi 6edd862dd5 refactor: no more EMQX_ENTERPRISE compile flag
The compile flag was introduced in EQM X 4.3 series
where CE and EE code was diverged large enough which made
non-practicle to determin edition at runtime.

such approach made testing quite challenging as we'll have to
build with different compile flags inorder to run per-edition
test cases

In this commit, we try to retrieve edition info from EMQX's
description text, (put to PT for fast access) at runtime
so we can test ALL editions from a super-set edition (EE).
2021-11-20 20:41:06 +01:00
Ilya Averyanov 8621257809
Merge pull request #6240 from savonarola/reinit-authn-1
fix(authn): transfer chain tab to emqx_authentication_sup
2021-11-19 19:57:14 +03:00
Ilya Averyanov c86887491c fix(authn): transfer chain tab to emqx_authentication_sup
To preserve configuration after emqx_authentication crashes.
2021-11-19 16:41:22 +03:00
k32 c9a59968ef refactor(emqx_schema): Code style 2021-11-19 11:41:29 +01:00
k32 deccba3406 fix(schema): Improve configuration of the internal DB 2021-11-19 11:41:08 +01:00
tigercl a074cf24d0
Merge pull request #6219 from tigercl/fix/authz-certs
fix(authz): fix badmatch when reading certs
2021-11-19 11:25:29 +08:00
zhouzb 980a6ceae9 fix(authn): fix pick worker error and match more http response 2021-11-19 11:19:52 +08:00
JianBo He 905e58c93a
Merge pull request #5997 from HJianBo/gw-fixes-part3
Gateway improvement part.3
2021-11-19 09:29:51 +08:00
zhouzb 47851c2430 fix(authz): fix badmatch when reading certs 2021-11-18 14:36:59 +08:00
JimMoen e361cd5733
Fix dashboard APIs return (#6177)
* fix(dashboard_api): delete non-exist user wrongly return 204

* fix(dashboard): dashboard user should use `tags` not `tag`

* fix(dashboard): create/update user return 200 with full users list

* fix(dashboard): logout status code 204

* fix(dashboard): update pwd status code 204

* test: test suite for dashboard APIs

* refactor(dashboard): user info mnesia record name use description

* style: make elvis happy

* fix(api): dashboard swagger check request should not override env

* fix(dashboard): add/modify dashboard returns single record

* ci: update emqx-fvt version to new tag 1.0.2-dev1
2021-11-18 14:36:12 +08:00
JimMoen 53b51e31f0 fix(api_schema): add authn mongo missing fields 2021-11-18 12:41:40 +08:00
zhongwencool 33f5eec802
feat: set keepalive via http api (#6171)
* feat: set keepalive via http api

* fix: make cluster_rpc test case solider
2021-11-18 10:56:58 +08:00
Zaiming (Stone) Shi 8d653b6d39
Merge pull request #6173 from zmstone/refactor-retainer-use-ordered-set
[5.0] refactor(retainer): use ordered_set Mnesia table type
2021-11-18 00:28:57 +01:00
Tobias Lindahl e52d8138bf test(persistent_session_SUITE): fix another flaky test
Make sure that the connection process dies before terminating the
snabbkaffe trace.
2021-11-17 14:04:06 +01:00
Tobias Lindahl 5914b8ad3d
Fix flaky tests for persistent sessions (#6202)
* test(persistent_session_SUITE): remove redundant sleep and trap_exits

* test(persistent_session_SUITE): fix race for started snabbkaffe

Sometimes snabbkaffe was not started when publishing from a different
process. Wrap the publishing code in a ?check_trace to make sure it is
started, and make sure the publish process is truly down before ending
the trace.

* test(persistent_session_SUITE): fix takeover race

Make sure the previous session is unregistered before trying to
connect again. Sometimes the new session was trying to take over the
session that was shutting down still.
2021-11-17 18:55:11 +08:00
tigercl 7950e26774
Merge pull request #6193 from tigercl/feat/mongo-srv-5.0
feat(mongo srv): support srv record for mongo connector
2021-11-17 15:42:01 +08:00
JianBo He ad2dbb5a49 chore(gw-sn): append messge headers 2021-11-17 14:51:27 +08:00
zhongwencool 04c204374a
chore: All placeholders are placed in the same header file (#6190)
* chore: All placeholders are placed in the same header file

* feat: Separate placeholders from the rules engine
2021-11-17 14:40:48 +08:00
zhongwencool a7a5e2d1f4
fix: can't get default key if all key if default (#6181) 2021-11-17 14:27:51 +08:00
JimMoen 57075902a3
fix(mgmt_api): kickout non-existing clientid should return code `404` (#6180) 2021-11-17 12:29:27 +08:00
zhouzb f8a625a67f feat(mongo srv): support srv record for mongo connector 2021-11-17 12:12:30 +08:00
JianBo He d0bdf27e0c chore: fix elvis warnings 2021-11-17 11:04:09 +08:00
DDDHuang 7c48bcabed
fixt: generate api (#6124)
* fix: generate api

* fix: banned suite

* fix: generate api bad rpc

* fix: bad message suite

* fix: create banned with check existed
2021-11-17 10:55:48 +08:00
JianBo He f23d2f2c92 chore: refine case side-effect 2021-11-17 10:46:46 +08:00
JianBo He 814e01c0cb test(authz): deps on emqx_conf instead of meck emqx_schema 2021-11-17 10:46:38 +08:00
Tobias Lindahl ae5792fa64 chore(emqx_cm): remove unused tracepoints 2021-11-16 14:37:15 +01:00
Tobias Lindahl c9b86a8375 test: make testcases not rely on timer:sleep 2021-11-16 13:50:01 +01:00
Tobias Lindahl 05f3bc8c90 fix(emqx_cm): make takeover session less likely to hit a race 2021-11-16 13:49:45 +01:00
JimMoen c0e388e52a style: make elvis happy 2021-11-16 19:35:35 +08:00
Zaiming Shi ac693c0dcb refactor(retainer): use ordered_set Mnesia table type
ordered_set is compatible to set in all the existing APIs
and in addition, it provides a more deterministic traversing
cursor in case we want to change the current dirty_select
based "select ALL" implementation
2021-11-16 12:33:59 +01:00
JimMoen 1dc0a2e8b5 fix(mgmt_api): kickout non-existing clientid should return code `404` 2021-11-16 17:32:12 +08:00
JianBo He 883c1b2e59 chore(gw): remove needless lines 2021-11-16 10:00:54 +08:00
JianBo He cf1d98adc6 chore(gw): save cert files 2021-11-16 10:00:54 +08:00
JianBo He 5a08fa6a03 docs(gw): add gateway comment 2021-11-16 10:00:54 +08:00
JianBo He 1f067d6f3b docs(gw): add docs for gateway schema 2021-11-16 10:00:54 +08:00
JianBo He bc3f3b4c55 test(gw): more robust testing 2021-11-16 10:00:53 +08:00
JianBo He 287859fe36 chore(gw): integrate emqx-conf 2021-11-16 09:58:37 +08:00
JianBo He 0b36b73ee1 fix(emqx_conf): fix badmatch for returned error value 2021-11-16 09:58:37 +08:00
JianBo He cf17a55079 chore(gw): rename cm-registry shard name 2021-11-16 09:58:37 +08:00
JimMoen c05ecdbcb8
fix(api): DELETE success wrongly returned code 200 (#6135) 2021-11-16 09:28:57 +08:00
Zaiming Shi ff23e9dde1 test: sync with emqx_cm process before flushing emqx_pool 2021-11-15 22:27:16 +01:00
JianBo He a113b9b65d chore: fix elvis warnings 2021-11-15 22:26:46 +01:00
JianBo He 9e333ac8b3 fix(emqx_cm): fix typos 2021-11-15 22:26:46 +01:00
Zaiming Shi dd771c5568 fix(emqx_mgmt_cli): idempontent kick. now it always returns ok 2021-11-15 22:26:46 +01:00
Zaiming Shi 7e2ca9e287 fix(session): force kill session for 'kick' and 'discard'
Prior to this fix, 'kick' and 'discard' calls may timeout (or
fail for other reason), failures lead to only a log, then
continue to allow the new session to get registered.

As a result, in case a client is stuck, there is no way to
force it to step down, end up with multiple connections (sessions)
for the client ID in dashboard.

After this fix, the stale pids are notified to shutdown
via a gen_server:call, and forced with a exit(Pid, kill) for any
exception happend to the gen_server:call
2021-11-15 22:26:46 +01:00
Zaiming (Stone) Shi 650905667b
Merge pull request #6172 from JimMoen/fix-emqx_cm-ct
test: add tasks flushing in emqx_cm cases
2021-11-15 17:17:27 +01:00
JimMoen cf80aaacc3 test: add tasks flushing in emqx_cm cases 2021-11-15 20:40:43 +08:00
Zaiming (Stone) Shi 9761fe2f6d
Merge pull request #6009 from tigercl/fix/authn
fix(authn): fix handling of query result
2021-11-15 13:32:56 +01:00
JimMoen dcc5ae0642 test: API return code section 2021-11-15 16:30:44 +08:00
JimMoen b3f9220d02 style: make elvis happy 2021-11-15 16:30:44 +08:00
JimMoen 106aa559e0 fix(api): DELETE success wrongly returned code 200 2021-11-15 16:30:44 +08:00
JimMoen 59e6b6ee5b
test(cm): add sleep time for multicore scheduling (#6164) 2021-11-15 15:43:26 +08:00
DDDHuang 1476accd63
fix: monitor bad mnesia write & rpc call (#6060) 2021-11-15 15:28:19 +08:00
zhongwencool 01f29ab052
chore(swagger): lwm2m2 http api to hocon (#6153) 2021-11-15 15:08:50 +08:00
JimMoen 5a928ad8c3 test(cm): add sleep time for multicore scheduling 2021-11-15 13:52:15 +08:00
DDDHuang f0107868d4
fix: test suite stable (#6136)
* fix: test suite stable
2021-11-12 10:53:30 +08:00
JimMoen 9b17757ae8 style: make elvis happy 2021-11-12 09:29:26 +08:00
JimMoen 37cdd429b2 fix(api): remove sessionID from client information 2021-11-12 09:29:26 +08:00
DDDHuang bc6e49804f
feat: support CORS request
feat: support CORS request
2021-11-11 20:27:39 +08:00
zhongwencool 7a5da76197
Mgmt http api banned (#5998)
* fix(swagger): don't transform [log,publish] to a list.pwd

* chore: replace banned-api by hocon schema

* fix(api): code style warning
2021-11-11 16:35:29 +08:00
JimMoen a65597e302
Authz api mnesia refactor (#6082)
* refactor(authz): macro move to hrl and rename, add meta example

* refactor(authz_api_mnesia): use config schemas for request validations

* chore(authz_api_mnesia): suite module typerefl fit

* chore(style): authz_api_mnesia style format
2021-11-11 16:29:36 +08:00
Zaiming Shi b96a106463 style: make elvis happy 2021-11-10 22:54:58 +01:00
Zaiming Shi 9c1972020c test: fix flaky test emqx_stomp_SUITE:t_rest_clienit_inf 2021-11-10 22:51:18 +01:00
Ilya Averyanov 4f0311b6f8
Merge pull request #6093 from savonarola/add-authn-tests
chore(authn mnesia): reimplement emqx_authn_mnesia provider tests
2021-11-10 21:20:46 +03:00
Ilya Averyanov a0a88e23b0 chore(authn mnesia): reimplement emqx_authn_mnesia provider tests 2021-11-10 17:13:04 +03:00
Thales Macedo Garitezi 60d5017eea
style(elvis): fix elvis style complaints 2021-11-10 11:12:10 -03:00
Thales Macedo Garitezi 8fe342a02d
feat(stats): track live channel / client count
Track connected client count

In order to correctly display the number of _connected_ clients in our
monitor dashboard, we need to track those connections that are
actually connected to clients, not considering connections from
persistent sessions that are disconnected. Today, the
`connections.count` that is displayed in the dashboards considers
those disconnected persistent sessions as well.

The new statistics can be found in the
[`emqx_management`](https://github.com/emqx/emqx/tree/main-v4.4/apps/emqx_management)
plugin, under `/api/v4/stats`, in the keys
`live_connections.{max,count}`.
2021-11-10 11:12:10 -03:00
lafirest e8f6035c34
feat(emqx_lwm2m): add some lwm2m api (#6047) 2021-11-10 14:20:33 +08:00
zhongwencool 2d159ad9a1
fix(test): flaky mqtt expiry test case. (#6099) 2021-11-10 09:55:36 +08:00
JimMoen ac23214447
fix(api): config api on sepcific node (#6100)
* fix(api): config api on sepcific node

* chore(style):  code style for elvis checking
2021-11-10 09:38:45 +08:00
zhongwencool eea789451b
feat: sha3_256 dashboard account's password (#6084) 2021-11-09 15:41:28 +08:00
Ilya Averyanov 0f8ad29e91
Merge pull request #6078 from savonarola/auth-api-schema-examples
refactor(authn api): add more schema examples
2021-11-08 19:44:02 +03:00
zhongwencool b873b92717
fix(test): cluster_rpc retry interval incorrect (#6038) 2021-11-08 23:23:17 +08:00
k32 5726444645
Merge pull request #6066 from k32/remove-nosuspend-5
fix(emqx_connection): Add backpressure to TCP connections
2021-11-08 13:39:38 +01:00
Ilya Averyanov a84b84aac9 refactor(authn api): reformat for elvis compliance 2021-11-05 19:36:26 +03:00
Ilya Averyanov 1e036bf74d refactor(authn api): add more schema examples 2021-11-05 16:12:14 +03:00
Zaiming (Stone) Shi 3b02366a5b
Merge pull request #6064 from zmstone/style-check-newline-at-eof
Style: check newline at EOF
2021-11-04 18:01:45 +01:00
k32 0a5a9bd7d0 fix(emqx_connection): Add backpressure to TCP connections
Fixes #5494
2021-11-04 16:24:47 +01:00
Zaiming Shi d1abb30818 ci: fix elvis check 2021-11-04 15:27:10 +01:00
Zaiming Shi 56e2a9741f style: ensure newline at EOF for all files 2021-11-04 14:40:14 +01:00
zhouzb 48ddd056b5 test(authn): add test cases for authn 2021-11-04 10:03:34 +08:00
zhouzb ca4bb100ec fix(authn): fix bad parsing for postgresql SQL 2021-11-04 10:01:54 +08:00
Ilya Averyanov aed9ad3f7d
Merge pull request #6037 from savonarola/fix-authn-api-atom-leak
fix(authn api): eliminate possible atom leak
2021-11-03 23:17:47 +03:00
Zaiming Shi a139a0d453 fix(config): pin hocon 0.20.6
fix translation error
2021-11-03 11:15:35 +01:00
Tobias Lindahl 89cd68d36f refactor(persistent_sessions): fix coding style 2021-11-02 09:33:54 +01:00
Tobias Lindahl 8385eff98e fix(persistent_sessions): we only need to persist if the session expired 2021-11-02 09:27:50 +01:00
Tobias Lindahl b7ed649185 test(persistent_session): wait in test to avoid race 2021-11-01 14:56:10 +01:00
Ilya Averyanov 796553b5ea fix(authn api): eliminate possible atom leak 2021-11-01 16:51:48 +03:00
Tobias Lindahl ce49a281ed fix(persistent_sessions): protect against looking up stale data 2021-11-01 14:21:01 +01:00
Tobias Lindahl 329dd4d780 test(persistent_session): try to fix flaky snabbkaffe failure 2021-11-01 14:21:01 +01:00
Tobias Lindahl 1f13a6caad chore(persistent_sessions): tune mnesia parameters for better dump behavior 2021-11-01 14:21:01 +01:00
Tobias Lindahl ec68d7fc58 test(persistent_sessions): stabilize flaky tests 2021-11-01 14:21:01 +01:00
Tobias Lindahl 7ae6e04582 fix(persistent_sessions): channels can terminate without a session 2021-11-01 14:21:01 +01:00
zhouzb 29fb9b3361 fix(authn): fix bad type of hash 2021-11-01 18:49:13 +08:00
Ilya Averyanov 800b4b32c7
refactor(authn api): use config schemas for request validations (#5999) 2021-11-01 17:52:03 +08:00
JimMoen d9cb0283f3 fix(alarm): duration unit in dashboard, microsecond => millisecond 2021-10-29 16:48:13 +08:00
zhouzb c64637ca39 test(authn): add test case of version checking 2021-10-29 14:18:25 +08:00
zhouzb 966348db05 fix(authn): fix version switching error when updating multiple times 2021-10-29 10:12:29 +08:00
zhongwencool e62fde321c
Emqx alarm (#5994)
* chore(alarm): normalize_message outside emqx_alarm

* chore(alarm): don't cache config in emqx_alarm; remove dirty_write/read; add desc/example to alarm; add more test

* chore(alarm_api): alarm_api with hocon schema

* fix: activted's nullable is true

* fix(swagger): translate map to object

* fix(cluster_rpc): debug failed cluster_rpc test

* fix: Update schema description

Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>

Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2021-10-28 18:03:51 +08:00
William Yang 2c69c00906
Merge pull request #6010 from qzhuyan/perf/William/pool-worker-pickup
During the benchmark test of ehttpc, we found the gproc's random pool or round-robin pool doesn't scale well.

This PR makes emqx prefer to use the hash pool.

changed:

retainer pool: from random to hash
connector : from random to hash (default)
bridge : from random to hash (default)
authn_http : from random to hash (example)

unchanged:
worker pool type: hash
broker pool type: hash
resource type: hash
exproto type: hash
dashboard type: hash
2021-10-28 09:40:14 +02:00
Tobias Lindahl 48c7788d6f
Merge pull request #5875 from emqx/extend-persistent-sessions
Extend persistent sessions
2021-10-27 09:12:13 +02:00
zhouzb a712daaebc fix(authn): fix bad list comprehension 2021-10-27 15:08:02 +08:00
William Yang 5e6dab435a perf(pool): authz http example pool_type to hash 2021-10-27 08:48:41 +02:00
William Yang 9c8cd6c437 perf(pool): change emqx_connector default pool type to hash 2021-10-27 08:47:02 +02:00
William Yang 34979c51d7 perf(config): emqx_bridge default hash pool 2021-10-27 08:45:13 +02:00
William Yang 1c93331e34 perf(pool): emqx_authn_http pool type hash 2021-10-27 08:43:34 +02:00
William Yang edc1581b4b perf(pool): change emqx_retainer_pool type to hash 2021-10-27 08:26:02 +02:00
zhouzb 7311132d49 fix(authn): fix handling of query result 2021-10-27 09:22:17 +08:00
Zaiming (Stone) Shi 4dbe3ccf71
refactor(dashboard): rename 'password' field to 'pwdhash' (#5990)
* refactor(dashboard): rename 'password' field to 'pwdhash'

rename as it is not plaintext password stored in db

* refactor(emqx_dashboard): rename records

* test(emqx_dashboard_token): add test case to cover match specs
2021-10-26 20:41:33 +08:00
Tobias Lindahl 99836b2660 fix(persistent_sessions): add back the trap_exit 2021-10-26 10:52:27 +02:00
JimMoen 4a07d5e1f3 refactor(paginate): use exported fun call `{M,F}` 2021-10-26 16:16:37 +08:00
JimMoen 3683ba13ee fix(authn): users pagination on spec listener_id and authn_id 2021-10-26 16:16:37 +08:00
JimMoen eb452bd237 feat(authn_scram): authn_scram users page query 2021-10-26 16:16:37 +08:00
JimMoen 0bd5cd9336 feat(authn): authn users page query 2021-10-26 16:16:37 +08:00
JimMoen a399ac20e9 fix(authn): api description using binary string 2021-10-26 16:16:37 +08:00
Tobias Lindahl 558416af1d chore(persistent_sessions): remove redundant trap_exit flag 2021-10-26 10:01:02 +02:00
Tobias Lindahl 28417ad1d7 fix(persistent_sessions): allow for some failures of workers 2021-10-26 09:55:57 +02:00
Tobias Lindahl 234641ccf4 refactor(persistent_sessions): don't start session sup when disabled 2021-10-26 09:54:41 +02:00
Tobias Lindahl e3dc9b3f4f fix(persistent_sessions): start the message gc timer 2021-10-26 09:53:49 +02:00
Tobias Lindahl f39ccfb304 chore(persistent_sessions): address review comments 2021-10-26 09:53:18 +02:00
JimMoen c5142a6d11 fix(authz): add license headers 2021-10-26 14:30:39 +08:00
JimMoen f44bda806a chore(authz): fix test suite page params 2021-10-26 14:02:19 +08:00
JimMoen be6ba14ddf fix(authz): authz rules page query 2021-10-26 14:02:19 +08:00
JianBo He b36865e970 fix(api): escape the searching string 2021-10-26 10:34:03 +08:00
Zaiming (Stone) Shi 666b319729
Merge pull request #5989 from zmstone/refactor-ssl-certs-lib
refactor(tls): move ssl files handling to emqx_tls_lib
2021-10-25 12:42:29 +02:00
Zaiming (Stone) Shi a0e77d22b0
fix: typo in apps/emqx_authz/src/emqx_authz.erl
Co-authored-by: Rory Z <Rory-Z@outlook.com>
2021-10-25 08:57:44 +02:00
zhanghongtong 3c2292e74f chore(authz): add more test case 2021-10-25 13:43:28 +08:00
zhanghongtong a2da746bf9 chore(authz): implement create_dry_run in other function clause
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-10-25 13:43:28 +08:00
zhanghongtong 2307bdd868 fix(emqx_resource): fix InstId type error 2021-10-25 13:43:28 +08:00
zhanghongtong 198ae4c782 fix(authz): fix configuration could be updated with incorrect values
when updating the configuration, first check with emqx_resouce:create_dry_run/2

Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-10-25 13:43:28 +08:00
tigercl 0d53ea9db7
Merge pull request #5974 from tigercl/fix/mysql-query
fix(authn): fix sql parse for mysql
2021-10-25 10:38:15 +08:00
Zaiming Shi a7413bc11e fix(authn): save certificates to certs dir 2021-10-24 16:21:57 +02:00
Zaiming Shi 71d2e6bebd refactor(authz): call emqx_tls_lib to save & read SSL files 2021-10-24 10:44:47 +02:00
Zaiming Shi a7771afd9d refactor(tls): move ssl files handling to emqx_tls_lib
This is an attempt ot make it more generic for other APPs to use.
Aslo added test cases to cover most of the code paths.
2021-10-23 18:20:38 +02:00
firest d0950b9b9d fix(emqx_telemetry): add default value to get_value 2021-10-23 00:24:07 +08:00
Zaiming (Stone) Shi bdeb1685e0
Merge pull request #5977 from zmstone/chore-pin-hocon-0.20.5
Pin hocon 0.20.5
2021-10-22 16:36:12 +02:00
zhongwencool 90795a6f42
Rewrite http api with hocon schema (#5980)
* feat: rewrite http api with hocon

* fix: crash when default_username is empty

* chore: udpate rewrite api with emqx_conf's cluster_rpc

* fix: spec wrong
2021-10-22 17:01:29 +08:00
Zaiming Shi 0937c81632 test: fix emqx_config_SUITE 2021-10-22 09:45:01 +02:00
Tobias Lindahl 64787f4ccd test(persistent_session): fix bad guard 2021-10-22 01:03:08 +02:00
Tobias Lindahl 10de564abf test(persistent_sessions): test websocket connection 2021-10-22 00:46:58 +02:00
Zaiming Shi aa6053291e fix(schema): add roots for emqx_zone_schema
emqx_zone_schema is never used at root level, but for config doc
generation, it needs the roots.
2021-10-21 23:11:02 +02:00
Zaiming Shi b03b0717ce docs: authenticator_config ref link to the struct 2021-10-21 23:11:02 +02:00
Zaiming Shi f9b211cce6 chore: pin hocon 0.20.5
for two changes:
default string values are filled with binary() instead of [integer()]
better reference links in config document
2021-10-21 23:09:51 +02:00
Tobias Lindahl 9188f5b67e fix(persistent_sessions): postpone table creation until configs are loaded 2021-10-21 15:23:22 +02:00
Tobias Lindahl fe4d14303c fix(persistent_session): fix rebase error 2021-10-21 15:23:22 +02:00
Tobias Lindahl ec429857e0 refactor(persistent_sessions): code format changes after review 2021-10-21 15:23:21 +02:00
Tobias Lindahl 655d31726a feat(persistent_session): add early removal of delivered message 2021-10-21 15:23:21 +02:00
Tobias Lindahl b9b8111edb test: add new proper types to #session{} after rebase 2021-10-21 15:23:21 +02:00
Tobias Lindahl fd71bc50ab fix(persistent_session): Make sure to discard expired sessions on reconnect 2021-10-21 15:23:21 +02:00
Tobias Lindahl f2d26f5e03 test(persistent_sessions): Remove bogus stopping of quicer 2021-10-21 15:23:21 +02:00
Tobias Lindahl 12639addb9 fix(persistent_session): Make sure the connection processs is dead 2021-10-21 15:23:21 +02:00
Tobias Lindahl ed0f435546 chore(persistent_sessions): correct copyright information in new files 2021-10-21 15:23:21 +02:00
Tobias Lindahl fdba441f4f fix(persistent_sessions): revert bogus table type change 2021-10-21 15:23:21 +02:00
Tobias Lindahl 7808ffe600 fix(persistent_sessions): protect (un)subscribe from calling session router 2021-10-21 15:23:21 +02:00
Tobias Lindahl 7b394267dd feat: persistent sessions stored in mnesia
* Persistent sessions can survive node/connection process down
* Internal SessionID is generated, external ClientID is as before
* Sessions are persisted to mnesia
* A session router is added in parallel to the ordinary router
* Messages that are subscribed to by a persistent session are
  persisted by publisher
* Information about persisted and delivered messages are stored in
  mnesia per session.
* A resume protocol similar to takeover is implemented for resuming
  from mnesia
* Can be configured (and enabled) by the top lever config
  "persistent_session_store"
2021-10-21 15:23:21 +02:00
Tobias Lindahl fc7b4c0009 refactor: make it possible to use different tries
In preparation for persistent sessions
2021-10-21 15:23:21 +02:00
Tobias Lindahl 24e870672c refactor: use set_session in preparation for persistent sessions 2021-10-21 15:23:21 +02:00
Ilya Averyanov e37ecc10a6 style(behaviour attrs): unify behaviour declarations 2021-10-21 15:10:59 +03:00
zhongwencool d784e63b9f
emqx_conf (#5939)
* feat(emqx_conf): move conf manager for emqx_machine to emqx_conf

* chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2

* fix: common test failed

* fix: badmatch by typo wrong key

* fix(emqx_conf): get the wrong core nodes

* fix(emqx_conf): get core node's tnx_id not latest tnx_id

* fix: add ro_transation when copy conf file

* fix: delete debug info

* fix: change ekka_rlog to mria_rlog

* fix: remove cluster_rpc from emqx_machine.

* fix: don't call ekka:start/0 explicitly

* fix: ekka should be start in emqx_machine
2021-10-21 18:08:51 +08:00
zhouzb 7fdcca587a fix(authn): fix handling of pgsql response 2021-10-21 17:41:16 +08:00
zhouzb e071a10fee fix(authn): no longer use single quotes to wrap placeholders 2021-10-21 17:14:08 +08:00
zhouzb 3a834a822f fix(authn): fix sql parse for mysql 2021-10-21 17:07:24 +08:00
k32 9fdd5e6a7e
fix(emqx_machine): Fix start/stop callbacks (#5969)
* fix(emqx_machine): Fix start/stop callbacks

* chore(ekka): Bump version to 0.11.1

* fix(router): Wait for the tables

* fix(emqx_cluster_rpc): Stop cluster RPC when joining a cluster

* fix(emqx_app): Fix a deadlock when joining the cluster

* fix(emqx_telemetry): Wait for mnesia tables

* test(ct_helper): Start ekka before emqx
2021-10-21 14:49:21 +08:00
Zaiming (Stone) Shi ed069cfecc
Merge pull request #5963 from zmstone/refactor-authn-schema
refactor(authn): check authenticator config with provider module
2021-10-21 08:07:48 +02:00
tigercl 45b484a26a
Merge pull request #5967 from tigercl/fix/authn-mysql
fix(authn): fix placeholders are not replaced correctly
2021-10-21 10:20:05 +08:00
zhouzb ef731c74eb chore(deps): unify version of hocon 2021-10-21 09:35:00 +08:00
William Yang 7b3537d822
Merge pull request #5966 from qzhuyan/dev/william/lc-0.1.2
feat(olp): bump to 0.1.2
2021-10-20 21:57:31 +02:00
Zaiming Shi ce5b456872 refactor(authn): make schema doc generation work 2021-10-20 17:42:06 +02:00
Zaiming Shi fa91e5f583 fix(authn): allow single authenticator instance from config 2021-10-20 15:06:08 +02:00
Zaiming Shi d468c21e61 fix(authn): rename config key http-server to http 2021-10-20 14:36:37 +02:00
Zaiming Shi 019b9d17f6 refactor(emqx_config_handler): async remove 2021-10-20 14:12:46 +02:00
k32 8e58699ff5
Merge pull request #5937 from k32/mria
feat(mria): Replace ekka_mnesia with mria
2021-10-20 13:15:23 +02:00
Zaiming Shi 88d891a59a feat: support check_config callback for authenticator provider 2021-10-20 13:04:55 +02:00
Zaiming Shi 72c26931d7 fix: fill string fields' default value with binary 2021-10-20 11:52:30 +02:00
Zaiming Shi 1b9c082563 refactor(authn): check authenticator config with provider module
mainly two changes:

1. the schema is simplified at root level, per-authenticator checks
   are done after the type can be identified
2. the config handling part is split out from emqx_authentication
   module to emqx_authentication_config module
2021-10-20 10:13:11 +02:00
Zaiming (Stone) Shi e2f9b111b6
Merge pull request #5944 from Spycsh/slog
chore: change to structured logging under apps/emqx/authz and authn
2021-10-20 07:25:40 +02:00
JianBo He 9d4268e5e6 test(gw): ensure subscription established 2021-10-20 10:40:35 +08:00
JianBo He 7c04dbc585 test(gw): eliminate side effect between tests 2021-10-20 10:40:35 +08:00
JianBo He 69df027ee9 chore(gw): use SLOG to replace LOG 2021-10-20 10:40:35 +08:00
JianBo He 2416fa4e13 chore(gw): return 204 if no authn config 2021-10-20 10:40:35 +08:00
JianBo He 46e0609544 test(gw): add clients HTTP-API tests 2021-10-20 10:40:35 +08:00
JianBo He 6f0d0ab473 test(gw): eliminate side effect between tests 2021-10-20 10:40:35 +08:00
JianBo He 1cf833e1c0 test(gw): ensure emqx_authn starting state 2021-10-20 10:40:35 +08:00
JianBo He 7b211d35b8 test(gw): add basic tests for http-api 2021-10-20 10:40:35 +08:00
JianBo He e56cbd8a30 chore(gw): refine test case 2021-10-20 10:40:35 +08:00
JianBo He 49adf2f7d2 chore(gw-lwm2m): set qmode to duration_s type 2021-10-20 10:40:35 +08:00
JianBo He e4adc07add chore(gw-exproto): refactor ssl options 2021-10-20 10:40:35 +08:00
JianBo He ac42a91fc2 chore(gw-exproto): retry the closed grpc stream 2021-10-20 10:40:35 +08:00
JianBo He fc2e358f01 chore(gw): add ssl feilds for exproto 2021-10-20 10:40:35 +08:00
JianBo He b637764095 chore(gw): return unloaded status instead of 404 2021-10-20 10:40:35 +08:00
JianBo He ec4198c91c feat(gw-lw): return the special fields for lwm2m 2021-10-20 10:40:35 +08:00
JianBo He 92a5c333af chore(gw-lwm2m): store lifetime in clientinfo 2021-10-20 10:40:35 +08:00
JianBo He cfc905aa1a fix(gw): insert channel info into ets table 2021-10-20 10:40:35 +08:00
zhouzb 4ae38b7c6a fix(authn): fix placeholders are not replaced correctly 2021-10-20 10:14:47 +08:00
Spycsh ac51ed81b7 chore: change to structured logging under apps/emqx/authz and authn 2021-10-20 10:00:13 +08:00
Zaiming Shi 9c414096c7 test(authz): test HTTP apis for built-in-database 2021-10-20 09:17:21 +08:00
Zaiming Shi 0fcb3a1e93 docs: add more schema docs for authz 2021-10-20 09:17:21 +08:00
Zaiming Shi 0cf5aa5611 test: remove cuttlefish code 2021-10-20 09:17:21 +08:00
Zaiming Shi ae854db02d test: fix match pattern of returned rules 2021-10-20 09:17:21 +08:00
Zaiming Shi 891a185eda test: enable emqx_authz_api_mnesia_SUITE tests 2021-10-20 09:17:21 +08:00
William Yang d3ddecb144 feat(olp): bump to 0.1.2
remove noop logging
2021-10-19 21:20:12 +02:00
Zaiming Shi 2e01eeb6b4 fix(emqx_schema): typo in nullable prop 2021-10-19 15:42:34 +02:00
William Yang c780a1a53c
Merge pull request #5957 from qzhuyan/dev/william/quic-0.0.9
feat(quic): bump quicer 0.0.9
2021-10-19 14:52:08 +02:00
William Yang 56d8e0f59f feat(quic): bump quicer 0.0.9 2021-10-19 13:54:43 +02:00
k32 b3a8753219 fix(mria): Replace mnesia calls with mria 2021-10-19 12:24:35 +02:00
Shawn d1b3377c52 fix(mongo): update the health check method 2021-10-19 15:52:36 +08:00
JimMoen a8bb2a60b0 fix(gateway_api): client ip and port as two fields when clients query 2021-10-19 15:36:02 +08:00
JimMoen 6fb1d22e0c fix(mgmt_api): client ip and port as two fields when clients query 2021-10-19 15:36:02 +08:00
tigercl bd53c488d1
Merge pull request #5950 from tigercl/fix/authn-version
fix(authn): fix the authentication instance cannot run after the update
2021-10-19 09:58:09 +08:00
zhouzb 31e2d9d2c0 fix(authn): fix the authentication instance cannot run after the update 2021-10-19 09:05:54 +08:00
k32 0d2d5f6bf9 fix(emqx_alarm): Wait for tables 2021-10-18 22:40:18 +02:00
k32 37a1c45af0 fix(dialyzer): Fix problems found by dialyzer 2021-10-18 22:04:05 +02:00
k32 07ea6e5689 fix(mria): Fix startup sequence 2021-10-18 22:04:05 +02:00
k32 fcdf10080d chore(ct): ekka_mnesia -> mria_mnesia 2021-10-18 22:04:05 +02:00
k32 73a4816d9c fix(mria): Hook up mria to emqx_machine 2021-10-18 22:04:05 +02:00
k32 7086135ec8 chore(mria): Remove the obsolete annotiation 2021-10-18 22:04:05 +02:00
k32 d14b8e7da9 chore(mria): ekka_rlog -> mria_rlog 2021-10-18 22:04:05 +02:00
k32 326923850c chore(mria): Get rid of copy_mnesia callback 2021-10-18 22:04:05 +02:00
k32 e14a62d4d6 chore(mria): ekka_mnesia:start/stop -> mria:start/stop 2021-10-18 22:04:05 +02:00
k32 9965d6e028 chore(mria): ekka_mnesia:create_table -> mria:create_table 2021-10-18 22:04:05 +02:00
k32 ae2056da1b chore(mria): Fix clear_table and ro_transaction calls 2021-10-18 22:04:05 +02:00
k32 ff48322e0c chore(mria): ekka_mnesia:running_nodes -> mria:running_nodes 2021-10-18 22:04:05 +02:00
k32 b515a45a4f chore(mria): Rename module: ekka_mnesia -> mria 2021-10-18 22:04:05 +02:00
zhanghongtong b1bf21c73b fix(emqx schema): fix function clause by user_lookup_fun 2021-10-18 16:37:16 +08:00
zhongwencool c73205a589
Ct helpers migrate (#5943)
* chore: common test

* chore: delete emqx_ct_helpers deps
2021-10-18 13:45:52 +08:00
Zaiming Shi ad195d0eb0 chore(emqx_vm): delete unused function get_process_group_leader_info 2021-10-16 21:10:43 +02:00
Zaiming Shi 71a11834ad chore: pin rebar plugins and test deps 2021-10-15 16:46:49 +02:00
Zaiming Shi 68d91e770b test: remove ct_helpers from apps/emqx rebar.config 2021-10-15 16:11:48 +02:00
Tobias Lindahl aa19c2a908 chore: Remove emqx_ct_helpers as dependency 2021-10-15 10:40:57 +02:00
William Yang 30a0635ea5 fix: bump ekka to 10.0.9
fix ekka etcd cluster ssl options
2021-10-14 22:49:25 +02:00
Zaiming (Stone) Shi c5b2bc86a2
chore(dashboard): enable by default (#5926) 2021-10-14 21:05:02 +08:00
JimMoen 40ab0064ae fix(api): invalid params HTTP Code 400 2021-10-14 18:57:33 +08:00
JimMoen cc36c7e48d fix(mgmt_api): add page limit check. 2021-10-14 18:57:33 +08:00
William Yang dcca1d7544
Merge pull request #5867 from qzhuyan/dev/william/olp
feat(olp): first PR for overload protection
2021-10-14 10:00:01 +02:00
Shawn 2e52ab9712 fix(rules): improve some code for emqx_rule_engine 2021-10-14 15:09:37 +08:00
Shawn dce57a3f92 fix(rules): add description to the config 'ignore_sys_message'
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2021-10-14 15:09:37 +08:00
Shawn 0e7a3f89a9 feat(rules): support output functions in <<"Mod:Func">> format 2021-10-14 15:09:37 +08:00
Shawn 9c7eef5295 feat(rules): update rule_engine configs from APIs 2021-10-14 15:09:37 +08:00
Shawn c3effca553 fix(rules): load rules from config file failed 2021-10-14 15:09:37 +08:00
Shawn 467805855d fix(rules): load rules from config file failed 2021-10-14 15:09:37 +08:00
Shawn c6c314de1a fix(hocon): update hocon to 0.19.6 2021-10-14 15:09:37 +08:00
Shawn 1ffae5d1b0 refactor(rule_engine): merge code for emqx_rule_registry and emqx_rule_engine 2021-10-14 15:09:37 +08:00
Shawn b063b6f253 feat(rules): support configure rules in config file 2021-10-14 15:09:37 +08:00
zhongwencool 2de5e0157b
chore(doc): replace : by - in namespace (#5920) 2021-10-14 14:48:39 +08:00
lafirest 8a2c5e2422 feat(rate_limiter): implement hierarchical token buckets 2021-10-14 10:20:05 +08:00
William Yang 23fc8afc50 feat(olp): rename olp mgmt API
on -> enable
off -> disable
2021-10-13 10:18:57 +02:00
zhongwencool d80f20aca3
feat(swagger): define mgmt config_api by hocon schema (#5814)
* feat(swagger): define mgmt config_api by hocon schema

* fix: enum can't defined by integer, use union.

* fix: hocon schema union to enum
2021-10-13 14:04:43 +08:00
tigercl 3df33da9ac
Merge pull request #5919 from tigercl/fix/scram-users
fix(authn): fix bad user_id for scram
2021-10-13 13:56:29 +08:00
zhouzb ab060198a6 fix(authn): fix bad user_id for scram 2021-10-13 11:35:51 +08:00
DDDHuang 2d4d372952 chore(test): add auto sub suite 2021-10-13 10:59:42 +08:00
William Yang 58033c083d chore(olp): update alarm text 2021-10-12 16:08:20 +02:00
zhanghongtong 674106ffa7 fix(authz api): fix error for update file type 2021-10-12 18:19:18 +08:00
zhanghongtong 084668bdd9 fix(authz): fix error in type determination when updating sources 2021-10-12 17:37:37 +08:00
lafirest 3524942766 fix: change all ~s in io format to ~ts
we should use unicode to replace latin1
2021-10-12 15:09:24 +08:00
Zaiming (Stone) Shi 04f2487108
Merge pull request #5908 from zmstone/refactor-emqx-more-slog
refactor(emqx): fix remaining legacy logging
2021-10-12 06:45:25 +02:00
JimMoen 19456d84a5 style: code format fix 2021-10-12 10:37:45 +08:00
zhanghongtong 585c4892ce fix(authz api): fix error for read cert file 2021-10-12 09:44:52 +08:00
DDDHuang c90342da4a fix: topic metrics deny wildcard 2021-10-12 09:39:14 +08:00
William Yang b0c27c74fd feat(olp): bump lc to 0.1.1 2021-10-12 00:00:20 +02:00
Zaiming Shi eb43423552 refactor(emqx): fix remaining legacy logging 2021-10-11 21:51:39 +02:00
Zaiming (Stone) Shi 40963221f8
Merge pull request #5898 from zmstone/refactor-slog
Refactor slog
2021-10-11 16:15:44 +02:00
Zaiming Shi 7e9d7c4858 test(proper): move emqx_ct_proper_types to local repo
previously provided by emqx-ct-helpers
2021-10-11 15:28:12 +02:00
JimMoen 321d941eaf fix(mgmt_api): rows too big fixing. 2021-10-11 21:11:34 +08:00
JimMoen 3960204ce3 refactor(mgmt_api): `select_table_with_count`. 2021-10-11 21:11:34 +08:00
JimMoen ea7aa5bc41 refactor(mgmt_api): use `select_table` congruously. 2021-10-11 21:11:34 +08:00
JimMoen b65c9908a1 refactor(mgmt_api): Clearer variable name. 2021-10-11 21:11:34 +08:00
JimMoen 77516d3854 refactor(mgmt_api): `node_query`. 2021-10-11 21:11:34 +08:00
JimMoen e26804b9ac refactor(mgmt_api): `cluster_query`. 2021-10-11 21:11:34 +08:00
JimMoen 705ed0ce7b refactor(mgmt_api): Fuzzy filter using `select_table`. 2021-10-11 21:11:34 +08:00
JimMoen 5daef544a0 refactor(mgmt_api): `select_table`. 2021-10-11 21:11:34 +08:00
JimMoen b4433f77c8 refactor(mgmt_api): Add `page_start`. 2021-10-11 21:11:34 +08:00
JimMoen 9657d7e628 refactor(mgmt_api): Use Continuation with ets selecting. 2021-10-11 21:11:34 +08:00
Spycsh d4657754eb chore(dialyzer): fix spec for record field message.extra 2021-10-11 14:10:22 +02:00
zhanghongtong 5d1772a6b4 fix(authz api): fix error for move source when disable source 2021-10-11 14:07:10 +08:00
zhanghongtong 24b0fccba9 fix(authz): Fix no match error after deleting a source 2021-10-11 14:04:10 +08:00
zhanghongtong 7c28a3f6c1 fix(authz api): fix 404 error when no have "all" rules 2021-10-11 14:03:48 +08:00
Zaiming Shi 71731c01f1 refactor(emqx): refine SLOG messages
unified logging for unexpected handle_cast handle_call and handle_info
2021-10-11 07:41:52 +02:00
Zaiming Shi 785793b345 refactor: add logging allow or not check for SLOG 2021-10-11 07:41:52 +02:00
Zaiming Shi 5274e0a726 refactor(emqx): add 'extra' field to message record 2021-10-11 02:07:33 +02:00
Spycsh fe5a169be1 chore: change to structured logging under apps/emqx/src 2021-10-09 14:02:22 +08:00
Shawn 63bf161522 fix(test): testcase t_validity_period failed occasionally 2021-10-09 09:17:09 +08:00
Zaiming (Stone) Shi aa0c58daa0
Merge pull request #5881 from zmstone/fix-flaky-tests-cm-session-race-condition
chore: fix flaky test cm_SUITE open session racecondition
2021-10-07 17:28:10 +02:00
William Yang 8d8969672b feat(olp): add desc in schema 2021-10-07 16:03:54 +02:00
Zaiming Shi a882a8c496 chore: fix flaky test cm_SUITE open session racecondition 2021-10-07 11:51:40 +02:00
Zaiming Shi 7ae4505636 test(emqx_broker): fix flaky tests 2021-10-07 11:31:22 +02:00
William Yang 77f8159ca1 docs(olp): emqx_olp module 2021-10-06 21:07:14 +02:00
William Yang 9ecb7821f9 feat(olp): use tagged deps libs 2021-10-06 10:38:39 +02:00
Zaiming Shi ce486e5540 fix(ssl): verify ciphers list against all available ciphers
Prior to this change the ciphers are only checked against
the list returned from from
`ssl:cipher_suites(all, 'tlsv1.2', openssl)`
which may cause some (weak) ciphers missing in certain
otp + openssl installation
2021-10-05 15:25:56 +02:00
Zaiming Shi b42a2f2bc2 fix(ssl): delete some weak cipher suites from the default list 2021-10-05 15:15:00 +02:00
William Yang afb4b5dbd7 test(olp): add CT suite emqx_olp_SUITE 2021-10-05 14:37:39 +02:00
William Yang bfe4346469 feat(olp): alarm without nodeid 2021-10-05 14:36:36 +02:00
William Yang 547484a2d1 chore(olp): add spec. 2021-10-05 09:47:21 +02:00
William Yang 6baf2dbd95 feat(olp): backoff new conn 2021-10-05 09:23:23 +02:00
William Yang 370edac031 feat(olp): add default config 2021-10-04 16:30:48 +02:00
William Yang 4dc63b26a8 feat(olp): metrics 2021-10-04 16:30:44 +02:00
William Yang 67267acb70 feat(olp): management API 2021-10-04 14:36:30 +02:00
William Yang eb895a9f80 feat(olp): quic 2021-10-04 12:31:14 +02:00
William Yang 9304e3c122 feat(olp): add config and backoff gc 2021-10-04 12:21:30 +02:00
William Yang 166f02edc4 feat(olp): don't hibernate conn proc when overloaded 2021-10-04 10:44:53 +02:00
William Yang e9710ade14 feat(olp): first commit for overload protection
- add lc app
- add alarm handler for lc runq alarm
- backoff when handling CONNECT message
- close new connswhen overload
2021-10-01 16:14:38 +02:00
zhongwencool af36e1a791 fix: emqx_cluster_rpc.hrl to emqx_machine.hrl 2021-09-30 16:04:30 +08:00
zhongwencool 93c210887b chore: don't use emqx_machine.hrl in emqx 2021-09-30 16:04:30 +08:00
zhongwencool 44a6f04a45 chore: reorganize shards position 2021-09-30 16:04:30 +08:00
JianBo He 45ca168216 test(gw): fix bad test cases 2021-09-30 15:51:02 +08:00
JianBo He ac3af8260d fix(gw): fix print client record error 2021-09-30 15:51:02 +08:00
JianBo He adaf3db719 refactor(gw): put conf operations into emqx_gateway_conf mod 2021-09-30 15:51:02 +08:00
JianBo He 642b588ad0 fix(gw): fix removing listener error 2021-09-30 15:51:02 +08:00
JianBo He 8e4256c06f chore(conf): refine config format 2021-09-30 15:51:02 +08:00
Zaiming Shi e9991dca02 chore(dashboard): Allow test mode of the dashboard 2021-09-30 09:28:47 +02:00
zhongwencool be123f613d
Fix: apps should boots after emqx_machine_sup's children spawn. (#5851)
* fix(cluster_call): apps should start after cluster_call init

* fix: undef function

* chore: reformat code

* fix: ekka must start before emqx
2021-09-30 13:56:18 +08:00
DDDHuang e62af95d0d fix: close dashboard before beta 1 2021-09-30 09:45:48 +08:00
zhouzb 50765fa345 fix(http): fix function clause when create http connector instance 2021-09-29 19:35:06 +08:00
zhanghongtong b94dcb7bc7 chore(release): update emqx release version 2021-09-29 18:29:44 +08:00
zhanghongtong 4044fd8122 chore(authz mnesia api): update schema
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-29 18:28:55 +08:00
DDDHuang f9adecedef fix: exhook code spelling 2021-09-29 17:23:51 +08:00
zhanghongtong dd3b91e13f fix(authz api): fix update config error
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-29 13:46:49 +08:00
tigercl 55ec5bab9e
Merge pull request #5773 from tigercl/feat/psk-file
feat(psk): support psk
2021-09-29 13:37:49 +08:00
Zaiming (Stone) Shi 83e7ab681b
Merge pull request #5820 from JimMoen/refactor-frame-parse-logging
Refactor frame parse logging with bug fix.
2021-09-28 19:31:39 +02:00
Zaiming Shi 225ebdaa87 fix(frame): simlify error excption context
We should not raise error with the exact context after logging it
because it will end up duplicated in the log
2021-09-28 18:15:32 +02:00
JimMoen c1ff30896a fix(frame): safely serializing and structured log. 2021-09-28 18:55:25 +08:00
tigercl 6670bc49fe
Merge pull request #5791 from tigercl/fix/authn2
fix(authn): add timeout option for mysql connector
2021-09-28 14:28:55 +08:00
JimMoen 9832eea250 fix(frame): safely parsings. 2021-09-28 14:11:18 +08:00
JimMoen 7d6180f10a fix(frame): variable byte integer could be larger than 4 bytes. 2021-09-28 14:11:18 +08:00
Zaiming Shi a158b0235d chore(tests): use assertError
the ?catch_error macro passes when there is no exception
2021-09-28 14:11:18 +08:00
Zaiming Shi fec3c6574e perf(emqx_frame): skip empty tail 2021-09-28 14:11:18 +08:00
Zaiming Shi 9d0ef5de6b refactor(emqx_frame): log frame parse error with more context 2021-09-28 14:11:18 +08:00
JimMoen 1509907744 fix(mgmt): delayed messages payload encoded in basd64 twice. 2021-09-28 12:26:13 +08:00
tigercl 79685a77ba
Merge branch 'master' into fix/authn2 2021-09-28 09:27:08 +08:00
zhouzb 352c87a586 chore(authn): delete useless func 2021-09-28 09:22:59 +08:00
zhanghongtong 8915f61382 fix(authz api): fix badarg error
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-28 09:13:17 +08:00
zhanghongtong c4e0eff772 fix(authz api): fix schema error 2021-09-28 09:13:17 +08:00
zhouzb 2cc2cd2831 chore(psk): return line number rather than the content of line 2021-09-28 09:09:26 +08:00
Zaiming (Stone) Shi 3df21a9e14
Merge pull request #5822 from Spycsh/fix-windows-compile
chore: fix Windows compilation process
2021-09-27 23:30:59 +02:00
Shawn a9185f964e
fix(rules): improve specs and logs (#5821)
Co-authored-by: Zaiming Shi <zmstone@gmail.com>
2021-09-27 21:10:48 +02:00
Zaiming Shi 697a11ded0 fix(tls): drop unsupported ciphers
we use a hard-coded list of pre-selected ciphers as config
default value. some of them may not be supported by the
underlying openssl lib.

now moved the pre-selected ciphers to emqx_tls_lib:selected_ciphers
which performs a filtering before return.
2021-09-27 20:51:48 +02:00
Shawn e2721c144c feat(bridge): support http bridge 2021-09-27 22:01:18 +08:00
zhouzb 74c9a38e9f fix(psk): fix bugs and add test case 2021-09-27 21:42:32 +08:00
Spycsh c3b980fde9 chore: fix Windows compilation process 2021-09-27 21:24:10 +08:00
Zaiming Shi 5417eb328a fix(schema): no ciphers validator for quic listener 2021-09-27 13:53:54 +02:00
Zaiming Shi 58ffc4651f fix(config): use default value for tls versions
default value for ssl.versions is dynamically resolved based
on otp version and underlying openssl installation
2021-09-27 13:53:54 +02:00
Zaiming Shi d376c0f9fc refactor(schema): call emqx_tls_lib for default tls versions 2021-09-27 13:53:54 +02:00
Zaiming Shi e7e8b8c77b fix(schema): check tlsv1.3 availability 2021-09-27 13:53:54 +02:00
zhouzb f9aa345787 chore(psk): improve logs for psk 2021-09-27 15:32:56 +08:00
zhouzb 2262bf508e chore(authn): improve code 2021-09-27 14:50:22 +08:00
zhongwencool 5280f83651
Merge pull request #5784 from zhongwencool/delayed-api-schema
feat(delayed_api): support hocon schema
2021-09-27 13:45:17 +08:00
zhouzb 84bb486c62 feat(psk): chunk size can be configured and improve code 2021-09-27 10:53:25 +08:00
zhongwencool c41b4b0c2f fix(delayed_api): delete msg crash return 500 2021-09-27 09:54:41 +08:00
Shawn 69f3cce75d feat(rules): hook on bridges events and query bridges from rules 2021-09-26 23:00:08 +08:00
Shawn e630e23846 fix(rules): dialyer failed to analysis the emqx_rule_sqlparser:parse/1 2021-09-26 23:00:08 +08:00
Shawn 0d26e50e87 fix(rules): parse outputs failed 2021-09-26 23:00:08 +08:00
Shawn 420ccf0f51 refactor(rules): change republish as an output 2021-09-26 23:00:08 +08:00
Shawn f33e28af6d fix(rules): update test cases for emqx_rule_engine_SUITE 2021-09-26 23:00:08 +08:00
Shawn 7bc69b129a fix(rules): update test cases for rule metrics 2021-09-26 23:00:08 +08:00
Shawn d4f20c82e0 feat(rules): support function outputs 2021-09-26 23:00:08 +08:00
Shawn bd081913b5 refactor(rules): remove emqx_rule_actions 2021-09-26 23:00:08 +08:00
Shawn af295a9b71 refactor(rules): remove resources and actions 2021-09-26 23:00:08 +08:00
Shawn b055464f6b refactor(rule): remove CLIs for rules
We will have new CLIs based on HTTP API in the future.
2021-09-26 23:00:08 +08:00
zhongwencool 776604a90b chore(dashboard): make dirty operation into ekka_mnesia transation 2021-09-26 21:42:26 +08:00
zhouzb f325d7c783 chore(psk): catch timeout exception to avoid crash 2021-09-26 20:37:00 +08:00
zhanghongtong c5494d5c90 chore(authz mnesia api): ensure built-in-database type source is disabled before purge. 2021-09-26 16:38:08 +08:00
Zaiming Shi 8b6eeef7fc refactor(authz): use macro for cmd names 2021-09-26 16:19:47 +08:00
Zaiming Shi 65d0b70ff6 refactor(authz): simplify config update impl 2021-09-26 16:19:47 +08:00
Zaiming Shi f18d0c7167 fix(authz): delete unused config field
path is not used for built-in-database type
2021-09-26 16:19:47 +08:00
zhanghongtong 7d18250a1d chore(authz mnesia): fix dialyzer error 2021-09-26 16:19:47 +08:00
zhanghongtong 673b12a46d chore(authz mnesia): in the mnesia table, replace atom with int 2021-09-26 16:19:47 +08:00
zhanghongtong 9b3917e0d3 chore(authz mnesia api): get method supports paging
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-26 16:19:47 +08:00
zhanghongtong 1a02e0cfd1 feat(authz mnesia api): post accept array data 2021-09-26 16:19:47 +08:00
zhanghongtong 2dc3b51675 chore(authz): use ekka_mnesia instead of mnesia 2021-09-26 16:19:47 +08:00
zhanghongtong b583509976 feat(authz): add authorize for mnesia 2021-09-26 16:19:47 +08:00
zhanghongtong ed6f4895e2 feat(authz mnesia): add api
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-26 16:19:47 +08:00
lafirest acb5c693ba
Merge pull request #5767 from lafirest/fix/time_unit
fix(schema): fix some time unit in schema
2021-09-26 15:35:27 +08:00
JianBo He 8e78d29325 chore(gw): improve emqx_gateway_schema 2021-09-26 15:19:55 +08:00
JianBo He b78c914651 test(authn): cleanup the dirty configs 2021-09-26 15:19:55 +08:00
JianBo He 791408cd99 refactor(gw): simplify code structure
1. Add the management API for listener's authn
2. Clarify responsed error messages
2021-09-26 15:19:55 +08:00
JianBo He 5ad1a8c232 chore(gw): fix test case errors 2021-09-26 15:19:55 +08:00
JianBo He f0ac62c513 refactor(gw): use emqx_gateway_conf to update conf 2021-09-26 15:19:55 +08:00
JianBo He b55a1f62c3 test(gw): more cases for emqx_gateway_conf 2021-09-26 15:19:55 +08:00
JianBo He d163e99d58 chore(gw): add cases for emqx_gateway_conf 2021-09-26 15:19:55 +08:00
JianBo He f68dfff0d6 refactor(gw): refactor config hot-upgrade mechnism 2021-09-26 15:19:55 +08:00
JianBo He a9e32ac106 chore(gw): fix gatway enable/1 not working 2021-09-26 15:19:55 +08:00
JianBo He d8176f4378 chore(gw): pass listener id into listener params 2021-09-26 15:19:55 +08:00
JianBo He 3e033b419c refactor(gw): integrate with authn 2021-09-26 15:19:55 +08:00
JianBo He f3c675b139 chore(deps): upgrade esockd to 5.8.3 2021-09-26 15:19:55 +08:00
JianBo He eda94f5754 chore(gw): more comment for coap options 2021-09-26 15:19:55 +08:00
JianBo He aa03023811 chore(gw): http-api for loading gateway 2021-09-26 15:19:55 +08:00
lafirest 6e3ec6c9db fix(schema): fix authn/z's schema time unit 2021-09-26 14:41:46 +08:00
lafirest e31e175e47 fix(schema): fix some time unit in schema 2021-09-26 14:38:53 +08:00
zhanghongtong 11c90cfce4 fix(authz api): fix file type error 2021-09-26 12:35:35 +08:00
zhouzb 096e85dc14 chore(authn): improve log and fix disabled authentication still working 2021-09-26 11:31:19 +08:00
zhongwencool cae79a0584 feat(swagger): move public page/limit/error_code to emqx_dashboard_swagger module 2021-09-24 21:51:53 +08:00
Zaiming (Stone) Shi d2278b02d9
Merge pull request #5798 from Rory-Z/feat/update-acl-conf
feat(authz): acl.conf is compatible with the 4.x syntax
2021-09-24 11:53:12 +02:00
zhouzb 6051ea92eb chore(authn): improve log 2021-09-24 17:24:04 +08:00
zhouzb 11bdfcb8f0 fix(authn): fix bugs in http and pgsql authn 2021-09-24 17:15:10 +08:00
zhouzb e31840d943 fix(authn): add timeout option for mysql connector 2021-09-24 17:15:10 +08:00
zhouzb 98ecafcceb chore(psk): fix dialyzer 2021-09-24 17:07:08 +08:00
zhouzb d391690505 chore(psk): fix bugs 2021-09-24 17:07:08 +08:00
zhouzb 29277b1d6b chore(psk): rename boot.psk to init.psk 2021-09-24 17:07:08 +08:00
zhouzb e9cd757432 chore(psk): delete old module and update configuration 2021-09-24 17:07:05 +08:00
zhouzb 4ca9628899 chore(psk): rename boot_file to init_file 2021-09-24 17:05:26 +08:00
zhouzb 2f18f5e8b5 chore(psk): improve configuration file 2021-09-24 17:05:26 +08:00
zhouzb 7c61bc18cf feat(psk): support psk 2021-09-24 17:05:26 +08:00
zhongwencool 7e494afd98 fix(swagger): desc must be binary 2021-09-24 15:55:49 +08:00
zhongwencool 8c441673c2 feat(delayed_api): support hocon schema 2021-09-24 15:22:05 +08:00
JimMoen e737f18548 fix(mgmt_api): Friendly HTTP Status Code for Listeners. 2021-09-24 14:28:52 +08:00
JimMoen 54b3dd8718 fix(mgmt_api): update listener on specific node. 2021-09-24 14:28:52 +08:00
JimMoen 2e088c0ae8 fix(mgmt_api): return 404 when node not found. 2021-09-24 14:28:52 +08:00
zhongwencool 357456880e
Merge pull request #5777 from zmstone/fix-ssl-listener-config
fix(emqx_schema): make ssl config schema right
2021-09-24 13:39:44 +08:00
lafirest 7ff26003e5 fix(emqx_retainer): fix the bug that re-enable does't work 2021-09-24 10:25:19 +08:00
zhanghongtong d1e85e8d00 feat(authz): acl.conf is compatible with the 4.x syntax 2021-09-24 09:59:45 +08:00
zhanghongtong 4f0684e887 chore(authz api): delete healthy status for get method 2021-09-24 09:20:54 +08:00
Zaiming Shi 3027bc3a0c fix(schema): sll key and cert files are nullable 2021-09-23 16:57:16 +02:00
Zaiming Shi 4392357877 fix(schema): simplify ssl ciphers filed schema 2021-09-23 16:57:16 +02:00
Zaiming Shi 4f638b8242 fix(schema): upgrade to hocon 0.19.5
renamed no_conversion option to only_fill_defaults
2021-09-23 16:57:15 +02:00
Zaiming Shi 5bd67a49de chore(schema): reformat schema fields descriptions 2021-09-23 16:56:02 +02:00
Zaiming Shi b1cf5bc1d4 fix(schema): do not validate etc_dir 2021-09-23 16:56:02 +02:00
Zaiming Shi 97e1cf65b7 refactor(schema): make a client ssl options schema
client and server ssl options share some common fields
this commit make an abstraction for the common fields
then export server_ssl_options_schema/2 and client_ssl_options_schema/1
for other schema modules to call
2021-09-23 16:56:02 +02:00
Zaiming Shi fbd5701989 fix(emqx_schema): make ssl config schema right 2021-09-23 16:56:02 +02:00
zhanghongtong 9ac1e9fcd9 chore(authz api): use raw config for get method 2021-09-23 16:33:06 +08:00
JimMoen 8d11a61999 fix(delayed): delete with worong msgid return 200. 2021-09-23 16:23:30 +08:00
tigercl 7fd7a31300
Merge pull request #5766 from tigercl/chore/authn
chore(authn): add supervisor for authn and fix checking errors
2021-09-23 13:51:10 +08:00
zhongwencool 29b96bae2e fix(dashboard): create user return 405 2021-09-23 11:25:02 +08:00
zhouzb 4860049268 chore(authn): insert final newline 2021-09-23 10:11:54 +08:00
zhouzb 79026d5900 chore(authn): add supervisor for authn and fix checking errors 2021-09-23 10:11:50 +08:00
Zaiming Shi 86f47b6112 chore(emqx_data_bridge): delete stale app dir 2021-09-23 09:52:43 +08:00
tigercl 2b9870992c
Merge pull request #5763 from tigercl/feat/clear-certs
feat(clear certs): clear certs when deleting instance
2021-09-23 09:43:56 +08:00
Zaiming (Stone) Shi b98f8f5922
Merge pull request #5780 from Rory-Z/chore/rename-mongo
chore(authz): rename mongo to mongodb
2021-09-22 14:44:44 +02:00
JimMoen 5baf427b75 fix(delayed): default username when get delayed message form `/publish` api. 2021-09-22 18:45:18 +08:00
JimMoen da923c7df0 fix(delayed): `max-delayed-messages` increase 1 than setting. 2021-09-22 18:45:18 +08:00
zhongwencool 81a795ffc9
Merge pull request #5728 from zhongwencool/swagger-hocon-spec
chore(swagger): swagger support hocon schema
2021-09-22 17:42:07 +08:00
zhongwencool 085d8e8efa chore(schema): restore space 2021-09-22 16:41:00 +08:00
Shawn c0258e1be6 feat(bridge): let mqtt bridge work with rules 2021-09-22 14:29:47 +08:00
Shawn 502f962b4c refactor(bridge): change confs for channel from array to map 2021-09-22 14:29:47 +08:00
zhongwencool 96fad3d225 chore(swagger): support check_schema option, default is false. 2021-09-22 13:37:08 +08:00
zhanghongtong 00d7d66871 chore(authz): rename mongo to mongodb 2021-09-22 11:28:31 +08:00
DDDHuang ab2cdfeab1
fix: delayed message format & message id parameter name (#5762) 2021-09-22 10:04:00 +08:00
zhongwencool 39423665e9 chore(swagger): check hocon schema with #{override_env => false} 2021-09-22 09:07:14 +08:00
zhongwencool dab5fbf285 feat(swagger): swagger support hocon schema 2021-09-21 21:41:16 +08:00
zhongwencool 1d9076e2eb
Merge branch 'emqx:master' into master 2021-09-21 20:20:44 +08:00
Zaiming Shi 2edd3879b8 feat(config): save override config in hocon pretty-print format 2021-09-19 14:33:43 +02:00
zhongwencool 65633a4ad2 chore(cluster-call): more detail about failed case 2021-09-18 12:34:20 +08:00
zhouzb bb4e5fdb4f chore(authn): fix dialyzer 2021-09-18 09:14:03 +08:00
zhouzb 69755ad3fb fix(authn): fix bug in authn 2021-09-18 09:14:03 +08:00
zhouzb b89973ce7c fix(authn): fix type error 2021-09-18 09:14:00 +08:00
zhouzb 35a4a05f03 feat(clear certs): clear certs when deleting instance 2021-09-18 09:11:41 +08:00
JimMoen 6edc9f4221 fix(emqx_types): spec refs `emqx_types.erl` instead directly. 2021-09-17 19:28:22 +08:00
JimMoen 9c95557bfc fix(emqx_types): type spec refs does not exist file. 2021-09-17 19:28:22 +08:00
JianBo He 2fe96a3ad0 chore(gw-lwm2m): format emqx_lwm2m_tlv_SUITE 2021-09-17 18:13:57 +08:00
JianBo He cfabb8549e build(deps): upgrade emqx_http_lib to 0.4.1 2021-09-17 18:13:57 +08:00
JianBo He 6da1196244 chore(gw-lwm2m): refine emqx_tlv_SUITE cases 2021-09-17 18:13:57 +08:00
zhongwencool 6ed0bdc665 fix(cluster-call): MinDelay clumiscalculation, don't sleep in first check. 2021-09-17 15:23:25 +08:00
Zaiming (Stone) Shi ab39284ece
Merge pull request #5754 from zmstone/feat-make-possible-to-disable-client-initiated-renegotiation
feat(ssl): make possible to disable client-initiated ssl renegotiation
2021-09-17 08:22:34 +02:00
Zaiming (Stone) Shi 1af8148e30
Merge pull request #5760 from zmstone/minor-refactors
refactor(authn): minor refactors
2021-09-17 07:59:16 +02:00
tigercl 9000dab57a
Merge pull request #5761 from zmstone/fix-deps-pin-typerefl-from-main-proj
fix(deps): pin typerefl verison from root rebar.configs
2021-09-17 10:47:18 +08:00
lafirest 24eb0ac7bb
Merge pull request #5721 from lafirest/test/coap_case
test(emqx_coap): add some test case
2021-09-17 09:46:50 +08:00
lafirest a83882a3b8
Merge pull request #5726 from lafirest/test/emqx_lwm2m
test(emqx_lwm2m): remove the lwm2m_coap dependency
2021-09-17 09:41:48 +08:00
tigercl fdbde321cd
Merge pull request #5742 from tigercl/chore/gen_id
chore(gen_id): using emqx_misc:gen_id/0, /1
2021-09-17 09:24:42 +08:00
zhanghongtong fa467d0741 chore(authz): rename pgsql to postgresql
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-17 09:16:38 +08:00
Zaiming Shi 6cf1107f42 refactor(authn): ensure infinity timeout for gen_server call 2021-09-16 23:17:50 +02:00
Zaiming Shi 0877fb5569 refactor(authn): register providers in batch 2021-09-16 23:17:50 +02:00
Zaiming Shi 0b432a6a77 refactor(auth): rename functions from may_xx to maybe_xx 2021-09-16 23:17:50 +02:00
Zaiming Shi 3dcccc0b33 refactor(authn): call lists:foreach instaed of list comprehension 2021-09-16 23:17:50 +02:00
Zaiming Shi 13a03d8c1c feat(ssl): make possible to disable client-initiated ssl renegotiation 2021-09-16 23:17:22 +02:00
Zaiming Shi 16c652586b fix(deps): pin typerefl verison from root rebar.configs 2021-09-16 23:16:31 +02:00
zhouzb ddfc010fdb fix(resource): fix undefined function 2021-09-16 16:53:43 +08:00
zhouzb 9df842eeb8 fix(test): fix test case of authz 2021-09-16 16:51:52 +08:00
zhouzb 43ce727632 chore(gen_id): using emqx_misc:gen_id/0, /1 2021-09-16 16:51:46 +08:00
JimMoen deac54c847 chore(for editor): Add comments for Emacs major mode. 2021-09-16 15:43:30 +08:00
JimMoen ba26a8511c fix(emqx_types): emqx_types:version() used but undefined. 2021-09-16 15:43:30 +08:00
Jim Moen 294c1a5f69 fix(emqx_mgmt): clients api query params supports epoch(milliseconds). 2021-09-16 13:54:11 +08:00
Jim Moen 8cbec2ec6e chore(emqx_mgmt): test suite for clients api times using rfc3339. 2021-09-16 13:54:11 +08:00
Jim Moen 834a688062 fix(emqx_mgmt): clients api times using rfc3339. 2021-09-16 13:54:11 +08:00
zhanghongtong 129a171de2 chore(authz): api returns the original content of the file
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-16 13:40:16 +08:00
zhanghongtong ca4b1ca3b5 fix(auth mnesia api): fix the issue of missing line breaks in multi-line rules 2021-09-16 13:40:16 +08:00
DDDHuang 60e815fb9a fix: topic rewrite action type add all 2021-09-16 09:13:34 +08:00
k32 2a65347972
Merge pull request #5727 from k32/interleave-pqueue
feat(mqueue): Interleave messages with different priorities
2021-09-15 15:10:37 +02:00
k32 20d4652454 feat(mqueue): Interleave messages with different priorities 2021-09-15 11:58:54 +02:00
Shawn b1999b2205 fix(bridge): update bridge with new conf failed 2021-09-15 17:46:42 +08:00
Shawn 7058b83760 refactor(bridge): rename message_in/out to ingress/egress_channels 2021-09-15 17:46:42 +08:00
Shawn c1ff8778e1 fix(bridges): add logs for creating/removing bridges 2021-09-15 17:46:42 +08:00
Shawn 8730a03ab8 feat(bridges): add start/stop/restart HTTP APIs for bridges 2021-09-15 17:46:42 +08:00
Shawn cb8dabe579 feat(bridges): add CRUD HTTP APIs for bridges 2021-09-15 17:46:42 +08:00
Shawn 304c5613ac refactor(resource): rename the emqx_resource:update/4 to recreate/4 2021-09-15 17:46:42 +08:00
lafirest 75f528e08d
Merge pull request #5743 from lafirest/fix/connector
fix(emqx_schema): support get ip address by host name
2021-09-15 15:21:54 +08:00
lafirest 6c27c83dc3 fix(emqx_schema): support get ip address by host name 2021-09-15 14:59:19 +08:00
DDDHuang 237d3c0543
Auto subscribe format (#5740)
* fix: auto sub list format with default
2021-09-15 11:40:05 +08:00
tigercl c4403e886d
Merge pull request #5732 from tigercl/feat/upload-certs
feat(upload certs): save certs to file
2021-09-15 10:58:31 +08:00
zhouzb 0fe300575e chore(authn): better function name 2021-09-15 09:59:35 +08:00
zhouzb ce6c24a866 fix(authn): fix spelling error 2021-09-14 17:42:07 +08:00
zhouzb f6d7739f01 fix(upload certs): fix external dependency 2021-09-14 16:09:36 +08:00
zhouzb 1a61640b15 feat(upload certs): serialize errors about saving cert 2021-09-14 15:07:57 +08:00
zhouzb ee178ccea9 feat(upload certs): support return cert content by http api 2021-09-14 14:59:13 +08:00
zhouzb 63d3a7b525 feat(upload certs): save certs to file 2021-09-14 13:38:09 +08:00
lafirest acbbbbcd24 test(emqx_lwm2m): remove the lwm2m_coap dependency 2021-09-14 11:20:53 +08:00
zhanghongtong c322957257 chore(authz): fix spelling errors 2021-09-14 11:16:47 +08:00
lafirest 99566f12bb test(emqx_coap): add some test case 2021-09-14 11:11:30 +08:00
zhanghongtong 4fa816fa97 fix(auth mnesia api): fix api error when delete sources 2021-09-13 19:55:39 +08:00
zhanghongtong d443d26fce fix(auth mnesia api): fix api error for file type 2021-09-13 17:13:30 +08:00
zhongwencool 86eb6605f1
Merge pull request #5623 from zhongwencool/cluster-call-api
feat(cluster-call): support confirm success after all mfa apply ok
2021-09-13 16:03:47 +08:00
Spycsh f971dfd149 chore(config): add etc dir config 2021-09-10 20:31:32 +08:00
zhanghongtong 07a2ef4700 chore(release): update emqx release version 2021-09-10 19:34:45 +08:00
tigercl 09c376c1e5
Merge pull request #5707 from terry-xiaoyu/bridge_apis
feat(bridges): avoid clientid competition between bridges on differen…
2021-09-10 19:32:20 +08:00
zhanghongtong 6095253126 chore(emqx_authz): delete put for http type 2021-09-10 19:27:10 +08:00
zhanghongtong ef0f94025a chore(emqx_authz): rename config item
rename sql to query for mysql and pgsql
rename find to selector for mongo

Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-10 19:27:10 +08:00
tigercl 78397329e8
Merge pull request #5684 from tigercl/chore/authn
chore(authn): provide easy-to-read hints for more errors
2021-09-10 19:04:11 +08:00
zhanghongtong 75b77b77b6 chore(emqx_authz api): change rules type from list to string in http api 2021-09-10 19:03:33 +08:00
JianBo He 94c51f9253 chore(gw): fix dialyzer warnings 2021-09-10 18:41:23 +08:00
JianBo He 18ed1c9794 chore(gw): add listeners apis 2021-09-10 18:41:23 +08:00
zhouzb a3b587c9f9 fix(authn): fix test case for authn 2021-09-10 18:13:11 +08:00
lafirest 9fd9e09721
Merge pull request #5708 from lafirest/test/emqx_lwm2m
test(emqx_lwm2m): add some time intervals between test operations
2021-09-10 18:02:42 +08:00
zhouzb 6b521acd6f fix(authn): fix type error for http headers 2021-09-10 17:31:16 +08:00
zhouzb b07e686350 fix(authn): fix bad type 2021-09-10 16:58:10 +08:00
zhouzb 5cea9a4edc chore(authn): add api spec 2021-09-10 15:55:37 +08:00
lafirest b8d4c12008 test(emqx_lwm2m): add some time intervals between test operations 2021-09-10 14:42:29 +08:00
Shawn d46241fe2f feat(bridges): avoid clientid competition between bridges on different nodes 2021-09-10 14:21:17 +08:00
Zaiming Shi 01ce32094c refactor(bin/emax): delete cold_eval 2021-09-10 07:28:12 +02:00
Zaiming Shi cca3a4414f fix(bin/emqx): do not try to find vm.args file for cold_eval 2021-09-10 07:28:12 +02:00
Zaiming Shi 0b11ab2d59 refactor(schema): reorder config root fields
so more important configs are ordered before less important
2021-09-10 07:28:09 +02:00
zhongwencool 0303e593c5 fix: undef function 2021-09-10 13:28:08 +08:00
Zaiming Shi 01166a8bfb feat(schema): generate document when building the release 2021-09-10 07:27:02 +02:00
Zaiming Shi 687114eeb1 fix(bridge_schema): ensure atom exists 2021-09-10 07:27:01 +02:00
Zaiming Shi 6b7d3bcf98 chore(hocon): upgrade to 0.17.0 2021-09-10 07:27:01 +02:00
Zaiming Shi 3a60f00643 refactor(emqx_gateway_schema): use hoconsc:map 2021-09-10 07:27:01 +02:00
Zaiming Shi 0039bfca6b refactor(emqx_machine_schema): use hoconsc:map type 2021-09-10 07:27:01 +02:00
Zaiming Shi bbd1c142de refactor(emqx_schema): use hoconsc:map type 2021-09-10 07:27:01 +02:00
Zaiming Shi a9cca84595 fix(emqx_schema): allow listener to be null 2021-09-10 07:27:01 +02:00
zhongwencool 9820027953 fix(cluster-call): fixed crash test case 2021-09-10 13:17:17 +08:00
zhongwencool 5a4428c53d Merge branch 'cluster-call-api' of https://github.com/zhongwencool/emqx into zhongwencool-cluster-call-api 2021-09-10 13:11:13 +08:00
Shawn 135c005467 fix(bridges): do not start any bridge by default 2021-09-10 11:43:03 +08:00
Shawn 1ecec5ef3a refactor(bridges): move some test cases from old emqx_bridge_mqtt app 2021-09-10 11:43:03 +08:00
Shawn 037b75a276 refactor(bridges): remote the old emqx_bridge_mqtt app 2021-09-10 11:43:03 +08:00
Shawn 1b5c08adeb fix(bridges): update hocon schema for bridges for hocon 0.15.0 2021-09-10 11:43:03 +08:00
Shawn 298cf24f00 fix(bridges): mqtt bridge cannot forward msgs using payload template 2021-09-10 11:43:03 +08:00
Shawn eb8822ce41 feat(bridges): start one mqtt bridge worker for each in/out channel 2021-09-10 11:43:03 +08:00
Shawn 4f82debbe7 feat(bridge): new configs for mqtt bridge 2021-09-10 11:43:03 +08:00
Shawn 1dae970cd3 refactor(rule): move emqx_rule_utils.erl -> emqx_plugin_libs_rule.erl 2021-09-10 11:43:03 +08:00
Shawn 39bb1b8d9d fix(bridges): start mqtt bridge failed 2021-09-10 11:43:03 +08:00
Shawn 9ed90ba7a9 feat(bridges): add connector for mqtt bridge 2021-09-10 11:43:03 +08:00
Shawn bfb2df37ce refactor(bridge): rename emqx_data_bridge to emqx_bridge 2021-09-10 11:43:03 +08:00
lafirest 5693981b54
Merge pull request #5699 from lafirest/feat/lwm2m_api
refactor(emqx_lwm2m): refactor lwm2m api use new rest framework
2021-09-10 10:34:18 +08:00
zhongwencool 6bc7378e63 fix(cluster-call): fix typo and add is_success/1 help function 2021-09-10 09:40:30 +08:00
DDDHuang 9a09bf7964
fix: logout api delete token (#5686) 2021-09-10 09:20:16 +08:00
zhouzb d30d7d5710 chore(authn): update api spec for built in database 2021-09-09 17:34:39 +08:00
JianBo He 5da085bacc chore(gw): improve the listener started banner 2021-09-09 17:33:04 +08:00
JianBo He 020e04e5cf chore(gw): improve the default confs 2021-09-09 17:33:04 +08:00
JianBo He 0453702ce5 refactor(gw): improve http-api return structure 2021-09-09 17:33:04 +08:00
JianBo He e94e09075c refactor(gw): keep listeners conf tree compliance with core 2021-09-09 17:33:04 +08:00
zhouzb 564896d64a chore(authn): update api spec 2021-09-09 17:17:27 +08:00
lafirest 60914697b2 refactor(emqx_lwm2m): refactor lwm2m api use new rest framework 2021-09-09 16:37:14 +08:00
zhanghongtong 718dd80b48 fix(auth mnesia api): fix write file error 2021-09-09 15:03:17 +08:00
zhanghongtong 0813a81517 fix(auth mnesia api): fix put file type error 2021-09-09 15:03:17 +08:00
zhanghongtong 3be6374f91 fix(auth mnesia api): fix get file type error 2021-09-09 15:03:17 +08:00
zhouzb c6e52b32fb chore(authn): improve code of moving authenticator 2021-09-09 09:32:18 +08:00
lafirest 9ad9f619c1
Merge pull request #5676 from lafirest/feat/coap_api
feat(emqx_coap): add emqx_coap_api
2021-09-08 22:23:22 +08:00
DDDHuang f87a41a54f
fix: api support basic auth (#5687) 2021-09-08 19:58:04 +08:00
JimMoen b5d1ffa814
Merge pull request #5673 from JimMoen/stu-dev
Code refactor during studying.
2021-09-08 18:17:05 +08:00
DDDHuang e2d9d9bfcb
fix: banned api rfc time & login hidden error type (#5681) 2021-09-08 17:53:52 +08:00
zhouzb 7d312a630b chore(authn): provide easy-to-read hints for more errors 2021-09-08 16:35:54 +08:00
Jim Moen 4e5d781d21 fix: Words spelling fix. 2021-09-08 11:39:56 +08:00
Jim Moen bcebe1de24 refactor(emqx_cm_sup): Internal functions to create workers. 2021-09-08 11:39:56 +08:00
zhouzb 287d315ed5 fix(listener): updating authentication no longer causes the listener to restart 2021-09-08 11:24:59 +08:00
tigercl f75778b037
Merge pull request #5679 from tigercl/chore/authn
chore(authn): update apis for user
2021-09-08 11:20:23 +08:00
zhouzb 29cad91a47 fix(authn): fix superuser in mongodb authn 2021-09-08 10:58:00 +08:00
zhouzb b5ded1ece0 chore(authn): add the serialization of more errors 2021-09-08 10:46:18 +08:00
zhouzb ce851e5b0f chore(authn): miss redis 2021-09-08 10:32:54 +08:00
zhouzb 8531e9ce11 chore(authn): rename superuser to is_superuser 2021-09-08 09:53:39 +08:00
zhouzb be38bcc5cc chore(authn): adapt listener id type 2021-09-08 09:46:47 +08:00
Jim Moen c54847b6e9 refactor(mqtt_frame): Avoid duplicate variable when frame assembling. 2021-09-08 09:26:47 +08:00
lafirest 89f48f89eb feat(emqx_coap): add emqx_coap_api
1. add a request api for emqx_coap
2. fix some emqx_coap logic error
2021-09-07 19:20:52 +08:00
DDDHuang 8b2488e099
fix: routes api add params (#5675)
* fix: routes api add topic query params

* fix: routes api add node query params
2021-09-07 18:31:40 +08:00
zhouzb c68edb3905 chore(authn): update apis of user 2021-09-07 17:29:05 +08:00
lafirest 35cc0d972d
Merge pull request #5660 from lafirest/fix/emqx_lwm2m
fix(emqx_lwm2m): fix some error and incomplete function
2021-09-07 16:15:17 +08:00
zhanghongtong 1699a8dc63 chore(authz): rename authorization_rules.conf to acl.conf 2021-09-07 14:42:05 +08:00
tigercl bd7a8179b4
Merge pull request #5664 from tigercl/refactor/authn
refactor(authn): refactor to support global and listener authentication
2021-09-07 11:38:46 +08:00
zhouzb 627de1d58c fix(test): fix test case 2021-09-07 10:29:45 +08:00
zhongwencool 24aaa5349b chore(cluster-call): more clear function/var name 2021-09-07 10:00:19 +08:00
lafirest caee51f92a fix(emqx_lwm2m): fix some error and incomplete function 2021-09-07 09:59:07 +08:00
JianBo He ba9ad47cc1 fix(gw-exproto): fix grpc remote call 2021-09-07 09:49:33 +08:00
zhouzb e998770f2e refactor(authn): refactor to support global and listener authentication 2021-09-06 18:46:08 +08:00
DDDHuang b1023d9733
fix: clients ip address params trans (#5657)
* fix: clients ip address params trans
2021-09-06 13:32:29 +08:00
JianBo He c42c1e698a chore(gw): add From param for _channel:handle_call/3 2021-09-06 09:16:03 +08:00
Zaiming (Stone) Shi 7a4fdd7620
Merge pull request #5647 from zmstone/feat-generate-config-doc-from-schema
refactor(schema): prepare for hocon schema doc generation
2021-09-03 17:54:01 +02:00
Zaiming Shi 19aff7bfdd fix(authz): schema fields used directly. 2021-09-03 14:58:49 +02:00
DDDHuang f5bfa4cd43
fix: deny creating metrics for empty topics (#5650)
* fix: deny null topic create metrics
2021-09-03 18:32:23 +08:00
Zaiming Shi ec13463f4a refactor(schema): prepare for hocon schema doc generation 2021-09-03 11:02:31 +02:00
DDDHuang 07821b9574
fix: cli error & routes api doc (#5639) 2021-09-03 16:07:34 +08:00
zhanghongtong ffbf9b0fab feat(authz): check for duplicate source types
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-03 15:49:42 +08:00
Shawn 60b8215360 feat(config): support wildcard paths for config handlers 2021-09-03 13:39:43 +08:00
DDDHuang be0fd6fddd
fix: add sub api doc & test suite (#5634)
* fix: add sub api doc & test suite
2021-09-03 10:57:54 +08:00
Shawn f4eae8c0cb fix(retainer): test case failed for expired retained msg 2021-09-03 10:42:12 +08:00
Shawn a89bc97ed8 fix(config): don't write to override.conf if 'override_conf_file' is not set 2021-09-03 10:42:12 +08:00
Shawn daca99f0f6 feat(config): add option 'persistent => boolean()' to emqx:update_config/3 2021-09-03 10:42:12 +08:00
Shawn 304874f0ff feat(config): load and merge emqx_override.conf at bootup 2021-09-03 10:42:12 +08:00
lafirest d7b198b292
Merge pull request #5638 from HJianBo/gw-fix-udp-outgoing
fix(gw): not packing udp packages
2021-09-03 10:11:05 +08:00
JianBo He 956308f0ca feat(gw-mqttsn): support subscribe/unsubscribe operation 2021-09-03 09:50:07 +08:00
JianBo He dc05cdc586 chore(gw): fix dialyzer warnings 2021-09-03 09:50:07 +08:00
JianBo He fd12a7ac9c chore(gw): improve the gateway api swagger codes 2021-09-03 09:50:07 +08:00
JianBo He 40d34ccd85 fix(gw): fix the subscription apis bugs 2021-09-03 09:50:07 +08:00
JianBo He 1748de5ee3 feat(gw): support the sub/unsub operation 2021-09-03 09:50:07 +08:00
JianBo He 14b39224d4 chore(gw): clients http implement skeleton 2021-09-03 09:50:07 +08:00
JianBo He 52b6d620ee feat(gw): implement clients list http-api 2021-09-03 09:50:07 +08:00
JianBo He 0a7a14f4cd chore(mgmt): callback query function with table name param 2021-09-03 09:50:07 +08:00
JianBo He 3f0ef7efa8 feat(gw): add api_clients swagger defination 2021-09-03 09:50:07 +08:00
JianBo He cfe64d9c6f fix(gw): not packing udp packages 2021-09-03 09:44:10 +08:00
zhanghongtong c6ed72df3e chore(authz api): update swagger json
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-02 18:06:10 +08:00
DDDHuang 3bc92e5845
fix: mgmt listener cli (#5632)
* fix: mgmt cli linteners
2021-09-02 17:16:13 +08:00
lafirest 187f878baf
Merge pull request #5598 from lafirest/refactor/emqx_lwm2m_c
refactor(emqx_lwm2m): port lwm2m into emqx_gateway framework
2021-09-02 16:40:54 +08:00
zhanghongtong b014266fa0 chore(connector http): update ssl for http connector 2021-09-02 15:32:44 +08:00
DDDHuang 516f2fd06e
fix: listener api doc (#5627) 2021-09-02 15:30:53 +08:00
zhanghongtong 0fd18a2795 chore(emqx_authz): compression configuration items
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-02 15:28:17 +08:00
zhongwencool ee2fccac02 fix: don't run mutil cluster-call on one transaction 2021-09-02 14:03:46 +08:00
Rory Z 5669ea4034 chore(authz api): fix dialyzer error 2021-09-02 11:31:21 +08:00
zhanghongtong b8ee977d9d feat(authz api): support read cert file for api 2021-09-02 11:31:21 +08:00
zhanghongtong 07dcd9e705 feat(authz api): support file type for sources 2021-09-02 11:31:21 +08:00
zhanghongtong 8252771306 feat(authz api): support upload ssl cert file for api 2021-09-02 11:31:21 +08:00
zhongwencool 679edbc29c feat(cluster-call): support confirm success after all mfa apply ok 2021-09-02 10:03:03 +08:00
DDDHuang c7bc2e1a8d
fix: subscription about api, mqtt5 options param (#5620) 2021-09-01 17:42:57 +08:00
DDDHuang c4e279bb76
fix: support https (#5606)
* fix: support https
2021-09-01 16:44:34 +08:00
lafirest 473a3c0b35
Merge pull request #5617 from lafirest/fix/emqx_retainer
fix(emqx_retainer): fix function clause error
2021-09-01 16:26:18 +08:00
lafirest 9d2f6503af fix(emqx_retainer): fix function clause error 2021-09-01 15:44:29 +08:00
zhongwencool 662f7438fa chore: dos2unix format
find . -type f -print0 | xargs -0 dos2unix
2021-09-01 15:07:20 +08:00
Shawn 12b8297745 fix(config): emqx_config:fill_defaults/1,2 not working 2021-09-01 14:13:19 +08:00
zhanghongtong ef1b617624 feat(authz api): support '/authorization/settings' api and update swagger schema
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-09-01 13:34:02 +08:00
DDDHuang cfe4e37d50
fix: retainer api doc qos enum (#5614) 2021-09-01 09:02:47 +08:00
lafirest 7075f3260e refactor(emqx_lwm2m): port lwm2m into emqx_gateway framework 2021-08-31 20:01:47 +08:00
DDDHuang 560f415964
fix: auto sub api doc & null body check (#5613)
* fix: auto sub api doc & null body check
2021-08-31 19:27:08 +08:00
DDDHuang 8d2b72c278
fix: alarms api return time (#5612) 2021-08-31 19:12:27 +08:00
DDDHuang 00d469976f
fix: subscriptions api share param name (#5610) 2021-08-31 19:04:52 +08:00
DDDHuang 4c468b383a
fix: delayed math string (#5609)
* fix: delayed ms
2021-08-31 19:04:38 +08:00
Shawn 7e53469bb8 fix(listeners): update the testcases for listeners 2021-08-31 19:01:11 +08:00
Shawn 0af39e88a4 feat(listeners): add DELETE APIs for removing the listeners 2021-08-31 19:01:11 +08:00
Shawn 0d1bc6d689 feat(listeners): add config handler for listeners 2021-08-31 19:01:11 +08:00
Shawn e6306bccd8 feat(map_lib): add emqx_map_lib:diff_maps/2 2021-08-31 19:01:11 +08:00
Shawn 4da413c453 fix(APIs): clarify the error message when update listener failed 2021-08-31 19:01:11 +08:00
Shawn 50ccaec4b0 fix(emqx_schema): define bind as a mandatory config of listener 2021-08-31 19:01:11 +08:00
Shawn 7390d2bb36 fix(listeners): test case emqx_mgmt_listeners_api_SUITE failed 2021-08-31 19:01:11 +08:00
Shawn 8c36b7879f feat(listeners): APIs for updating the listener 2021-08-31 19:01:11 +08:00
Shawn 05fc6d9e45 fix(dialyzer): bad function spec for emqx_map_lib:deep_convert/3 2021-08-31 19:01:11 +08:00
Shawn ca327b7c55 refactor(listener): GET /listeners API returns full config of listeners 2021-08-31 19:01:11 +08:00
Rory Z c0eaa30064 chore(emqx_authz): change api path 2021-08-31 17:39:32 +08:00
zhanghongtong 6b313a60d4 refactor: refactor emqx_authz
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-31 17:39:32 +08:00
DDDHuang caef8cb381
fix: retainer message format time by rfc3339 (#5607)
* fix: retainer message format time by rfc3339
2021-08-31 10:24:17 +08:00
DDDHuang 5b75fdd120
fix: some API code format & api doc code format (#5601) 2021-08-30 16:41:00 +08:00
DDDHuang 100e550491
fix: topic metrics api path & params (#5599) 2021-08-30 14:21:15 +08:00
Zaiming Shi 77aca28d87 fix(emqx_authz): call matches with rules input 2021-08-30 09:56:03 +08:00
Zaiming Shi 84ed368d41 refactor(emqx_authz): use module name builder functions 2021-08-30 09:56:03 +08:00
Zaiming Shi ce1772c2b5 fix(emqx_authz): fix typo in authz annotation key
rule -> rules
2021-08-30 09:56:03 +08:00
Zaiming Shi 5165fd6b30 refactor(schema): implement new hocon_schema callbacks 2021-08-30 09:56:03 +08:00
Zaiming Shi 9e4c7b5f76 chore(config): upgrade to hocon 0.14.0 2021-08-30 09:56:03 +08:00
zhanghongtong eb495535d2 chore(release): update emqx release version 2021-08-27 21:19:53 +08:00
Turtle 329cac6623 fix(rewrite): del topic rewrite conf 2021-08-27 20:38:34 +08:00
Turtle 8f058a7680 fix(rewrite): fix get topic rewrite list fail 2021-08-27 20:38:34 +08:00
Shawn a4717d2209 fix(config): move config_reset under tags 'configs' 2021-08-27 19:32:44 +08:00
Shawn e6ee8ec140 refactor(listener): rewrite the code for managing listeners 2021-08-27 19:32:44 +08:00
JianBo He fdb41fe137 chore(gw): adapt the lates minirest and emqx-config 2021-08-27 18:23:12 +08:00
JianBo He dacc53facf refactor(gw): suppport the hot upgrade gateway instance 2021-08-27 18:23:12 +08:00
JianBo He 8886d60720 refactor(gw): change the on_gateway_update/3 callback params 2021-08-27 18:23:12 +08:00
JianBo He bce130d9f9 chore(gw): integrate config-handler 2021-08-27 18:23:12 +08:00
JianBo He 86e28d5abb chore(gw): rename rawconf to config 2021-08-27 18:23:12 +08:00
JianBo He 9c855ba8c2 chore(gw): cleanup the massive schema defination 2021-08-27 18:23:12 +08:00
JianBo He ef372e415d chore(gw): fix the time format 2021-08-27 18:23:12 +08:00
JianBo He e239fb07cd chore(gw): add http-api for gateway summary lists 2021-08-27 18:23:12 +08:00
JianBo He 836ca38c2b chore(gw): append the protoname into listener name 2021-08-27 18:23:12 +08:00
JianBo He 914c375d9e chore(gw): adjust the configuration format 2021-08-27 18:23:12 +08:00
JianBo He f333a0b888 chore(gw): rename functions 2021-08-27 18:23:12 +08:00
JianBo He eb8ec65162 refactor(gw): refactor authentication to authenticator 2021-08-27 18:23:12 +08:00
JianBo He 6de250741e chore(gw): add started_at/created_at field 2021-08-27 18:23:12 +08:00
JianBo He 75dc4ea9a2 feat(gw): add the http api skeleton 2021-08-27 18:23:12 +08:00
DDDHuang 9893c0263a
refactor: banned api (#5578) 2021-08-27 18:21:49 +08:00
zhanghongtong 46fb99d44e chore(emqx_authz): rename rules to sources in emqx_authz 2021-08-27 17:51:11 +08:00
DDDHuang 9d9eb2095b
fix: delayed message api page param & doc (#5587) 2021-08-27 17:13:16 +08:00
William Yang 341df69166
Merge pull request #5584 from qzhuyan/dev/william/5.0-quic-support-2
quicer 0.0.8
2021-08-27 10:29:42 +02:00
Zaiming (Stone) Shi c64af6a78c
Merge pull request #5532 from zhongwencool/master
feat(emqx_cluster_call): ensure the consistency of resources
2021-08-27 09:40:31 +02:00
zhanghongtong f03fc88161 chore(emqx_authz): fix test cases error
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-27 15:08:56 +08:00
zhanghongtong f2e29184de chore(emqx_authz): use new config path 2021-08-27 15:08:56 +08:00
zhanghongtong 6f8c87001f chore(authz): add default config
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-27 15:08:56 +08:00
zhanghongtong 4594d2d42b chore(authorization): merge authorization in emqx and emqx_authz 2021-08-27 15:08:56 +08:00
William Yang dbc971f264 feat(quic): bump quicer to 0.0.8 2021-08-27 08:36:45 +02:00
William Yang 6186fa29a0 feat(quic): bump to emqtt 1.4.3 2021-08-27 08:36:43 +02:00
William Yang 1b5acdb9c5 feat(quic): at least 8 x number of cores acceptors 2021-08-27 08:35:40 +02:00
William Yang eb7625a595 fix: quic listener spec 2021-08-27 08:35:40 +02:00
William Yang 2ef2acc850 feat(quic): adapt to quicer 0.0.8 2021-08-27 08:35:40 +02:00
William Yang abd58bb235 feat(quic): idle_timeout
transport idle timeout should be at least 3x mqtt idle_timeout
2021-08-27 08:35:38 +02:00
William Yang cf04e5cce3 feat(quic): adapt to new quicer 2021-08-27 08:34:01 +02:00
Turtle 856d394860 feat(topic_metrics): update topic_metrics conf to array 2021-08-27 13:58:21 +08:00
Turtle 307eaa7f1e feat(rewrite): update rewrite conf to array 2021-08-27 13:58:21 +08:00
zhongwencool 468102f462 chore: replace recon by obsserver_cli 1.7.0 2021-08-27 13:55:49 +08:00
zhongwencool f4e3eeb2b2 chore(recon): rename to emqx_ctl observer status 2021-08-27 13:55:49 +08:00
zhongwencool 6957445554 chore(recon): add observer_cli to emqx_ctl 2021-08-27 13:55:49 +08:00
DDDHuang 86231f795d
refactor: close managment http 8081 (#5564) 2021-08-27 13:46:39 +08:00
zhongwencool e35a6c7350 chore: cluster_call early aborted 2021-08-27 11:15:46 +08:00
zhongwencool c1c24af002 fix: dialyzer warning 2021-08-27 10:09:26 +08:00
Shawn 4c1e0802d9 fix(logger): remove debug code from emqx_logger 2021-08-26 18:44:15 +08:00
Shawn 436dba83b8 feat(logger): update configs for logger at runtime 2021-08-26 18:31:44 +08:00
DDDHuang e92255114f fix: update delayed config 2021-08-26 18:04:46 +08:00
zhongwencool 73238ed81f feat: emqx_resource support cluster_call 2021-08-26 17:23:39 +08:00
zhongwencool 4528508620 feat: replace gen_statem by gen_server 2021-08-26 17:23:38 +08:00
zhongwencool 60c1c4edba feat: move cluster_call to emqx_machine 2021-08-26 17:23:38 +08:00
zhongwencool 2c1b1fbfa8 chore(config): rename cluster_call to hot_config_loader 2021-08-26 17:22:56 +08:00
zhongwencool d55ba6b2e8 chore: transaction without nnonymous function 2021-08-26 17:20:22 +08:00
zhongwencool 765c94152b feat: add cluster_call.retry_interval/mfa_max_history/mfa_cleanup_interval config 2021-08-26 17:20:22 +08:00
zhongwencool e5129ead6d fix(CI): Error detected: 'Invalid reference to group api in emqx_rule_engine_SUITE:all/0' 2021-08-26 17:17:47 +08:00
zhongwencool 53e386ad4e feat(emqx_cluster_call): ensure the consistency of resources
When EMQX updates the cluster resources via HTTP API, it first updates the local node resources, and then updates all other nodes via RPC Multi Call to ensure the consistency of resources (configuration) in the cluster.
2021-08-26 17:17:47 +08:00
DDDHuang bcd15e9388
fix: delayed message api doc (#5569)
* fix: delayed message api doc & add delayed message internal & remaning params
2021-08-26 15:11:41 +08:00
DDDHuang 6d7d94c452 fix: topic rewrite api method 2021-08-26 10:08:01 +08:00
Shawn 005332d45d fix(config): do not allow default values for configs in zones 2021-08-26 09:11:30 +08:00
Shawn 7b63f7f18b refactor(emqx_mangement): update emqx_mangement for new listener,zone configs 2021-08-26 09:11:30 +08:00
Shawn 4ea451e207 fix(emqx): update the type spec for listener 2021-08-26 09:11:30 +08:00
Shawn cc56c74964 refactor(emqx): update the tests for the new zone,listener config 2021-08-26 09:11:30 +08:00
Shawn c5f0091b5d refactor(config): rework - config struct for zones and listeners
```
listeners.tcp.default {
  bind = "0.0.0.0:1883"
  acceptors = 16
  max_connections = 1024000
  access_rules = [
    "allow all"
  ]
  proxy_protocol = false
  proxy_protocol_timeout = 3s
  mountpoint = ""
  tcp.backlog = 1024
  tcp.buffer = 4KB
}
listeners.ssl.default {
  bind = "0.0.0.0:8883"
  acceptors = 16
  max_connections = 512000
  access_rules = [
    "allow all"
  ]
  proxy_protocol = false
  proxy_protocol_timeout = 3s
  mountpoint = ""
  ssl.versions = ["tlsv1.3", "tlsv1.2", "tlsv1.1", "tlsv1"]
  ssl.keyfile = "etc/certs/key.pem"
  ssl.certfile = "etc/certs/cert.pem"
  ssl.cacertfile = "etc/certs/cacert.pem"
  tcp.backlog = 1024
  tcp.buffer = 4KB
}
listeners.quic.default {
  bind = "0.0.0.0:14567"
  acceptors = 16
  max_connections = 1024000
  keyfile = "etc/certs/key.pem"
  certfile = "etc/certs/cert.pem"
  mountpoint = ""
}
listeners.ws.default {
  bind = "0.0.0.0:8083"
  acceptors = 16
  max_connections = 1024000
  access_rules = [
    "allow all"
  ]
  proxy_protocol = false
  proxy_protocol_timeout = 3s
  mountpoint = ""
  tcp.backlog = 1024
  tcp.buffer = 4KB
  websocket.idle_timeout = 86400s
}
listeners.wss.default {
  bind = "0.0.0.0:8084"
  acceptors = 16
  max_connections = 512000
  access_rules = [
    "allow all"
  ]
  proxy_protocol = false
  proxy_protocol_timeout = 3s
  mountpoint = ""
  ssl.keyfile = "etc/certs/key.pem"
  ssl.certfile = "etc/certs/cert.pem"
  ssl.cacertfile = "etc/certs/cacert.pem"
  tcp.backlog = 1024
  tcp.buffer = 4KB
  websocket.idle_timeout = 86400s
}
```

```
zones.default {

}
```
2021-08-26 09:11:30 +08:00
DDDHuang 4be58ae759 fix: event message api method 2021-08-25 17:38:08 +08:00
Turtle e4f5e9332e feat: support array bridge_mqtt conf 2021-08-25 13:34:00 +08:00
DDDHuang 78cf115a90 fix: swagger doc 2021-08-25 11:58:28 +08:00
DDDHuang f184cd3d0e fix: node parameters 2021-08-25 11:57:51 +08:00
DDDHuang bafe5bae1c fix: placeholder & topic schema no default 2021-08-25 11:57:37 +08:00
DDDHuang b13ae50bed fix: start sup 2021-08-25 11:57:37 +08:00
DDDHuang aa6f1ac88d feat: auto subscribe, todo: test SUITE 2021-08-25 11:57:37 +08:00
Rory Z 7e8dde7e26 chore: fix dialyzer error
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-25 10:15:00 +08:00
zhanghongtong a2bafd1a18 feat(authz): support authorization config file part 2 2021-08-25 10:15:00 +08:00
zhanghongtong a7fac1a7a3 feat(authz): support authorization config file part 1. 2021-08-25 10:15:00 +08:00
Rory Z 1886aa8bff chore: fix dialyzer error 2021-08-25 10:15:00 +08:00
zhanghongtong bfb363bc61 chore(emqx_authz): rename authorization to authorization_rules in emqx_authz.conf 2021-08-25 10:15:00 +08:00
zhanghongtong 5652917af6 chore(authorization): moves authorization configuration items from zone to root 2021-08-25 10:15:00 +08:00
Turtle 87881621bb fix: fix typo 2021-08-25 10:13:21 +08:00
Turtle 675d23111c chore(swagger-schema): Delete the schema that is not reused 2021-08-24 23:01:51 +08:00
DDDHuang bf67fa1be1 fix: generate topic metrics api & delayed message api path 2021-08-24 22:47:27 +08:00
Turtle a1ae4457df feat(prometheus): add get prometheus_format stats api 2021-08-24 21:01:21 +08:00
Turtle bc325e55fc fix(authn-authz-api): fix authn/authz test cases fail 2021-08-24 18:19:21 +08:00
Turtle e0c05242a7 refactor(minirest-callback): refactor minirest callback function 2021-08-24 18:19:21 +08:00
Turtle 0cb5c3e6ec refactor(topic-metrics): refactor topic_metrics api 2021-08-24 11:15:25 +08:00
Turtle ffc9846744 Merge branch 'refactor-mgmt-schema-util' of https://github.com/turtleDeng/emqx into refactor-mgmt-schema-util 2021-08-24 11:10:34 +08:00
turtleDeng 1eee85c2bf
Merge pull request #1 from DDDHuang/deng_mgmt_pr
fix: alarms api page & limit parameters
2021-08-24 11:10:26 +08:00
DDDHuang f1ba482ed6 fix: alarms api page & limit parameters 2021-08-24 11:04:39 +08:00
Turtle 5a87d941f6 refactor(retainer): refactor emqx_retainer test case 2021-08-24 10:53:06 +08:00
Turtle 47378e0e96 refactor(schema-utils): refactor mgmt swagger schema utils 2021-08-24 10:53:06 +08:00
DDDHuang 8125ec7d08
feat: topic metrics api (#5520) 2021-08-24 10:52:18 +08:00
DDDHuang 32a84b3aba fix: clients api node params 2021-08-24 10:51:01 +08:00
Turtle 55c3ea6064 refactor(retainer): refactor emqx_retainer test case 2021-08-24 10:47:42 +08:00
DDDHuang e88823fd36
Merge pull request #5540 from DDDHuang/fix_clients_api
fix: clients subscribe api
2021-08-24 09:57:17 +08:00
Turtle 5c93c35559 refactor(schema-utils): refactor mgmt swagger schema utils 2021-08-24 00:32:51 +08:00
k32 397a04ec7c
Merge pull request #5509 from k32/rlog-fixes
Minor fixes to improve compatibility with RLOG feature
2021-08-23 16:10:33 +02:00
k32 2b976af9ea chore(ekka): Bump version to 0.10.8 2021-08-23 14:10:26 +02:00
Shawn de92cd411b feat(log): get the least severe level of handlers as the primary level 2021-08-23 18:25:45 +08:00
Shawn 8ac8b9785b refactor(config): update the conf struct for logger 2021-08-23 18:25:45 +08:00
Shawn 985dce786c refactor(config): update the conf struct for logger 2021-08-23 18:25:45 +08:00
DDDHuang 25bae9e397 fix: clients subscribe api 2021-08-23 10:31:24 +08:00
Turtle 31f588671d refactor(statsd): refactor statsd swagger schema 2021-08-23 09:42:25 +08:00
Turtle d4d4ba9ea4 refactor(prometheus): refactor prometheus swagger schema 2021-08-23 09:41:46 +08:00
k32 ecd7964a5d fix(authn): Use local content shard for the chain table 2021-08-21 17:49:00 +02:00
k32 9c74fa42a5 chore(rlog): Use the new method of creating shards 2021-08-21 17:47:53 +02:00
k32 53a0c8b8a8 chore(ekka): Bump version to 0.10.7 2021-08-21 17:47:34 +02:00
k32 ca0fb214a7 feat(emqx-sn): Add tables to the SN shard 2021-08-21 17:47:34 +02:00
k32 af902df040 fix(emqx_machine): Fix application startup order
Ekka application should be started first
2021-08-21 17:47:34 +02:00
Shawn 91f787533d fix(log): text formatter crash
```
(emqx@127.0.0.1)1> logger:error("abc").
ok
2021-08-20T18:10:01.180622+08:00 error: FORMATTER CRASH: {string,"abc"}
```
2021-08-21 15:36:36 +08:00
Shawn f3efc89192
refactor(config): replace all ':' with '=' in the *.conf (#5531) 2021-08-19 19:57:42 +08:00
DDDHuang 65563e9f8c
Merge pull request #5511 from DDDHuang/delayed_api
feat: add delayed api
2021-08-19 17:59:29 +08:00
DDDHuang c07fadc336
Merge pull request #5526 from DDDHuang/fix_node_stats_api
fix: node stats api
2021-08-19 17:59:05 +08:00
DDDHuang 11ea506af6
Merge branch 'master' into delayed_api 2021-08-19 17:24:16 +08:00
DDDHuang cc1b8eca6c fix: params & config generate; api base64 encode payload 2021-08-19 17:23:11 +08:00
DDDHuang 2088fe17cf fix: node stats api 2021-08-19 16:45:38 +08:00
zhouzb f0ba6af660 chore(authn): fix dialyzer 2021-08-19 16:01:55 +08:00
zhouzb e6c01cb6e6 fix(undefined function): fix undefined function 2021-08-19 16:01:55 +08:00
zhouzb 87051c0e53 test(authn): fix test case 2021-08-19 16:01:55 +08:00
zhouzb 178d1006e1 chore(match): reduce the risk of crash 2021-08-19 16:01:55 +08:00
zhouzb e5892d16e5 feat(auth): support hot config 2021-08-19 16:01:38 +08:00
zhouzb e6f9767066 feat(authn): support superuser 2021-08-19 15:59:26 +08:00
zhouzb 429def6b95 fix(authn): fix http api spec 2021-08-19 15:59:26 +08:00
zhouzb 3f2ca5282c chore(authn): remove implied schema 2021-08-19 15:59:26 +08:00
zhouzb b7bc8b8cac feat(authn): improve apis of moving authenticators 2021-08-19 15:59:26 +08:00
zhouzb 60f0e8e5a5 refactor(authn): replace mnesia with ets table 2021-08-19 15:59:26 +08:00
zhouzb 61da3a4fd7 feat(authn hot config): initial support for hot config 2021-08-19 15:59:26 +08:00
Shawn ef59309ed0 fix(config): check config failed when updating 2021-08-19 15:53:45 +08:00
Shawn e17612b237 fix(config): return only updated confs for emqx:update_config/2,3 2021-08-19 15:53:45 +08:00
lafirest d321cdbd47
Merge pull request #5515 from lafirest/refactor/emqx_retainer_api
refactor(emqx_retainer): emqx_retainer_api use openapi model
2021-08-19 10:56:58 +08:00
DDDHuang 5520326ce3 feat: add delayed api 2021-08-19 10:48:12 +08:00
lafirest adc6226eae refactor(emqx_retainer): emqx_retainer_api use openapi model 2021-08-19 10:12:08 +08:00
DDDHuang 9c76247cde fix: alarms api timestamp millisecond 2021-08-19 09:56:32 +08:00
Shawn 213b7c2501 fix(config_api): improve the schema for config update APIs 2021-08-19 09:38:33 +08:00
turtleDeng f01b77e4fe
refactor(event-message): refactor event_message
* refactor(event-message): refactor event_message configuration

* feat(event-message): add event_message REST API
2021-08-18 16:26:15 +08:00
Shawn e8e95d39ef
refactor(config): move emqx_config:get/get_raw to emqx:get_config/get_raw_config (#5517) 2021-08-18 14:52:57 +08:00
Shawn 5f6bcd1ebb fix(config_api): remove config APIs that already been provided by apps 2021-08-18 11:30:20 +08:00
Shawn a1da519d55 fix(rewrite): use emqx:update_config/2 instead of emqx_config:update/2 2021-08-18 09:42:06 +08:00
Shawn bf6251e20f refactor(config): update the return values of config handlers 2021-08-18 09:42:06 +08:00
Shawn e5c3199d6e fix(config): emqx:update_config/2,3 doesn't work on binary conf paths 2021-08-18 09:42:06 +08:00
Shawn 24207b80cb refactor(config): improve the return value of emqx:update_config/2,3 2021-08-18 09:42:06 +08:00
Shawn bd8263e324 refactor(config): move APIs for config update,remove,reset to emqx
Move the emqx_config:update,remove,reset APIs to emqx, to remove
the circular dependency between the modules emqx_config and
emqx_config_handler.

After this change the dependency among these modules will be:

```
emqx ---> emqx_config
   |          ^
   |          |
   + ---> emqx_conifg_handler
```
2021-08-18 09:42:06 +08:00
Shawn a2067c3bf3 refactor(spec): move some type specs from emqx_config_handler to emqx_config 2021-08-18 09:42:06 +08:00
JianBo He 9190f1f6f9 chore(gw): reformat config options 2021-08-18 09:26:48 +08:00
JianBo He b8cb31c0ff fix(gw): fix the bad return value for initiating chain 2021-08-18 09:26:48 +08:00
JianBo He 430f20adc1 fix(gw): fix conn_state 2021-08-18 09:26:48 +08:00
JianBo He c5a4e05418 refactor(gw): rename gateway type to name 2021-08-18 09:26:48 +08:00
JianBo He 9072a60652 chore(gw): refine the cli command 2021-08-18 09:26:48 +08:00
JianBo He 630e0fb8cb test(gw): fix bad test cases 2021-08-18 09:26:48 +08:00
JianBo He cac0ea4b19 chore(gw): fix dialyzer warnigns 2021-08-18 09:26:48 +08:00
JianBo He be4d2495f0 refactor(gw): single instance support only 2021-08-18 09:26:48 +08:00
DDDHuang 50ee840220
feat: add rewrite api (#5502) 2021-08-17 17:49:37 +08:00
Turtle 7fcd925eff feat(delayed): add delayed REST HTTP API 2021-08-17 09:21:19 +08:00
turtleDeng 4dc5772103
chore(rule-metrics): remove hot upgrade code change 2021-08-17 09:15:27 +08:00
Shawn 988d620421 fix(test): mock emqx_resource:remove/1 in emqx_authz_http_SUITE 2021-08-16 17:41:53 +08:00
Shawn 7f03cd0e8b fix(config): update the calls to emqx_config:update/2,3 2021-08-16 17:41:53 +08:00
Shawn b381b5d2b9 feat(emqx_config): return config maps when emqx_config:update/2,3 2021-08-16 17:41:53 +08:00
zhanghongtong 26c0754732 chore(release): update emqx release version
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-13 17:55:56 +08:00
DDDHuang 4b3b4dd54c fix: dashboard 404 conflict 2021-08-13 16:57:10 +08:00
DDDHuang 3f1d3b9cf4
Merge pull request #5482 from DDDHuang/monitor_millseconds
fix: monitor timestamp millsecond
2021-08-13 15:27:48 +08:00
DDDHuang 1868414637
Merge pull request #5473 from DDDHuang/jwt
feat: api support jwt
2021-08-13 15:26:45 +08:00
DDDHuang 23a8e28f77 fix: monitor timestamp millsecond 2021-08-13 14:26:43 +08:00
DDDHuang 22dd6e1a86 fix: rename tab & params 2021-08-13 14:19:31 +08:00
tigercl e73df538a7
Merge pull request #5476 from k32/fix-auth-init-order
fix(rlog): Ensure the correct order of table initalization
2021-08-13 13:49:06 +08:00
Turtle 96ee04bbd0 chore(modules): remove start emqx-ee load_modules 2021-08-13 13:44:00 +08:00
DDDHuang 93dbdaa84a feat: dashboard api support jwt 2021-08-13 11:23:13 +08:00
lafirest e80d95bd76
Merge pull request #5470 from lafirest/fix/emqx_coap
fix(emqx_gateway): fix some error in README and code
2021-08-13 10:46:37 +08:00
k32 dfa6761e49 fix(rlog): Ensure the correct order of table initalization 2021-08-12 19:58:52 +02:00
zhanghongtong 618125b1da fix(connector): fix schema error for mongo 2021-08-12 21:52:06 +08:00
DDDHuang 3b52328244 fix: monitor response data format 2021-08-12 19:41:53 +08:00
lafirest 20f9cf19cd fix(emqx_gateway): fix some error in README and code 2021-08-12 19:01:28 +08:00
Shawn 4bf1e83449 fix(test): variable 'Id' shadowed in 'fun' 2021-08-12 17:20:05 +08:00
Shawn cc1222ffea fix(emqx_config): correct some function sepcs and return values 2021-08-12 17:20:05 +08:00
Shawn b652a64dbb fix(config): reset config failed due to rootname not found 2021-08-12 17:20:05 +08:00
Shawn 8dbb14b668 feat(config): improve the API for resetting configs 2021-08-12 17:20:05 +08:00
Shawn 1c86bd6199 feat(emqx_config): add emqx_config:fill_defaults/1 2021-08-12 17:20:05 +08:00
JianBo He a4d29ec8de chore(exhook): fix diaylzer warnings 2021-08-12 16:34:10 +08:00
JianBo He 4921c00a19 chore(exhook): change the name to binary type 2021-08-12 16:34:10 +08:00
JianBo He b3fac24c5e chore(schmea): include the emqx_exhook_schema 2021-08-12 16:34:10 +08:00
JianBo He 3cef377b33 feat(exhook): make request_failed_action working 2021-08-12 16:34:10 +08:00
JianBo He 6574fc4f14 fix(exhook): set trap_exit flag 2021-08-12 16:34:10 +08:00
JianBo He f5acf5fd0b refactor(exhook): move all manager code into mngr module 2021-08-12 16:34:10 +08:00
JianBo He 7e5be6ed6c refactor(exhook): add mechanism to reload the failure server 2021-08-12 16:34:10 +08:00
DDDHuang 870b68c104
Merge pull request #5463 from DDDHuang/fix_moniyor
fix: depart monitor api path & add parameter
2021-08-12 14:35:37 +08:00
lafirest 18c2765a1e
Merge pull request #5441 from lafirest/refactor/emqx_coap
refactor(emqx_gateway): refactor the emqx_coap
2021-08-12 14:05:12 +08:00
x1001100011 9640132edc
Merge pull request #5452 from x1001100011/make-EMQX_DEP_APPS-static
feat: make EMQX_DEPS_APPS static
2021-08-11 21:50:57 -07:00
DDDHuang e3415ae361 fix: depart api path & add parameter 2021-08-12 12:24:11 +08:00
DDDHuang 8efe854f63 fix: remove test code 2021-08-12 10:24:46 +08:00
DDDHuang 324a036aa8 fix: users api path & params name 2021-08-12 10:23:28 +08:00
k32 5abec37098 chore(build): Globally set snk_kind macro to msg 2021-08-11 14:03:41 +02:00
Zaiming (Stone) Shi 258191a5b4
Merge pull request #5453 from zmstone/fix-invalide-config-value-in-schema
fix(config): infinity is not valid for log.max_depth
2021-08-11 13:48:47 +02:00
lafirest aafdf29cd8 refactor(emqx_gateway): refactor the emqx_coap 2021-08-11 19:03:02 +08:00
zhanghongtong a94bfaf28b feat(authz api): support move rule position
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 18:23:22 +08:00
DDDHuang d62e7239c2
Merge pull request #5451 from DDDHuang/fix_monitor_params
fix: merge counters each node
2021-08-11 17:46:25 +08:00
Zaiming Shi ac1763cd80 fix(config): infinity is not valid for log.max_depth 2021-08-11 10:14:59 +02:00
x1001100011 698c6c6ebc feat: make EMQX_DEPS_APPS static 2021-08-11 01:09:27 -07:00
DDDHuang 776aabda7d fix: merge counters each node 2021-08-11 15:00:30 +08:00
zhanghongtong 632cc895d5 chore(authz): formatting error returned
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 11:06:58 +08:00
zhanghongtong 69a0fafd6b feat(authz api): get api support paging
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 11:06:58 +08:00
zhanghongtong c821528af9 feat(authz api): full CURD api 2021-08-11 11:06:58 +08:00
zhanghongtong 4bb1e9c964 feat(authz): more better update function
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 11:06:58 +08:00
zhanghongtong c26ec5c0dd feat(authz): support api
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-11 11:06:58 +08:00
lafirest 69a202e4c0
Merge pull request #5446 from lafirest/chore/emqx_retainer
chore(emqx_retainer): simplified the retainer config
2021-08-11 09:46:21 +08:00
Zaiming (Stone) Shi 1239eb23b0
Merge pull request #5407 from zmstone/build-ci-on-otp-24
Build ci on otp 24
2021-08-10 12:20:48 +02:00
lafirest 6c73679b02 chore(emqx_retainer): simplified the retainer config 2021-08-10 17:47:30 +08:00
Shawn 566d6f8d74 refactor(config): create a dedicate API for config reset 2021-08-10 15:17:45 +08:00
Shawn a4b773b66f refactor(config): create only one API for resetting configs 2021-08-10 15:17:45 +08:00
Shawn 74a849bfbb refactor(config): create APIs for each root-name 2021-08-10 15:17:45 +08:00
Shawn bafcb7f34a fix(emqx_config): always return atom-key map for emqx_config:get/2 2021-08-10 15:17:45 +08:00
Shawn eee98a5803 fix(API): return 400 if delete failed 2021-08-10 15:17:45 +08:00
Shawn 139712fc94 fix(API): return 200 for PUT method 2021-08-10 15:17:45 +08:00
Shawn 2738815af9 feat(API): add a general API to update configs 2021-08-10 15:17:45 +08:00
Shawn 990c383e01 feat(emqx_config): support fetching the entire config map 2021-08-10 15:17:45 +08:00
Shawn c05e92a7cc fix(emqx_config): delete the emqx_config_handler:remove_config/2 2021-08-10 15:17:45 +08:00
Shawn b8253ee94f feat(config): support config path mixed with atom() and binary() 2021-08-10 15:17:45 +08:00
Shawn c745120453 fix(api): update config APIs for emqx core 2021-08-10 15:17:45 +08:00
Shawn c9911a3b5f feat(api): add API /v5/configs for updating configs 2021-08-10 15:17:45 +08:00
DDDHuang 1064278db1 chore: add node param in subscription 2021-08-10 14:23:17 +08:00
DDDHuang 054406322a
Merge pull request #5440 from DDDHuang/api_desc
chore: add some api params description
2021-08-10 13:41:23 +08:00
DDDHuang a87521358e chore: add some api params description 2021-08-10 11:42:58 +08:00
Zaiming Shi 0fb81c7e99 fix(coap): log error level only when it error 2021-08-09 21:46:07 +02:00
DDDHuang dc2f6303d4
Merge pull request #5393 from DDDHuang/dashboard_metrics
feat: add dashboard metrics; api username params
2021-08-09 18:36:42 +08:00
x1001100011 0fe3083cd7 build: add erlang 24.0.1 for ci 2021-08-09 11:12:25 +02:00
Zaiming (Stone) Shi 672f94e118
Merge pull request #5430 from zmstone/refactor-simplify-ci-scripts
refactor: simplify ci scripts
2021-08-09 11:09:44 +02:00
Zaiming Shi f1262e04bf feat: log error if timed out waiting after init:stop 2021-08-09 10:28:30 +02:00
Zaiming Shi 668ecbe97b fix: improve node stop wait loop 2021-08-09 10:28:04 +02:00
DDDHuang b50afba5b9 feat: add dash board metrics 2021-08-09 16:20:02 +08:00
tigercl 40a9932167
Merge pull request #5427 from tigercl/feat/redis-authn
feat(authn redis): support authn with redis
2021-08-09 11:11:37 +08:00
JianBo He ade69c1e18 fix(exhook): more safe type convertion 2021-08-07 08:48:34 +08:00
JianBo He 6dd33907f1 fix(exhook): fix the server name type 2021-08-07 08:48:34 +08:00
JianBo He 183a65d263 fix(exhook): fix the server config format 2021-08-07 08:48:34 +08:00
JianBo He 31d4f72d16 fix(exhook): correct the broker-info 2021-08-07 08:48:34 +08:00
Zaiming Shi e698600903 refactor(emqx_machine): supervise terminator 2021-08-06 12:51:25 +02:00
Zaiming Shi 032a49114c fix(emqx_machine): start terminator in emqx_machine_app 2021-08-06 12:16:15 +02:00
Zaiming Shi 5063d3a2b3 fix(emqx_machine): ensure digraph is deleted after use
also add tests
2021-08-06 12:16:10 +02:00
Zaiming Shi 75f9741d75 fix(terminator): ensure erl_signal_server init:stop
ensure init:stop can be triggered by kill signal even before the
terminator is ready
2021-08-06 11:10:16 +02:00
Zaiming Shi 304b322a0c fix(emqx_machine): handle early shutdown 2021-08-06 10:20:42 +02:00
zhouzb f43d3e9f66 feat(authn redis): add api spec for redis authentication 2021-08-06 15:22:49 +08:00
Zaiming Shi 81c9dcb6ae refactor(emqx_machine_terminator): future-proof try-catch
Ensure exceptions in emqx_machine:stop_apps/0 is caught
and call init:stop/0 in the after clause
2021-08-06 08:51:48 +02:00
Zaiming Shi 044e084698 feat(emqx_machine): ignore sighup, ensure sigterm 2021-08-06 08:46:07 +02:00
Zaiming Shi 85f8ba10ce fix(emqx_machine_signal_handler): ignore unknown info 2021-08-06 08:21:06 +02:00
zhouzb 3761db0525 feat(authn redis): support authn with redis 2021-08-06 14:05:31 +08:00
Zaiming Shi bee8f01ee8 feat(emqx_machine): add a kill signal handler
Now the signal from kill PID can also be handled gracefully
2021-08-06 02:12:21 +02:00
Zaiming Shi 4025d31295 refactor(emqx_machine): move code from _app module to to emqx_machine 2021-08-05 14:30:59 +02:00
Zaiming Shi bc23ff5e47 feat: add graceful shutdown
prior to this cahnge emqx node shutdown is done by init:stop
which might have undesired stop order of the applications

in this change, emqx_machine_terminator is added to stop apps
in defined order and then terminate the node in infinite loop
2021-08-05 14:11:58 +02:00
Zaiming Shi d453005d8b fix(emqx): pin quicer 0.0.7 2021-08-05 13:43:22 +02:00
Zaiming Shi d3038c0b71 fix(exhook): BrokerInfo uptime is now a duration integer 2021-08-05 12:58:03 +02:00
Zaiming Shi 6f8ca4ce07 feat: allow disable listener from environment variable 2021-08-05 12:58:03 +02:00
Zaiming Shi ce24696329 refactor(emqx_app): start quic listener condition
when the app is present, and when listners are configured
2021-08-05 12:58:03 +02:00
Zaiming Shi bdb871cb9a refactor(emqx_listeners): simplify listing logic 2021-08-05 12:07:10 +02:00
DDDHuang e7cb9491c6
Merge pull request #5306 from DDDHuang/sys_info
chore: sys uptime by millisecond
2021-08-05 13:51:06 +08:00
zhanghongtong dba37513a1 fix(emqx_ctl): fix an error when "~" in the print content 2021-08-05 10:45:40 +08:00
JianBo He 835eb84b5d chore(gw): remove needless files 2021-08-05 09:47:17 +08:00
JianBo He 94e33c3917 chore(gw): adapt to authn config format 2021-08-05 09:47:17 +08:00
JianBo He 1b2f732f13 chore(gw): fix zone name 2021-08-05 09:47:17 +08:00
JianBo He f36c523ae8 chore(gw): integrate with emqx-authn 2021-08-05 09:47:17 +08:00
Zaiming (Stone) Shi 58446217a6
Merge pull request #5341 from zmstone/split-emqx-app
Split emqx app
2021-08-04 09:43:10 +02:00
DDDHuang b3ea7f9cce
Merge pull request #5378 from DDDHuang/clients_api_fix
fix: add cleints api query params doc & unsubscribe api
2021-08-04 15:07:51 +08:00
Zaiming Shi 781de7f2a7 test(authz): ensure config cleaned up after test 2021-08-04 08:40:09 +02:00
Zaiming Shi e6232665a3 refactor(emqx): ensure app shutdown and reboot order
make use of application dependency to ensure start order.
also the same dependency top-sorted for shutdown and reboot order
2021-08-04 08:40:03 +02:00
DDDHuang b99ec04267
Merge pull request #5379 from DDDHuang/listeners_api_fix
fix: listeners id param name
2021-08-04 14:39:45 +08:00
DDDHuang ac2084daeb
Merge pull request #5382 from DDDHuang/publish_api_fix
fix: publish api params
2021-08-04 14:39:05 +08:00
Zaiming Shi 3cda69fa3f fix(logging): text log formatter avoid binary literals 2021-08-04 08:36:10 +02:00
Zaiming Shi 58d0717b2f fix: add debug log for apps stop 2021-08-04 08:36:10 +02:00
Zaiming Shi e6907478ba test: move emqx_global_gc_SUITE to emqx_machine app 2021-08-04 08:36:10 +02:00
Zaiming Shi 5b5006e8ab refactor(emqx_sup): move global gc to emqx_machine app 2021-08-04 08:36:10 +02:00
Zaiming Shi 522d8e0a4a refactor(config): split config and schema 2021-08-04 08:36:10 +02:00
Zaiming Shi 4bbd398550 refactor(emqx): create emqx_machine app 2021-08-04 08:36:10 +02:00
JianBo He 7e00805af3 chore(gw-lwm2m): remove needless files 2021-08-04 10:10:22 +08:00
JianBo He b16cf44bf6 refactor(gw-lwm2m): refine lwm2m 2021-08-04 10:10:22 +08:00
DDDHuang 07a4d54a25 fix: unsubscribe api; query params 2021-08-03 17:08:40 +08:00
JianBo He 82321da7ad chore(exhook): bump version 2021-08-03 14:06:58 +08:00
JianBo He d7322aff19 chore(exhook): empty appup.src 2021-08-03 14:06:58 +08:00
JianBo He 604e282978 chore(exhook): fix dialyzer warnings 2021-08-03 14:06:58 +08:00
JianBo He 922aa7aae5 test(exhook): refine property-tests 2021-08-03 14:06:58 +08:00
JianBo He 7c46c8712b docs(exhook): renanme CheckAcl to Authorize 2021-08-03 14:06:58 +08:00
JianBo He aa019b34ad test(exhook): refine tests 2021-08-03 14:06:58 +08:00
JianBo He 879c191e41 refactor(exhook): adapt to the hocon schmea 2021-08-03 14:06:58 +08:00
tigercl 58b39361b3
Merge pull request #5388 from tigercl/feat/authn-api
feat(authn api): support query authentication status
2021-08-03 11:05:12 +08:00
zhouzb 05b72157e2 test(authn): add test cases 2021-08-03 10:40:08 +08:00
zhouzb 99534e7212 feat(authn api): support query authentication status 2021-08-03 10:25:04 +08:00
lafirest 149ef6d7cc style(emqx_gateway): improve some emqx_coap code 2021-08-03 09:48:08 +08:00
zhouzb 5e9ed72975 chore(authn rename): missing name change 2021-08-03 09:24:49 +08:00
zhouzb fb716ae8b2 chore(authn rename): rename emqx_authn to authentication 2021-08-03 09:21:07 +08:00
DDDHuang 8e2b1aed32 fix: publish api params 2021-08-02 17:20:15 +08:00
DDDHuang 52ff6e1b3e fix: listeners id param name 2021-08-02 15:54:25 +08:00
DDDHuang ca50dfe686 fix: add cleints api query params doc 2021-08-02 10:03:28 +08:00
Zaiming Shi b10fb4e95d refactor: unify all io:format calls to use the same macro 2021-08-01 09:36:59 +02:00
Zaiming Shi 5f51f68cc9 fix(mqttsn): do not call emqx_logger:Level directly 2021-08-01 09:36:59 +02:00
Zaiming Shi 683974e1c8 refactor(log/textfmt): print mfa metadata in text formatter 2021-08-01 09:36:59 +02:00
Zaiming Shi 2998a87a8d fix(log/jsonfmt): log map() reports at top level JSON fields 2021-08-01 09:36:59 +02:00
Zaiming Shi 5d59ac1f02 refactor(logging): delete log headers from all modules 2021-08-01 09:36:59 +02:00
Zaiming Shi e57f99168b refactor(logger): delete log header parse-transform
because now we have MFA in log
2021-08-01 09:36:59 +02:00
Zaiming Shi 0f5c5db841 refactor(logger): stop using anonymous fun for logging 2021-08-01 09:36:59 +02:00
Zaiming Shi df69a9c031 chore: upgrade to hocon 0.11.0 2021-08-01 09:36:59 +02:00
lafirest 137294db8f refactor(eqmx_gateway): port emqx_coap into emqx_gateway framework 2021-07-31 15:50:09 +08:00
zhanghongtong 9a03138e53 feat(hooks): emqx hooks support put 2021-07-30 19:01:24 +08:00
zhanghongtong 1f4ce31010 chore(release): update emqx release version 2021-07-30 17:52:35 +08:00
Zaiming Shi 40faa31241 test(authz): no need to mock emqx_config 2021-07-30 16:53:21 +08:00
tigercl 305142f991
Merge pull request #5361 from turtleDeng/plugins/module-attr
chore(plugins): delete emqx_plugins module attributes
2021-07-30 15:54:20 +08:00
JianBo He e6a2770e2f chore(gw): rename emqx_gateway to gateway 2021-07-30 15:42:03 +08:00
JianBo He 602f0ebb60 feat(gw-sn): call subscribe/unsubscribe hook 2021-07-30 15:42:03 +08:00
JianBo He c986f89319 test(gw): use emqx_config:init_load/2 2021-07-30 15:42:03 +08:00
JianBo He ec72513cf8 feat(gw-stomp): call unsubscribe hook 2021-07-30 15:42:03 +08:00
JianBo He f87bef9ffb feat(gw-stomp): run subscribe hooks 2021-07-30 15:42:03 +08:00
JianBo He a116c0afd1 fix(gw-stomp): unify the hearbeat type name 2021-07-30 15:42:03 +08:00
JianBo He c36cdf9682 refactor(gw): add bytes & packets metrics 2021-07-30 15:42:03 +08:00
JianBo He 80eb7f313d docs(gw): enrich README.md 2021-07-30 15:42:03 +08:00
JianBo He 67bb8d0564 chore(gw): some format improvement 2021-07-30 15:42:03 +08:00
JianBo He 6f084fe6cf fix(gw-cli): fix start/stop/lookup not works 2021-07-30 15:42:03 +08:00
Shawn 054623bd56 fix(authz): update the post_config_update callback 2021-07-30 15:37:09 +08:00
Shawn dc1ba51935 fix(emqx_config): always check config files using richmap at emqx bootup 2021-07-30 15:37:09 +08:00
Shawn 35032e1d44 refactor(emqx_config): call MOD:post_config_update/3 after checking hocon schema 2021-07-30 15:37:09 +08:00
Turtle 9e97de04c9 chore(plugins): delete emqx_plugins module attributes 2021-07-30 14:32:01 +08:00
Turtle d8eb8a36e0 test(modules/event_message): do not set fake config 2021-07-30 14:17:34 +08:00
Turtle ef1b591532 chore: Dynamically get the app that starts by default 2021-07-30 13:43:25 +08:00
tigercl e2d507cad9
Merge pull request #5356 from tigercl/feat/authn-mongo-api
feat(authn mongo api): add api spec for mongo authn
2021-07-30 13:16:31 +08:00
Turtle 485f1293fc chore(event_message): rename event_topic to event_message 2021-07-30 12:10:55 +08:00
Turtle ebe31c79d4 feat(event-topic): Add more fields to disconnected event payload 2021-07-30 12:10:55 +08:00
Turtle d6c375ab5b feat(event-topic): fix check dialyzer 2021-07-30 12:10:55 +08:00
Turtle 459d2154c7 feat(event-topic): add more test cases 2021-07-30 12:10:55 +08:00
Turtle 3903575435 feat(event-topic): support publish broker event topic 2021-07-30 12:10:55 +08:00
zhouzb 1c3d46d29e feat(authn api): add required spec 2021-07-30 12:01:17 +08:00
zhouzb 5c9dabc064 feat(authn mongo api): add api spec for mongo authn 2021-07-30 11:47:48 +08:00
Zaiming Shi 18fb18be89 test(modules/rewrite): do not set fake config
the hand-crafted fake raw config does not pass hocon schema check
this commit changes to use HOCON text as input for both test cases
2021-07-30 09:18:43 +08:00
Zaiming Shi 729f89f514 chore(rebar.config): update hocon version 0.10.5 2021-07-30 09:18:43 +08:00
Zaiming Shi 9dcb725898 fix(emqx_authz): update config with own schema module 2021-07-30 09:18:43 +08:00
Zaiming Shi cf1246f026 feat(emqx_config): allow loading configs from binary
This will be helpful for tests
2021-07-30 09:18:43 +08:00
Turtle 740b729778 feat(api): support stats/metrics API aggregate 2021-07-30 09:09:45 +08:00
Zaiming (Stone) Shi dcfc705811
Merge pull request #5342 from zmstone/refactor-config-store-per-root
refactor(emqx_config): store configs per root name
2021-07-29 17:38:33 +02:00
Zaiming Shi 4836d0a1fc test(exproto): delete unused code 2021-07-29 16:30:29 +02:00
zhouzb 336fe63c1c feat(enable authn): support enable authn by http api 2021-07-29 20:45:19 +08:00
Zaiming Shi c0ffbd68c8 test(emqx_authz): adjust meck and app start order 2021-07-29 13:32:57 +02:00
Zaiming Shi d0e9d4c4d5 fix(emqx_resource): raise error when failed to pick worker 2021-07-29 12:34:16 +02:00
Zaiming Shi 82df49d165 fix(emqx_config): handle default value correctly 2021-07-29 12:18:45 +02:00
Zaiming Shi 8d2f9d4e1c refactor(emqx_config): store configs per root name
Prior to this change, the global (a big map) config is saved
to persistent_term as one single term.

With this change, configs are keyed by their name spaces,
i.e. the root struct names in hocon schema.

This is to allow loading configs with more dynamic scope,
so we can start emqx app independently (without all merged configs),
and to allow external plugins to load their configs incrementally
at run-time.
2021-07-29 12:18:45 +02:00
Zaiming Shi 085d6c9ba0 fix(emqx_schema): resolve os env in translation
default value is a part of schema which should be static and
deterministic between different run-time or build-time environment
2021-07-29 12:18:45 +02:00
Turtle 2fcb9124bf chore(modules): fix check dialyzer 2021-07-29 16:57:14 +08:00
Turtle 76e3dd1905 chore(modules): Get the status by conf 2021-07-29 16:57:14 +08:00
Turtle cdc8000493 chore(modules): presence/delayed/telemetry/rewrite/topic_metrics independent conf 2021-07-29 16:57:14 +08:00
tigercl 59f645dc59
Merge pull request #5346 from tigercl/feat/mongo-auhtn
feat(authn): support mongodb authn
2021-07-29 16:51:28 +08:00
zhanghongtong 4c6739161d chore(emqx authz): rename root name for authz conf
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-29 16:44:40 +08:00
zhanghongtong 4ef00072b9 chore(authz): add annotations for rules
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-29 16:44:40 +08:00
zhouzb 5b6452d853 feat(authn): support mongodb authn 2021-07-29 16:07:36 +08:00
Turtle 0ef38c75ed chore(prometheus): update prometheus conf root name 2021-07-29 10:34:27 +08:00
Turtle 4afae79be9 chore(statsd): update statsd conf root 2021-07-29 10:08:07 +08:00
Turtle 61c11b8e3f chore(config): delete presence/subscription/rewrite config 2021-07-28 18:58:18 +08:00
Turtle b609ec5801 chore: delete emqx_telemetry_SUITE.erl file 2021-07-28 18:15:30 +08:00
Zaiming Shi cecc3bb899 chore(config): delete lager config
the only lib used lager was amqp client which is now updated
with lager droped from its dependencies
2021-07-28 18:06:59 +08:00
Shawn 90b20aae2b fix(dialyzer): nowarn_function extra_schema_fields/1 2021-07-28 14:51:02 +08:00
Shawn e7ced477a9 feat(config): read schemas for apps from file at build time 2021-07-28 14:51:02 +08:00
zhouzb 76d6949cd1 fix(authn): fix password hash algorithm for mysql and pgsql authn 2021-07-28 14:26:26 +08:00
Zaiming (Stone) Shi f93ee2ca17
Merge pull request #5330 from zmstone/feat-support-sname
feat: support short node name (sname)
2021-07-28 07:14:46 +02:00
Zaiming Shi e6110b0e9e fix(emqx_app): stop listeners in application prep_stop callback
Application:stop is call after the root supervisor is stopped,
in our case, prior to this fix, emqx_sup is stopped before
the listeners (hence the emqx_connection processes).

This causes shutdown to emit a lot of error logs
e.g. emqx_broker pool is down, but emqx_connection process is still
trying to call the pool
2021-07-28 08:53:49 +08:00
Zaiming Shi d628d37a93 fix(emqx_os_mon): log info level for unexpected message
also reply error for unexpected gen_server call
and refine log message for unexpected gen_server cast
2021-07-28 08:53:36 +08:00
Zaiming Shi d68589e0cb feat(boot): make possible to boot on short name 2021-07-27 22:16:10 +02:00
Zaiming Shi 0ab713050d fix(emqx_schema): call new hocon_schema API to get field value 2021-07-27 09:26:37 +02:00
zhanghongtong c1cbd8ece4 feat(authz): add enable config for connectot in config file
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-27 13:39:28 +08:00
zhanghongtong 8ba0890ce5 feat(authz): add id for every rule 2021-07-27 13:39:28 +08:00
tigercl 4dea41f8a2
Merge pull request #5319 from tigercl/feat/authn-http-api
feat(authn): provide http api and improve update mechanism
2021-07-27 11:16:59 +08:00
zhouzb b97c46e3cf test(authn): fix test cases 2021-07-27 10:53:33 +08:00
zhouzb 7febcb852a feat(authn http api): add test case and improve http api spec 2021-07-27 09:54:08 +08:00
Turtle 7a24878436 feat(prometheus): Support swagger prometheus API 2021-07-27 08:57:40 +08:00
Turtle fa37151b69 fix(tests): fix check apps api test cases 2021-07-26 21:35:28 +08:00
Turtle 5434aa02ff feat(mgmt): ignore emqx_dashboard API and apps API 2021-07-26 21:35:28 +08:00
Shawn c0c5bcc698 feat(config): support deleting a config entry 2021-07-26 18:50:24 +08:00
zhanghongtong 4c5b75f281 chore: rename acl to authz
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-26 16:10:33 +08:00
Turtle eac9420170 feat(dashboard): Support swagger dashboard API 2021-07-26 15:00:40 +08:00
Turtle 569d54a4c0 feat(dashboard): Update the configuration file to hocon 2021-07-26 15:00:40 +08:00
Turtle 3b1303340a chore: format statsd code 2021-07-26 14:55:42 +08:00
zhouzb 327ff8636f feat(authn http api): provide http api for authn and improve update mechanism 2021-07-26 14:41:15 +08:00
zhouzb 7d2aac7e24 feat(http pipelining): support to switch http pipelining 2021-07-26 14:41:15 +08:00
zhouzb 3e515d8a8a fix(authn): fix bugs for http authn 2021-07-26 14:41:14 +08:00
zhouzb 2a594b1a73 fix(authn): fix some bugs 2021-07-26 14:41:14 +08:00
zhouzb a5a596e3ac fix(schema): fix config schema for authn 2021-07-26 14:41:14 +08:00
turtleDeng cafed47da6
refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2
refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2
2021-07-26 09:14:13 +08:00
Zaiming (Stone) Shi 2e6b5a0d34
Merge pull request #5305 from zmstone/chore-add-notice-files
chore: add notice files
2021-07-24 09:49:52 +02:00
JianBo He cd22f54f08 fix(gw-sn): fix stats function call if session is undefied 2021-07-24 10:19:05 +08:00
JianBo He 14270da53b chore(gw): remove needless lines 2021-07-24 10:19:05 +08:00
JianBo He d35d0d7834 test(gw): refine sn tests 2021-07-24 10:19:05 +08:00
JianBo He 15bba6afe3 fix(gw-exproto): fix start udp/dtls listener 2021-07-24 10:19:05 +08:00
JianBo He 7f1d245a8f test(gw): refine exproto tests 2021-07-24 10:19:05 +08:00
JianBo He 4125209d1c fix(gw): fix bad function calling 2021-07-24 10:19:05 +08:00
JianBo He dbd78b83b1 chore(gw): delete needless files 2021-07-24 10:19:05 +08:00
JianBo He fd828ad216 fix(gw-exproto): fix diaylzer warnings 2021-07-24 10:19:05 +08:00
JianBo He 5f47ceb118 refactor(gw-exproto): move exproto into gateway 2021-07-24 10:19:05 +08:00
Shawn 935ef0db20 fix(config): rename callback functions for emqx_config_handler 2021-07-23 18:56:30 +08:00
Shawn bbf40a85bf fix(config): merge conflicts 2021-07-23 18:49:09 +08:00
DDDHuang ec88e3a404 chore: sys uptime by millisecond 2021-07-23 18:32:38 +08:00
Shawn 7a628e201f fix(config): merge conflicts 2021-07-23 18:20:45 +08:00
turtleDeng 29826000f0
Merge branch 'master' into update_config 2021-07-23 18:09:01 +08:00
turtleDeng 6bc096d22e
Merge pull request #5292 from turtleDeng/statsd
feat(statsd): optimize default value & add statsd http API
2021-07-23 18:05:58 +08:00
zhanghongtong 4b50bfb4c2 chore(config): rename acl to authorize in emqx.conf
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-23 17:56:15 +08:00
Zaiming Shi 79c550dc54 chore: add notice files 2021-07-23 11:47:04 +02:00
Turtle 6617ba2772 feat(statsd): add statsd http API 2021-07-23 17:41:53 +08:00
Turtle 1776acee8a refactor(statsd): optimize default value 2021-07-23 17:41:53 +08:00
Shawn 2ddcfdf365 refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2 2021-07-23 17:25:39 +08:00
DDDHuang ffc7a070f4
Merge branch 'master' into api_format 2021-07-23 17:09:47 +08:00
Shawn ec8fed9a7d fix(test): wait a while after subscribing/unsubscribing to a topic 2021-07-23 17:06:28 +08:00
Shawn d205a88f2a refactor(config): change alarm.validity_period to ms 2021-07-23 17:06:28 +08:00
Shawn 67f76c009a refactor(config): change sysmon.os.mem_check_interval to ms 2021-07-23 17:06:28 +08:00
Shawn 41820e3bbd refactor(config): change sysmon.os.cpu_check_interval to ms 2021-07-23 17:06:28 +08:00
Shawn 7837069a93 fix(modules): disable telemetry by default 2021-07-23 17:06:28 +08:00
Shawn 14da108443 fix(mqtt): mqtt5 property session expiry interval not working 2021-07-23 17:06:28 +08:00
Shawn 6710695f9d fix(test): wait a while after kicking out the client 2021-07-23 17:06:28 +08:00
Shawn 0704cbc986 refactor(config): change mqtt.session_expiry_interval to ms 2021-07-23 17:06:28 +08:00
Shawn 684e46c45d refactor(config): change mqtt.await_rel_timeout to ms 2021-07-23 17:06:28 +08:00
Shawn c5bc7e7e57 fix(test): update testcases for retry_interval 2021-07-23 17:06:28 +08:00
Shawn 93e1257045 refactor(config): change mqtt.retry_interval to ms 2021-07-23 17:06:28 +08:00
Shawn 048ba1e067 refactor(config): change global_gc_interval to ms 2021-07-23 17:06:28 +08:00
DDDHuang 2b12fa1c05 chore: api code format; fix: atom refname; update minirest version 2021-07-23 16:40:19 +08:00
DDDHuang e96bac87ce refactor: alarms api; add: alarms format function 2021-07-23 13:56:23 +08:00
DDDHuang 9642bcce88 refactor: listeners api; add: listeners list function; fix: listener
already start error
2021-07-23 13:52:19 +08:00
DDDHuang 0cf4723c73
refactor: sub api; fix: fuzzy function (#5287) 2021-07-23 13:49:51 +08:00
Shawn 419036bd9a fix(test): remove emqx:get_env from lwm2m and telemetry 2021-07-23 10:56:20 +08:00
Shawn 7c5caee89c fix(trie): export set_compact/1 2021-07-23 10:56:20 +08:00
Shawn 327a464844 fix(test): reload emqx_plugins after updating the config 2021-07-23 10:56:20 +08:00
Shawn c2e7acc1f1 fix(test): change application:set_env/3 to emqx_config:put/2 2021-07-23 10:56:20 +08:00
Shawn 5fd54d13d2 fix(test): cannot get trie_compaction config 2021-07-23 10:56:20 +08:00
Shawn f2e62def1b refactor(config): remove emqx:get_env/1,2 from testcases 2021-07-23 10:56:20 +08:00
Shawn 0a3b77f65d fix(config): write configs to emqx_override.conf failed 2021-07-23 10:56:20 +08:00
Shawn 2666c06232 refactor(config): load emqx.conf before all other tasks in emqx_app 2021-07-23 10:56:20 +08:00
Shawn 1433a7e0fe refactor(config): remove emqx:get_env/1,2 2021-07-23 10:56:20 +08:00
JianBo He b28435f811 fix(gw-stomp): fix unknown outgoing packets 2021-07-22 19:56:04 +08:00
JianBo He 0f79ffca01 feat(gw-conn): support the incoming keepalive oct 2021-07-22 19:56:04 +08:00
JianBo He ef6a38bfd2 refactor(gw): unify the connection process module 2021-07-22 19:56:04 +08:00
JianBo He c6b3447598 fix(gw): correct stats/1 for mqttsn&stomp 2021-07-22 19:56:04 +08:00
Turtle 709f6a535b feat(telemetry): telemetry API support swagger 2021-07-22 16:21:05 +08:00
JianBo He 46ae179a7a chore(gw): fix dialyzer warnings 2021-07-22 09:00:20 +08:00
Zaiming (Stone) Shi fd2c3fe37b
Merge pull request #5282 from zmstone/upgrade-ekka-0.10.4
fix(rebar.config): upgrade to ekka 0.10.4
2021-07-21 15:24:28 +02:00
Zaiming Shi 051ac91299 fix(rebar.config): upgrade to ekka 0.10.4 2021-07-21 11:54:32 +02:00
William Yang de387c4c8e chore: gitignore erlang_ls.config 2021-07-21 17:51:49 +08:00
William Yang 7521d09079 feat(quic): toggle QUIC listener and fix ci test 2021-07-21 17:51:49 +08:00
Shawn f913cf9617 fix(rpc): read tcp_client_num from emqx_config 2021-07-21 17:34:01 +08:00
Shawn 29bb4c2a01 fix(configs): correct the default value of some configs 2021-07-21 17:34:01 +08:00
JianBo He 74db04f1c0 chore(emqx): enrich version type 2021-07-21 16:09:48 +08:00
JianBo He 6a99e1535f chore(gw): fix dialyzer warnings 2021-07-21 16:09:48 +08:00
JianBo He 623fc67fc9 chore(gw): uncomment mqttsn confs 2021-07-21 16:09:48 +08:00
JianBo He 9355adae4b fix(gw): fix xrefs 2021-07-21 16:09:48 +08:00
JianBo He f22384669e chore(gw): temporarily comment out asleep/awake tests 2021-07-21 16:09:48 +08:00
JianBo He 61473b8a5b test(gw): fix the mqtt-sn frame tests 2021-07-21 16:09:48 +08:00
JianBo He 18eaadae08 refactor(gw): remove needless modules 2021-07-21 16:09:48 +08:00
JianBo He 21796314f3 test(gw): fix bad test cases 2021-07-21 16:09:48 +08:00
JianBo He 0f9b5ff3a1 refactor(gw): use typical conn&channel to implement mqtt-sn gateway 2021-07-21 16:09:48 +08:00
JianBo He 45912d8a81 fix(gw): fix typos 2021-07-21 16:09:48 +08:00
JianBo He 40d714049e chore(gw): delete needless files 2021-07-21 16:09:48 +08:00
zhanghongtong 32eabf041e chore(authz): update url type for authz schema 2021-07-21 13:47:35 +08:00
JianBo He 26ba1b630c test(session): fix test cases 2021-07-21 09:47:49 +08:00
JianBo He b782d4c53a refactor(emqx): strip the side effects of emqx_session module 2021-07-21 09:47:49 +08:00
DDDHuang 2d4d7b2923 fix: routes api function cause 2021-07-20 13:56:20 +08:00
Shawn 98c7f9edb2 refactor(configs): make mqtt related configs only in zone 2021-07-20 11:41:16 +08:00
Shawn af5470cb30 refactor(configs): make acl related configs only in zone 2021-07-20 11:41:16 +08:00
Shawn e0e9b7ec5b fix(emqx_congestion): read congestion config only from zone 2021-07-20 11:41:16 +08:00
Shawn 2898e9c6dc refactor(config): make rate_limit only in listeners for now 2021-07-20 11:41:16 +08:00
Shawn e6424d63d8 refactor(config): don't allow inheritable config entries 2021-07-20 11:41:16 +08:00
Shawn 32b571091b fix(statsd): remove the extra debug log msg 2021-07-20 11:41:16 +08:00
DDDHuang 746a91efd8
Merge pull request #5263 from DDDHuang/apps_api
refactor: apps api; rename: error response util function
2021-07-20 11:40:59 +08:00
DDDHuang 9a64c9a464
Merge pull request #5261 from DDDHuang/routes_api
refactor: routes api
2021-07-20 09:40:04 +08:00
DDDHuang 51dc9093ed refactor: apps api 2021-07-20 09:35:30 +08:00
DDDHuang 14d9b876e7 refactor: routes api 2021-07-19 17:33:48 +08:00
zhanghongtong 358db0320b fix(authz): fix a re:replace error when username is undefined 2021-07-19 15:31:07 +08:00
DDDHuang 120c2b8cdf chore: add mgmt start listener log 2021-07-19 15:27:12 +08:00
Shawn 31f016fa22 refactor(config): remove emqx_zone 2021-07-19 14:47:43 +08:00
firest 4427ec8155 fix(emqx_retainer): fix remaining quota check error 2021-07-19 08:55:24 +08:00
zhanghongtong 2476664385 chore(release): update emqx release version 2021-07-17 18:12:40 +08:00
Shawn a0f8ca2c3f fix(config): delete the emqx.conf.old 2021-07-17 17:36:01 +08:00
Turtle eadaa9e557 Merge branch 'emqx_config' of https://github.com/terry-xiaoyu/emqx into emqx_config 2021-07-17 17:10:07 +08:00
Turtle 7b38ae7f47 fix(test): fix check paho test cases fail 2021-07-17 17:09:16 +08:00
Shawn 6915d9abeb fix(authz): update testcases for emqx_authz 2021-07-17 16:59:31 +08:00
Shawn 1d2cb6cb81
Merge branch 'master' into emqx_config 2021-07-17 15:53:12 +08:00
zhanghongtong bb417e4498 feat(authz): support http
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-17 15:48:29 +08:00
Turtle 89f10d3902 fix(test): fix check emqx management test cases fail 2021-07-17 15:40:18 +08:00
Shawn c9cf8b66e7 fix(docker): cannot set log_level using os env 2021-07-17 15:25:18 +08:00
Turtle b9e3095ac3 fix(test): fix check emqx management test cases fail 2021-07-17 14:59:52 +08:00
Shawn d047f820e5 fix(test): update testcases for emqx_gateway 2021-07-17 13:19:45 +08:00
lafirest 4c931470d8 feat(eqmx_retainer): let emqx_retainer can support other types of databases 2021-07-17 13:18:03 +08:00
Shawn f68b8c4097 fix(test): update testcases for emqx_gateway 2021-07-17 11:07:46 +08:00
Shawn f7f2523030 fix(dialyzer): handle undefined conf in post_update_config/2 2021-07-17 10:38:30 +08:00
Shawn 7a77f4f54e fix(emqx_schema): start emqx as standalone app failed 2021-07-17 10:19:06 +08:00
Turtle dfa9026ea3 fix(tests): fix check authn test fail 2021-07-17 09:06:05 +08:00
Shawn 4d279e47d8 chore(merge): merge code from master 2021-07-17 01:20:57 +08:00
Shawn b82693cc0b fix(authz): support config hot upgrading 2021-07-17 01:18:14 +08:00
turtleDeng fc13c59d7b
chore: use hocon to replace cuttlefish 2021-07-16 23:52:43 +08:00
DDDHuang 92ae5663a6 feat: update to openapi 3.0.0 2021-07-16 23:26:56 +08:00
Turtle ed1cf33b9d chore: merge coap/lwm2m/exhook/exproto to emqx_gateway dir 2021-07-16 23:24:36 +08:00
turtleDeng 8c9be070b4
chore: update hocon tag 2021-07-16 19:59:06 +08:00
Shawn 6d871cc52f fix(authz): resources not created when authz started 2021-07-16 18:06:10 +08:00
Shawn bb6d7c4e0b
Merge branch 'master' into emqx_config 2021-07-16 16:49:50 +08:00
Shawn c3d24db642 fix(authz): update emqx_authz for new config 2021-07-16 14:07:27 +08:00
k32 9d9d9f2ce3
Merge pull request #5227 from k32/dev/bump_ekka
chore(ekka): Bump version to 0.10.3
2021-07-15 17:09:59 +02:00
Shawn c834494113 fix(cli): CLI of emqx_gateway_cli broken 2021-07-15 20:39:06 +08:00
Shawn 543f2c78c5 fix(ekka): cluster cannot get started with the new config 2021-07-15 20:28:12 +08:00
DDDHuang 1bfa6ead42 refactor: publish api; add: batch schema util function 2021-07-15 19:25:26 +08:00
DDDHuang 187d200cb7 refactor: stats api & metrics api; fix: clients api parameter type lose 2021-07-15 19:19:26 +08:00
Shawn a1488b3946 fix(test): merge conflicts 2021-07-15 18:54:31 +08:00
Shawn ba166967c9
Merge branch 'master' into emqx_config 2021-07-15 18:44:56 +08:00
Shawn a16a15e3a9 fix(test): remove tlsv1.3 provisionally to make test pass 2021-07-15 18:34:27 +08:00
tigercl 4ed14dfdfd
Merge pull request #5228 from tigercl/feat/one-authn
feat(one authn): merge simple authn and enhanced authn
2021-07-15 17:37:50 +08:00
Shawn d5756ecd52 fix(test): update the testcases 2021-07-15 17:19:46 +08:00
zhouzb ddda18bcb8 chore(authn): add jose dep 2021-07-15 17:14:35 +08:00
DDDHuang e838df99a9 fix: api auth header support 2021-07-15 16:20:46 +08:00
Shawn 6fbf20b930 fix(test): update the testcases 2021-07-15 16:19:26 +08:00
zhouzb 07ce636803 feat(authn): support enable authn in config 2021-07-15 16:16:41 +08:00
Shawn 3c47ab92d7 fix(listeners): update the default tls ciphers 2021-07-15 15:11:54 +08:00
Shawn bcae0cbb50 fix(gateways): hardcode the listener and zone names 2021-07-15 14:26:12 +08:00
zhouzb 5ecc992944 chore(authn): fix coap authn and update tag for esasl 2021-07-15 14:25:23 +08:00
Shawn f6702b020e fix(hocon): update hocon version to 0.10.1 2021-07-15 13:57:24 +08:00
Shawn 533f4cf63e fix(dialyzer): some dialyzer complains 2021-07-15 13:52:06 +08:00
Shawn 0cc01c2bee Merge branch 'master' into emqx_config 2021-07-15 13:18:57 +08:00
Shawn 4da59a5785 fix(dialyzer): some dialyzer problems 2021-07-15 11:56:13 +08:00
Shawn 7d66760c1e fix(hocon): start emqx failed using os env configs 2021-07-15 11:55:31 +08:00
zhouzb beecc4c5a2 test(authn): fix test case for authn 2021-07-15 11:36:49 +08:00
JianBo He 980c7d91db chore(gw): fix mqtt-sn test cases 2021-07-15 10:35:28 +08:00
JianBo He fc5baf8fd4 refactor(gw-sn): support mutil-registry process 2021-07-15 10:35:28 +08:00
JianBo He d2430e70a8 refactor(gw): move mqtt-sn to gateway 2021-07-15 10:35:28 +08:00
k32 3bb41ae367 chore(ekka): Bump version to 0.10.3 2021-07-14 17:49:31 +02:00
zhouzb 42c5432514 fix(http authn): fix bugs for http authn and http connector 2021-07-14 18:20:46 +08:00
zhouzb 6a8e35ce3a feat(one authn): merge simple authn and enhanced authn 2021-07-14 16:54:13 +08:00
Shawn 157b97eb8a fix(config): workaround for emqx_sn to use configs of mqtt_tcp listener 2021-07-14 10:09:12 +08:00
Shawn 8e32d5314d
Merge branch 'master' into emqx_config 2021-07-14 09:33:58 +08:00
Shawn 25d7616881 fix(test): update the testcases for emqx_ws_connection_SUITE 2021-07-13 19:58:54 +08:00
Shawn 7d9321a141 fix(test): apply default configs for emqx_session_SUITE 2021-07-13 18:39:57 +08:00
Shawn e4e7eb81e4 fix(test): update the testcases for emqx_mqtt_caps_SUITE 2021-07-13 17:42:44 +08:00
Shawn 3aaf7041a6 fix(test): update the testcases for emqx_os_mon_SUITE 2021-07-13 17:41:15 +08:00
Shawn 01c4c655fb fix(config): make emqx_caps work with the new config struct 2021-07-13 16:42:32 +08:00
Shawn a0bddfc834 fix(config): start quic connection with zone and listener names 2021-07-13 16:41:20 +08:00
Shawn b123299c70 fix(config): make flapping work with the new config 2021-07-13 16:39:59 +08:00
Shawn 871353704a fix(test): update the testcases for emqx_channel_SUITE 2021-07-13 16:38:06 +08:00
Shawn 868b31d123 fix(test): update the testcases for emqx_mqtt_protocol_v5_SUITE 2021-07-13 16:37:18 +08:00
DDDHuang 500047fa30 refactor: nodes api ; add: api test util module 2021-07-13 15:08:28 +08:00
Shawn 6d9918d3e5 fix(test): update the testcases for emqx_vm_mon_SUITE 2021-07-13 13:52:29 +08:00
DDDHuang a8e4ea18ea
Merge pull request #5215 from DDDHuang/clients_api_test
test: add clients api SUITE & add api [delete sub]
2021-07-13 10:38:20 +08:00
Shawn 400e08e229 fix(flapping): make the flapping work with the new config structure 2021-07-12 20:43:11 +08:00
zhanghongtong 9081a22b8c chore(deps): deps in rebar must not be use branch
Can use tags or commit ids in rebar deps

Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-12 18:28:47 +08:00
Shawn 499ab5d9c4 fix(config): configure a plain map for mqueue_priorities 2021-07-12 18:10:47 +08:00
DDDHuang 734a5b9420 test: add clients api SUITE & add delete sub api 2021-07-12 18:10:40 +08:00
zhouzb 5bb55332a5 chore(auhtn): keep one ssl opts checking func 2021-07-12 16:33:52 +08:00
Shawn 88638da287 fix(test): always init session with zone and listener names 2021-07-12 16:00:04 +08:00
Shawn ea68beeef6 fix(test): update test cases for emqx_client_SUITE 2021-07-12 15:41:43 +08:00
tigercl df92a60085
feat(http connector): support http connector (#5192)
- support http connector
- support http authn
2021-07-12 15:35:06 +08:00
DDDHuang d04e1c6f54
refactor: clients api; status api; adapter minirest v1
The serious influence:
authn:
api
authz:
api; api test suit
dashboard:
all closed
lwm2m:
api;
modules:
api(api_topic_metrics, modules_api); test suit(emqx_modules_SUITE)
prometheus:
api
retainer:
api; api test suit
rule_engine:
api: api test suit
telemetry:
api
2021-07-12 10:05:51 +08:00
Shawn 042ff2e0d7 fix(test): update test cases for emqx_connection_SUITE 2021-07-10 18:01:45 +08:00
Shawn 4c122d0722 fix(test): update test cases for emqx_channel_SUITE 2021-07-10 14:29:45 +08:00
Zaiming (Stone) Shi 6b3cfd7c5d
fix(boot): boot exit on config error (#5200)
* fix(hocon): fail on hocon command errors

call_hocon bash function respects exit code

* fix(bin/emax): get dist_port config from hocon

after config file refactoring (to hocon format) the grep pattern
no longer works

* fix(bin/emqx): set -o pipefail

* feat(bin/emqx): add a DEBUG option
2021-07-10 08:51:35 +08:00
Shawn 9cda6ab3c8 feat(alarm): update the validity_period timer 2021-07-09 19:09:44 +08:00
zhanghongtong 3195561a79 feat(authz connector): match directly using the results returned by sql
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-09 18:21:36 +08:00
DDDHuang c11a8c6db6 refactor: clients api; status api; adapter minirest v1
The serious influence:

authn:
    api
authz:
    api; api test suit
dashboard:
    all closed
lwm2m:
    api;
modules:
    api(api_topic_metrics, modules_api); test suit(emqx_modules_SUITE)
prometheus:
    api
retainer:
    api; api test suit
rule_engine:
    api: api test suit
telemetry:
    api
2021-07-09 18:09:07 +08:00
Zaiming (Stone) Shi 088e615818
Merge pull request #5193 from zmstone/fix-emqx-conf-default-wss-max-conn-102400
fix(emqx.conf): default wss max_connection from 16 to 102400
2021-07-09 11:39:34 +02:00
Shawn 14af90d0c3 fix(test): update test cases for emqx_acl_cache_SUITE 2021-07-09 15:38:51 +08:00
Shawn fb78e510ca fix(test): update test cases for emqx_access_control_SUITE 2021-07-09 15:04:54 +08:00
zhanghongtong 178bafbabf chore: rename required function to not_empty
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-09 14:18:41 +08:00
zhanghongtong c10d154dab chore(connector): update schema file
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-09 14:18:41 +08:00
Zaiming Shi e990220e83 fix(emqx.conf): default wss max_connection from 16 to 102400 2021-07-09 07:34:04 +02:00
William Yang 793aa951e3
Merge pull request #5170 from qzhuyan/dev/william/ci-fix-build-package
ci(quic): conditionally quicer build
2021-07-08 17:34:47 +02:00
Shawn 0ac2492b36 fix(config): read app env 'config_files' to get the path to emqx.conf 2021-07-08 19:27:36 +08:00
Shawn 27d5c5b2d9 feat(config): make quic listener start with the new config 2021-07-08 15:05:07 +08:00
Rory Z 6d7424b445 fix(connector): fix mongo connector auth failed 2021-07-08 11:25:18 +08:00
William Yang 79d169b3ff chore(quic): bump emqtt vsn to 1.4.2 2021-07-07 13:41:47 +02:00
William Yang 660d16e84b feat(config): set the endpoint to "" to disable listener 2021-07-07 13:41:47 +02:00
William Yang 1f20bae392 feat(quic): conditionally build/start quicer app 2021-07-07 13:41:47 +02:00
William Yang 6adb76cf27 ci: try 32bit fix from quicer 2021-07-07 13:41:43 +02:00
Shawn 477097c062 chore(project): merge code from master 2021-07-07 19:32:52 +08:00
DDDHuang dc98cff27b
fix: mgmt conf & schema; prepare minirest (#5178) 2021-07-07 17:04:05 +08:00
Shawn 4dd72e59fa feat(listeners): make the APIs and CLIs work with the new listener 2021-07-07 16:22:38 +08:00
Shawn 630b54f6ee feat(acl): make mqtt over websocket work with the new config 2021-07-07 14:43:54 +08:00
Rory Z 612d25fdb3 chore(connector): rename mongo config key 2021-07-07 10:06:10 +08:00
k32 a95b91c005 chore(coap): Fix debug logs 2021-07-06 18:42:39 +02:00
Shawn 707851c36f refactor(force_shutdown): force shutdown the connection if it don't kill itself 2021-07-06 20:11:49 +08:00
Shawn 7c0fd642bb feat(acl): make acl cache work with the new config 2021-07-06 19:24:54 +08:00
Shawn 5efd5c8d3b refactor(emqx_connection): make the mqtt tcp connection work with new config 2021-07-06 18:26:54 +08:00
lafirest 72f9e60d63 feat(emqx_retainer): add simple restapi for emqx_retainer 2021-07-06 18:16:05 +08:00
Rory Z 53df218e6a feat(connector): mongo support replica set 2021-07-06 18:07:06 +08:00
Shawn 969e72c82b refactor(connection): remove active_n from state 2021-07-05 19:13:55 +08:00
Shawn 10b01a34ef refactor(listeners): reformat the code for starting stopping listeners 2021-07-05 19:12:26 +08:00
Shawn 6d92d87ae7 feat(map_lib): support emqx_map_lib:deep_merge/2 2021-07-05 19:11:05 +08:00
Rory Z fd0a211629 chore(authz): mongo connector support ssl 2021-07-05 17:57:03 +08:00
Rory Z 45ee504dc5 chore(authz): rename ACL to AuthZ 2021-07-05 17:57:03 +08:00
Rory Z f733293a8b chore(authz): update apps vsn 2021-07-05 17:57:03 +08:00
Rory Z f92b8bb7fb chore(authz): add test case 2021-07-05 17:57:03 +08:00
Rory Z 694f3bd67f feat(authz): support mongo single 2021-07-05 17:57:03 +08:00
Shawn 807bbb391c feat(map_lib): support emqx_config:get_listener_conf/3,4 2021-07-05 16:40:00 +08:00
Shawn 0aec496886 feat(map_lib): support emqx_map_lib:deep_find/2 2021-07-05 16:02:03 +08:00
Shawn 30c2a76dae refactor(emqx_config): move helper funcs to emqx_map_lib 2021-07-05 15:16:01 +08:00
DDDHuang ce1e6ce89d fix: start jiffy by emqx 2021-07-05 14:41:33 +08:00
Shawn a884d215e1 fix(connection): start connection failed 2021-07-05 13:50:37 +08:00
Shawn fb809a5c08 fix(active_n): revert the changes to active_n 2021-07-05 11:28:21 +08:00
Shawn 8b3fcde380 feat(config): make the listeners up 2021-07-02 22:17:22 +08:00
JianBo He 8ee86f2fbe fix(gw): start emqx-gateway after emqx restarted 2021-07-02 20:41:46 +08:00
JianBo He 56cdd469ff
feat(gateway): The prototype for emqx-gateway application
* feat(gateway): add gateway application

* chore(gateway): add normalize confs function

* refactor: move emqx-stomp to emqx-gateway subdir

* chore(gateway): fix some bad function defination

* chore(gateway): rename type to gwid

* chore(gw-stomp): upgrade the implementation to suppport gateway instance

* feat(gw-stomp): add reconnect mechanism

* refactor(stomp): upgrade connection&channel module to latest

* refactor(stomp): more details for handle_in/out

* refactor(stomp): get it up and running

* chore(gw): load some modules by default

* refactor: upgrade the emqx-gateway schema module

* test(stomp): fix testcases for stomp gateway

* chore(gw): remove needless lines

* chore(gateway): correct a lot of specs

* chore(gw): add a draft for metrics

* chore(gw): add metrics process

* fix(gw): fix cm process monitor

* test(gw): add test cases for gateway-regitry

* feat(gw): add metrics/cli for gateway

* fix(gw): fix xref errors

* chore(gw): pretty gateway metrics print format

* chore(gw-stomp): generate clientid by default

* chore(gw): more reliable

* chore(gw): rename gwid -> type

* chore(gw): impl the update logic

* chore(gw): some format improvement

* chore(gw): adapts the hocon configs

* fix(gw): fix xref errors

* test(gw): update configurations for tests

* chore(gw): ignore diaylzer warnings

* fix(gw): fix bad function call

* chore(gw): remove needless comments
2021-07-02 20:17:40 +08:00
zhanghongtong 4313e37994 chore(release): update emqx release version 2021-07-02 19:11:02 +08:00
Turtle 24292f4f4e chore: delete plugins related configuration 2021-07-02 18:12:06 +08:00
William Yang 5ae8cd2fa3 fix(quic): dialyzer errors 2021-07-02 17:10:56 +08:00
William Yang 72117f3f1d feat(quic): bump emqtt and quicer version
emqtt: 1.4.1
quicer: 0.0.5
2021-07-02 17:10:56 +08:00
William Yang 82d0f2b016 feat(quic): Add tests and support more listener option
- support option `active_n`
- add quic group in emqx_mqtt_protocol_v5_SUITE
- fix rate limit
2021-07-02 17:10:56 +08:00
Turtle 41870a00b3 chore: fix emqx_retainer test cases 2021-07-02 17:01:16 +08:00
Turtle 390b28a25d fix: join cluster fail 2021-07-02 17:01:16 +08:00
Turtle 918a26e921 feat(conf): merge all conf to emqx.conf 2021-07-02 17:01:16 +08:00
Turtle fb2f2741a4 fix: fix test cases fail 2021-07-02 14:41:28 +08:00
Turtle 4b87594839 feat(conf): sys、mon、alarm、plugins、broker、mqtt conf to hocon 2021-07-02 14:41:28 +08:00
zhouzb c7cbe819ed feat(hocon): convert config format of rpc and log to hocon 2021-07-02 14:41:28 +08:00
Shawn 092c5455c8 feat(config): change configs of zone and listener to hocon format 2021-07-02 14:41:28 +08:00
Turtle 8266a79867 feat(conf): cluster/node conf to hocon 2021-07-02 14:41:28 +08:00
DDDHuang 2c7fd0b547
chore: mgmt hoconf support (#5153) 2021-07-02 00:02:09 +08:00
turtleDeng c7e540f4f1
feat(modules): Update the configuration file to hocon (#5151) 2021-07-01 20:08:13 +08:00
zhanghongtong bf4c31b745 chore(authz): use atom key for hocon config 2021-07-01 18:29:32 +08:00
Shawn 8dcb5ceb86 fix(config): get config problems in sysmon 2021-07-01 18:01:38 +08:00
Shawn aad393f8d7 feat(config): apply new config struct to emqx_sys_mon 2021-07-01 16:27:59 +08:00
Shawn db38137d5c feat(config): apply new config struct to emqx_alarm 2021-07-01 15:00:59 +08:00
Shawn 66aaed1f87 feat(config): update emqx_schema for logger 2021-07-01 11:47:33 +08:00
turtleDeng d4f726419f
feat(bridge-mqtt): Update the configuration file to hocon (#5142) 2021-07-01 10:51:59 +08:00
lafirest 860aea50db chore(emqx_retainer): change config of emqx_retainer to use hocon 2021-06-30 21:42:34 +08:00
Shawn d2c50baf93 fix(config): set console_handler.enable to turewhen start from console 2021-06-30 19:24:37 +08:00
zhanghongtong e0f1087490 chore(mgmt): cancel plugins test case 2021-06-30 19:17:38 +08:00
zhouzb b63bba59d5 feat(authn): update schema for mysql and postgresql 2021-06-30 18:57:50 +08:00
tigercl cdcb63374a
refactor(authn): support hocon for authn (#5068)
* refactor(use hocon): rename to authn, , support hocon, support two types of chains and support bind listener to chain
2021-06-30 17:04:28 +08:00
Shawn 02c9a3163b refactor(config): emqx.conf for 5.0 2021-06-30 09:39:03 +08:00
k32 dae4c771d0
Merge pull request #5126 from k32/dev/delayed-mod-shard
chore(mod_delayed): Add RLOG shard
2021-06-29 13:05:41 +02:00
zhanghongtong 2b082f9cf9 chore(connector): update connector ssl schema 2021-06-29 18:22:44 +08:00
zhanghongtong c9acf423ba chore: rename authorze_cache function name to check_authorization_cache 2021-06-29 10:09:15 +08:00
zhanghongtong e1b0f44a8a chore: rename check_authz to authorize 2021-06-29 10:09:15 +08:00
zhanghongtong c63bdc355a chore: rename check_acl to check_authz
update emqx_coap vsn

rename OnClientCheckAcl to OnClientCheckAuthz in exhook
2021-06-29 10:09:15 +08:00
k32 e8e956b074 chore(mod_delayed): Add RLOG shard 2021-06-28 21:35:10 +02:00
k32 2bea95ff6e
Merge pull request #5124 from k32/dev/rule-engine-shard
chore(rule_engine): Add an RLOG shard
2021-06-28 21:27:18 +02:00
k32 73ec8c47cc chore(rule_engine): Add an RLOG shard 2021-06-28 20:29:08 +02:00
k32 9ab5c88d20 chore(retainer): Add RLOG shard 2021-06-28 20:22:06 +02:00
k32 1618a90ddd chore(telemetry): Add an RLOG shard 2021-06-28 18:14:36 +02:00
k32 26b2216e25 chore(shared_sub): Add shared_sub shard 2021-06-28 17:52:57 +02:00
k32 ce4800e6ae chore(alarm): Alarm shard 2021-06-28 17:52:57 +02:00
k32 7c9861dbaa chore(banned): Add banned shard 2021-06-28 14:05:35 +02:00
k32 98739224f6 chore(emqx_sn): Add SN shard 2021-06-28 14:05:30 +02:00
k32 ca1b789ef6
Merge pull request #5100 from k32/dev/authn-shard
Create authN shard
2021-06-28 12:57:36 +02:00
zhanghongtong 64ce0d0e4f chore(acl): delete acl nomatch config item 2021-06-28 17:47:44 +08:00
Turtle faad90c9d4 chore(plugins): rm emqx-web-hook and mv webhook action to emqx_rule_actions 2021-06-28 17:07:46 +08:00
William Yang 5571c54607
Merge pull request #5002 from qzhuyan/dev/william/quic-support-centos7
Quic support part 1
2021-06-28 10:49:44 +02:00
k32 dc1deff3f3 refactor(rlog): Fix initialization of emqx_cm_registry table 2021-06-28 10:35:36 +02:00
Turtle 33036a1a91 chore(plugins): rm emqx-pks-file plugin 2021-06-28 15:57:19 +08:00
Turtle 434beef3ad feat(rule-engine): Update the configuration file to hocon 2021-06-28 14:51:15 +08:00
Turtle 54aeacee14 feat(rule-engine): update the configuration file to hocon 2021-06-28 14:51:15 +08:00
zhanghongtong dd424c7656 build: delete sasl plugin 2021-06-28 11:52:47 +08:00
zhanghongtong d6e531bd8f Merge branch 'master' of https://github.com/emqx/emqx into merge-4.3-to-5.0 2021-06-28 11:46:55 +08:00
zhanghongtong 4e4c1dd17a build: delete needless auth plugins 2021-06-28 11:45:01 +08:00
Turtle d0d14f7a02 chore(plugins): rm emqx-lua-hook plugin 2021-06-28 11:44:01 +08:00
Rory Z 1f7291380b chore: delete internal acl code 2021-06-28 11:44:01 +08:00
Rory Z 1582c07cbe chore: delete import and export feature 2021-06-28 11:44:01 +08:00
Rory Z e949cdca98 chore: delete import and export feature 2021-06-28 11:44:01 +08:00
zhanghongtong 9da51d4b1c build: delete needless auth plugins 2021-06-28 11:44:01 +08:00
zhanghongtong cbc782f5bf build: delete needless auth plugins 2021-06-28 11:43:58 +08:00
Turtle 78cbc2a19d chore: move emqx_recon to emqx_modules plugin 2021-06-28 11:43:48 +08:00
turtleDeng 89529ec4fa chore: reset plugin conf generate (#5094)
* chore: reset plugin conf generate

* fix(plugin): check dialyzer fail

* chore: rm emqx_management_schema.erl file

* fix(plugin): check dialyzer fail

* fix(plugin): fix check ct fail

* fix(plugin): check dialyzer fail
2021-06-28 11:43:48 +08:00
Turtle c9ac851d27 feat(prometheus): Update the configuration file to hocon 2021-06-28 11:43:48 +08:00
Shawn cc1f57ff01 Add some APIs for emqx_config (#5095) 2021-06-28 11:43:48 +08:00
Shawn d77352168f Reference to foreign schema definitions in emqx_schema (#5090) 2021-06-28 11:43:48 +08:00
Rory Z 6f0f670550 feat(redis connector): redis connector support cluster (#5074) 2021-06-28 11:43:48 +08:00
Shawn 36c7785fd0 The config handler phase2 (#5052)
* refator(config_handler): handle and validate the updates to raw_configs

* fix(hocon): update hocon to 0.8.0

* refactor(config_handler): check and apply envs only in top-level handler

* refactor(config_handler): update config from top level to bottom level

* refactor(emqx_data_bridge): move configs to emqx.conf

* fix(emqx_schema): remove the extra config path

* fix(config_handler): load the emqx.conf when starting emqx_config_handler

* fix(data_bridge): API not working

* feat(config_handler): save updated configs to emqx_override.conf

* fix(config_handler): cannot find the emqx.conf and emqx_override.conf

* fix(emqx_config): cannot find the correct path for etc dir

* fix(test): load load emqx_schema foreign refereced apps

* refactor(emqx_plugin): do not generate configs before load plugins

All configs (including the configs for plugins) now should go into
the `emqx.conf`.

* fix(tests): update the test cases for plugins

* fix(tests): don't include schema from apps when testing

* fix(tests): use emqx-ct-helper branch hocon
2021-06-28 11:43:48 +08:00
DDDHuang 44412549ab fix: statsd hocon schema & add test suit (#5060) 2021-06-28 11:43:48 +08:00
k32 b88c71b481 feat(dashboard): Introduce dashboard RLOG shard 2021-06-28 11:43:48 +08:00
k32 198e3c03e0 feat(emqx_management): mqtt_app shard 2021-06-28 11:43:48 +08:00
turtleDeng b4d9af0e85 feat(telemetry): Update the configuration file to hocon (#5064) 2021-06-28 11:43:48 +08:00
Rory Z 39e4d348f6 feat: add authz (#4852)
* feat(authorization): add authorization api

* feat(authorization): add check function

* feat(authorization): use hocon config file

* feat(authz): add mysql connector

* feat(authz): support pgsql

* feat(connector): support redis

* chore(authz): use "publish/subscribe/all" instead of "pub/sub/pubsub"
2021-06-28 11:43:48 +08:00
Zaiming Shi 871f23f047 build: do not allow user override PKG_VSN
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-28 11:43:48 +08:00
Zaiming Shi cd5431e71d chore(emqx_lwm2m): pin lwm2m-coap v2.0.0
v2.0.0 has emqx_http_lib added as a rebar dependency
v1.* is for emqx v4.3.*
2021-06-28 11:43:46 +08:00
DDDHuang 9bc3b4684a refactor(config): support hocon 2021-06-28 11:43:31 +08:00
DDDHuang 8356102450 chore: support statsd 2021-06-28 11:43:31 +08:00
Turtle 205e588b22 fix(plugins): fix load plugin generate hocon configs fail 2021-06-28 11:43:31 +08:00
Shawn e2d96e46a0 change resource,connectors,data_bridges as normal apps (#5034) 2021-06-28 11:43:31 +08:00
Turtle f004e36e28 feat(plugins): Support load plugins of hocon configuration format 2021-06-28 11:43:31 +08:00
Rory Z 87cc94ad28 chore(hooks): update type 2021-06-28 11:43:31 +08:00
Rory Z 0dd068135d chore(hooks): delete is_function() 2021-06-28 11:43:31 +08:00
Rory Z b21959b0c3 test: fix tests error 2021-06-28 11:43:31 +08:00
Rory Z 227c8e626b chore(appup): update appup file 2021-06-28 11:43:31 +08:00
Rory Z 46fe77687c chore(dialyzer): fix dialyzer error 2021-06-28 11:43:31 +08:00
zhanghongtong 64a63ab892 chore(hooks): emqx_hooks no longer accept anonymous functions 2021-06-28 11:43:31 +08:00
zhanghongtong f5c4863420 fix(connector): add nullable for sentinel_name in redis schema 2021-06-28 11:43:31 +08:00
Zaiming Shi 62df9f03ad fix(emqx_schema): add 'sensitive' flag for passowrd configs 2021-06-28 11:43:31 +08:00
Zaiming Shi 1fca3cd1b5 chore(rebar.config): use hocon 0.6.0
hocon 0.6.0 added supports for sensitive config flagging
sub-struct type checking, and remote struct referencing
2021-06-28 11:43:31 +08:00
DDDHuang 22b0fa0b92 chore: more node info 2021-06-28 11:43:31 +08:00
turtleDeng 271869b817 Revert "chore: mv emqx_connector to emqx_data_bridge"
This reverts commit d640e2ccfa.
2021-06-28 11:43:31 +08:00
zhanghongtong 786fd6fe3e feat(connector): mysql and pgsql query support params 2021-06-28 11:43:31 +08:00
Turtle 07ade268f9 chore: mv emqx_connector to emqx_data_bridge 2021-06-28 11:43:31 +08:00
Shawn ff54fbd1d1 fix(shared_sub): discard all unexpected msgs 2021-06-28 11:43:14 +08:00
Shawn 95e7a4dd7b chore(appup): update the appup for 4.3.5 2021-06-28 11:43:13 +08:00
Shawn 8f15a41f54 fix(shared_sub): failed to clean the emqx_shared_subscription tab
A trick that fixes the issue that we demonitored the shared subscriber
too early if it not unsubscribed all of the topics.
2021-06-28 11:42:56 +08:00
Turtle 22f1e8d7ed chore(review): review 4.3.4 2021-06-28 11:42:39 +08:00
Turtle bde9d052a5 feat(lwm2m): fix check dialyzer fail 2021-06-28 11:42:39 +08:00
Turtle 8c0c6974d9 fix: Ignore repeatedly receiving connection packet in the wait_will_msg/wait_will_topic/connected state 2021-06-28 11:42:39 +08:00
JianBo He 8da6d5cf16 fix(emqx_cm): catch noproc exception from rpc_call (#5048) 2021-06-28 11:42:39 +08:00
JianBo He ab75901061 fix(coap): fix coap uri format (#5059) 2021-06-28 11:42:25 +08:00
Zaiming Shi c7fe49c200 test(ci): add plugin list status check after relup new vsn install 2021-06-28 11:42:12 +08:00
JianBo He f3617aa082 chore: upgrade lwm2m_coap to 1.1.4 2021-06-28 11:41:53 +08:00
Turtle c7ebc12ce1 feat(lwm2m): add emqx_lwm2m http API 2021-06-28 11:41:53 +08:00
Shawn 8e08e83090 fix(appup): relup for emqx_rule_registry failed 2021-06-28 11:41:53 +08:00
Shawn c1b2163362 feat(rules): remove stats update from rule_engine_registry (#5029) 2021-06-28 11:41:53 +08:00
Shawn a610c3d1f3 fix(rule): delete resource failed when searching dependent rules (#4996) 2021-06-28 11:40:51 +08:00
Turtle 8a3ac7c878 chore(plugins): rm emqx-sasl plugin 2021-06-28 11:40:49 +08:00
tigercl bcedd7fe9e fix(query string): support query string in path (#4981) 2021-06-28 11:40:44 +08:00
JianBo He 56ac459b7f fix(modules): fix start/stop exhook module failure 2021-06-28 11:40:44 +08:00
JianBo He 2bc586b930 fix(ws): avoid funcation_clause for un-inited websocket 2021-06-28 11:40:43 +08:00
k32 c1d2bae833 fix(auth_ldap): Handle missing attributes
Fixes: #4953
2021-06-28 11:40:42 +08:00
Zaiming Shi 0451f89c22 chore(conf): change default number of gen_rpc connections to 1 2021-06-28 11:40:24 +08:00
JianBo He 8352fa6f31 fix(mqttsn): fix proto_name to MQTT-SN instead of MQTT (#4961) 2021-06-28 11:40:22 +08:00
JianBo He 7af4b80ef4 fix(lwm2m): base64 decode for opaque value 2021-06-28 11:39:29 +08:00
Turtle 1063f2cae5 chore(plugins): rm emqx-lua-hook plugin 2021-06-28 09:44:17 +08:00
k32 6063fc72f7 chore(authentication): Migrate to RLOG 2021-06-25 16:58:50 +02:00
Rory Z c79e478c42 chore: delete internal acl code 2021-06-25 18:45:34 +08:00
Rory Z 55613593f0 chore: delete import and export feature 2021-06-25 18:45:34 +08:00
Rory Z ecc450e942 chore: delete import and export feature 2021-06-25 18:45:34 +08:00
zhanghongtong 09e995a1b2 build: delete needless auth plugins 2021-06-25 18:45:34 +08:00
zhanghongtong c24f3688c4 build: delete needless auth plugins 2021-06-25 18:45:34 +08:00
Turtle 2d1008ceaf chore: move emqx_recon to emqx_modules plugin 2021-06-25 18:45:04 +08:00
turtleDeng c9c6b69cc9
chore: reset plugin conf generate (#5094)
* chore: reset plugin conf generate

* fix(plugin): check dialyzer fail

* chore: rm emqx_management_schema.erl file

* fix(plugin): check dialyzer fail

* fix(plugin): fix check ct fail

* fix(plugin): check dialyzer fail
2021-06-25 17:06:30 +08:00
Turtle 2582fdcfe8 feat(prometheus): Update the configuration file to hocon 2021-06-25 16:31:18 +08:00
Shawn d5eb37c537
Add some APIs for emqx_config (#5095) 2021-06-25 15:40:28 +08:00
Shawn 9977d836bc
Reference to foreign schema definitions in emqx_schema (#5090) 2021-06-25 12:46:57 +08:00
Rory Z 4157524910
feat(redis connector): redis connector support cluster (#5074) 2021-06-25 11:47:57 +08:00
Shawn 704af9f3b1
The config handler phase2 (#5052)
* refator(config_handler): handle and validate the updates to raw_configs

* fix(hocon): update hocon to 0.8.0

* refactor(config_handler): check and apply envs only in top-level handler

* refactor(config_handler): update config from top level to bottom level

* refactor(emqx_data_bridge): move configs to emqx.conf

* fix(emqx_schema): remove the extra config path

* fix(config_handler): load the emqx.conf when starting emqx_config_handler

* fix(data_bridge): API not working

* feat(config_handler): save updated configs to emqx_override.conf

* fix(config_handler): cannot find the emqx.conf and emqx_override.conf

* fix(emqx_config): cannot find the correct path for etc dir

* fix(test): load load emqx_schema foreign refereced apps

* refactor(emqx_plugin): do not generate configs before load plugins

All configs (including the configs for plugins) now should go into
the `emqx.conf`.

* fix(tests): update the test cases for plugins

* fix(tests): don't include schema from apps when testing

* fix(tests): use emqx-ct-helper branch hocon
2021-06-25 11:47:18 +08:00
DDDHuang a42605b27b
fix: statsd hocon schema & add test suit (#5060) 2021-06-25 09:18:52 +08:00
k32 6cb81240d0
Merge pull request #5054 from k32/dev/dashboard-shard
feat(dashboard): Introduce dashboard RLOG shard
2021-06-23 19:55:02 +02:00
k32 a14ab5f90a
Merge pull request #5053 from k32/dev/mgmt-shard
feat(emqx_management): mqtt_app shard
2021-06-23 19:42:47 +02:00
turtleDeng 5a560a153c
feat(telemetry): Update the configuration file to hocon (#5064) 2021-06-23 17:12:24 +08:00
Rory Z 263aaff6d6
feat: add authz (#4852)
* feat(authorization): add authorization api

* feat(authorization): add check function

* feat(authorization): use hocon config file

* feat(authz): add mysql connector

* feat(authz): support pgsql

* feat(connector): support redis

* chore(authz): use "publish/subscribe/all" instead of "pub/sub/pubsub"
2021-06-23 10:55:38 +08:00
Zaiming Shi d7ed66f234 build: do not allow user override PKG_VSN
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-22 18:56:31 +08:00
k32 2d8ebc17cd feat(dashboard): Introduce dashboard RLOG shard 2021-06-21 18:03:51 +02:00
k32 239255f251 feat(emqx_management): mqtt_app shard 2021-06-21 18:02:11 +02:00
Zaiming Shi 291cea0727 chore(emqx_lwm2m): pin lwm2m-coap v2.0.0
v2.0.0 has emqx_http_lib added as a rebar dependency
v1.* is for emqx v4.3.*
2021-06-21 11:54:58 +02:00