Commit Graph

2765 Commits

Author SHA1 Message Date
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
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