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