Commit Graph

2345 Commits

Author SHA1 Message Date
zhongwencool 554548dbfb chore: update emqx.appup.src and changelog 2022-05-05 16:52:33 +08:00
zhongwencool 761436c967 fix: don't allow empty username if username_as_clientid is true 2022-05-05 10:50:53 +08:00
Ilya Averyanov 41746e8d7a feat(emqx_auth_jwt): use JWT for ACL checks 2022-04-22 12:22:58 +03:00
firest 8fcff16bff fix: fix bad indent 2022-04-21 15:11:28 +08:00
firest 03cdcab6f6 chore: bump emqx version 2022-04-18 18:27:19 +08:00
firest 8a269099ad fix(frame): remove empty topic check, because it checked in emqx_channel 2022-04-18 14:23:22 +08:00
JimMoen 6168745f90 chore: update copyright 2022-04-14 11:23:25 +08:00
JianBo He 47a5bc3f09
Revert "Add support for JWT authorization" 2022-04-14 10:44:06 +08:00
Ilya Averyanov d8db671abb feat(emqx_auth_jwt): use JWT for ACL checks 2022-04-13 13:17:27 +03:00
Xinyu Liu 0a77e1a9b1
Merge pull request #7558 from lafirest/fix/empty_topic_with_alias
fix(frame): fix empty topic check error
2022-04-08 18:07:42 +08:00
firest eec204517f fix(frame): fix empty topic check error 2022-04-08 16:26:07 +08:00
Shawn d155c3adb5 fix: add emqx_app into appup.src 2022-04-08 16:09:10 +08:00
Zaiming (Stone) Shi b294bad88e
Merge pull request #7462 from gsychev/bridge_local_forwards
feat(shared_sub): per group strategies and local strategy
2022-04-07 16:30:05 +01:00
Zaiming (Stone) Shi 9694c3277d fix(appup): re-generate emqx.appup.src 2022-04-07 15:17:02 +02:00
Georgy Sychev 0c74227995 feat(shared_sub): per group strategies and local strategy
Adds backward compatible per group strategy for shared subscriptions
Adds local shared subscription strategy
2022-04-07 13:40:02 +04:00
JimMoen 1910249058 chore: update CHANGES-4.3.md and appup 2022-04-07 17:26:59 +08:00
JimMoen 0297dd723e feat(emqx): provide cluster_name api 2022-04-07 17:21:37 +08:00
Thales Macedo Garitezi 63146cb148
chore: update appup files and bump emqx_modules app vsn 2022-04-06 09:11:07 -03:00
Thales Macedo Garitezi aa19283ff2
fix: ensure default values for `loaded_{plugins,modules}`
Fixes #7455 .

This tries to populate `loaded_{plugins,modules}` files with default
values before loading them, in case they don't exist.
2022-04-06 09:08:21 -03:00
Georgy Sychev 1a715c8708 feat(emqx_dashboard): subsciption to update password
emqx_dashboard restarted in ekka hook
Closes #3155
2022-04-05 10:40:09 +02:00
Zaiming (Stone) Shi a54813dd69 fix(appup): re-generate appup from 4.3.13 2022-04-02 23:00:41 +02:00
zhongwencool fe6af95f88 chore: remove useless stacktrace from catch. 2022-03-31 16:01:20 +08:00
firest bf68735664 fix(frame): forbidden empty topic in strict mode 2022-03-30 10:42:56 +08:00
zhongwencool 4ee586a738 fix: appup.src 2022-03-29 17:12:35 +08:00
zhongwencool 06adcb9126 Merge branch 'dev/v4.3.14' into export-test-case-v4.3.14 2022-03-29 15:55:24 +08:00
zhongwencool b47aef63a1 fix: emqx.appup.src 2022-03-29 15:16:57 +08:00
zhongwencool f9a85614d4 chore: export test function for ee's hot-conf 2022-03-29 14:52:35 +08:00
JimMoen b17fd40091 chore(exhook): update appup.src, add field when updating module 2022-03-28 15:54:38 +08:00
JimMoen 38c515908f feat(hook): put emqx_hook with more fields 2022-03-25 09:58:13 +08:00
JianBo He 604c384660 fix(channel): send will_msg if client has been kicked 2022-03-21 10:56:55 +08:00
JianBo He 8d3e953eef fix(channel): send DISCONNECT packet if connection has been kicked
fix #7241
2022-03-21 10:56:37 +08:00
zhongwencool b8afd2760c
Merge pull request #7318 from zhongwencool/fix-bad-str
fix: Add name string legitimacy check.
2022-03-17 17:49:25 +08:00
zhongwencool bfadcebb9c chore: remind the user to delete bad appid/username. 2022-03-16 15:23:10 +08:00
zhongwencool f70d777623 chore: update appup 2022-03-16 11:19:25 +08:00
zhongwencool b44512cdab fix: Add string legitimacy check. 2022-03-16 10:31:41 +08:00
William Yang 81ed61b001 feat: add load control app 2022-03-15 14:02:42 +01:00
Chris Hicks 32fac8b67b
Merge pull request #7299 from mononym/fix-typo-in-log-message
fix: typo in log message
2022-03-14 12:55:04 +01:00
Chris 55eddfa16c fix: typo in log message 2022-03-14 10:18:18 +01:00
JimMoen 8ea84e4a01 chore(appup): update appup.src 2022-03-10 12:12:42 +08:00
JimMoen c0b688b51f feat(frame): utf-8 string check in `strict_mode` 2022-03-10 11:23:44 +08:00
Zaiming (Stone) Shi d8e29f19cb refactor(appup): always generate appup from script 2022-03-08 13:24:54 +01:00
DDDHuang fbd70b02bc fix: override plugins list 2022-03-07 10:32:49 +08:00
DDDHuang 278fa96bc1 fix(plugins): usort plugin list 2022-03-04 10:46:09 +08:00
Zaiming (Stone) Shi cca9e52c9a chore(appup): add missing appup instructions 2022-03-01 11:41:52 +01:00
zhongwencool b1816a6647 fix: add uptime/1 for CT test. 2022-03-01 14:19:37 +08:00
zhongwencool ed41a66c6e fix: rpc get node info maybe crash when emqx_sys process is not start yet. 2022-03-01 14:19:35 +08:00
Thales Macedo Garitezi cf1cc7e9db
chore(appup): update appup files 2022-02-24 17:14:47 -03:00
Thales Macedo Garitezi 6b93127ecb
fix(sys_mon): guard before calling `erlang:port_info`
Port of #7108 .

Sometimes, the `emqx_sys_mon:procinfo/1` might be called with
something that is not a port, like `[]`.  Not sure on the conditions
for this to happen.

```
2022-02-18T20:05:02.671592+00:00 [error] Generic server emqx_sys_mon terminating. Reason: {badarg,[{erlang,port_info,[[]],[{error_info,#{module => erl_erts_errors}}]},{emqx_sys_mon,portinfo,1,[{file,"/emqx/apps/emqx/src/emqx_sys_mon.erl"},{line,205}]},{emqx_sys_mon,'-handle_info/2-fun-5-',2,[{file,"/emqx/apps/emqx/src/emqx_sys_mon.erl"},{line,150}]},{emqx_sys_mon,suppress,3,[{file,"/emqx/apps/emqx/src/emqx_sys_mon.erl"},{line,184}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,695}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,771}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,236}]}]}. Last message: {monitor,<0.7796.0>,busy_dist_port,[]}. State: #{events => [{busy_dist_port,#Port<0.127>}],timer => #Ref<0.2758388682.1853620226.133920>}.
```
2022-02-24 16:28:35 -03:00
JianBo He d622eb848f refactor(cm): rename takeover -> request_stepdown
see: https://github.com/emqx/emqx/pull/7026#pullrequestreview-891954135
2022-02-24 14:43:46 +08:00
JianBo He 4673ca43a0 chore(emqx): update appup.src 2022-02-24 11:51:00 +08:00
JianBo He bfd0fd9019 refactor(cm): rename call_or_kill to takeover 2022-02-24 11:50:57 +08:00
JianBo He 6dd0b49dd2 feat(cm): force shutdown of processe that cannot answer takeover event
Related PR: #6030
2022-02-24 09:53:17 +08:00
William Yang 372ea29d96 fix: upgrade code, system mem false alarm 2022-02-23 09:38:54 +01:00
William Yang 841d6d5036 fix: system mem false alarm 2022-02-23 09:14:28 +01:00
JianBo He a2d8405f99 chore: update appup.src 2022-02-22 10:30:52 +08:00
JianBo He b802bcb6fc refactor(exproto): pre-register the anonymous client 2022-02-22 10:23:16 +08:00
JimMoen 31b006a0d1 fix(frame): `server_keepalive` only for MQTT v5.0 2022-02-21 18:46:53 +08:00
Ilya Averyanov 557c52dd8a chore(codestyle): remove Elvis 2022-02-18 20:35:19 +03:00
Thales Macedo Garitezi 3f31df2297
docs: add comment explaining application and release vsn discrepancy 2022-02-14 13:18:53 -03:00
Thales Macedo Garitezi acf3b8cbe9
chore(emqx): update appup 2022-02-14 13:18:07 -03:00
Thales Macedo Garitezi 8302cac329
fix(channel): wrong case clause when alias is inexistent
Fixes #6978 .
2022-02-14 13:18:07 -03:00
Shawn 646ef25d96
Merge branch 'main-v4.3' into fix-ctl-print-43 2022-02-10 19:13:29 +08:00
Shawn 8cf268dffb fix: emqx_message:format/1 failed on undefined message id 2022-02-10 12:43:39 +08:00
Shawn 038136fc83 fix(appup): update appup file for module emqx_message 2022-02-10 11:04:25 +08:00
Shawn 3b5b4b99ed fix(log): format the message id to hexstring before printing 2022-02-10 09:47:33 +08:00
Thales Macedo Garitezi e053700441
style: please elvis checks 2022-02-09 11:02:05 -03:00
Thales Macedo Garitezi 5e223ac64f
chore(appup): update appup files 2022-02-09 09:54:39 -03:00
Thales Macedo Garitezi b968d4c416
fix(ctl): fix formatting when printing messages without arguments (4.3)
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-09 09:36:27 -03:00
zhongwencool e2dec09b0d fix(alarm): watermark replace >= =< with > < 2022-01-27 11:59:48 +08:00
zhongwencool 9d633507f5 fix(appup): add emqx.erl to appup.src 2022-01-26 14:32:00 +08:00
zhongwencool 78f294cda2 fix: sys_mem alarm is not triggered after reboot. 2022-01-25 16:12:17 +08:00
JianBo He 14538e5f6d chore(emqx): update appup.src 2022-01-21 14:24:01 +08:00
JianBo He c56be7dcd7 refactor(metrics): more clear for acl metrics
For clarity in the meaning of metrics, we put `client.acl.allow`,
`client.acl.deny` into emqx_metrics and increased after a acl checking
returned.
2022-01-21 11:21:25 +08:00
lafirest deada0ea44 chore(appup): update appup file and esockd version 2022-01-18 16:26:01 +08:00
lafirest eb003e3305 feat(emqx_limiter): add support for update overall limiter 2022-01-18 14:06:26 +08:00
zhongwencool 729ab6f60d
Merge branch 'main-v4.3' into auth-mnesia-default-import 2022-01-14 11:29:41 +08:00
zhongwencool ab18020eea
Merge pull request #6736 from zhongwencool/support-license-alarm-type
chore(alarm): support license alarm type
2022-01-14 11:19:48 +08:00
zhongwencool 9a17bcfcc9 chore(appup): update eqmx.appup.src 2022-01-14 11:03:27 +08:00
zhongwencool 7c0d70cfde feat(license): license expriy early alarm. 2022-01-14 00:31:56 +08:00
Shawn 4abcab8d52 fix(appup): update appup files for emqx,emqx_sn,rule_engine 2022-01-13 18:37:22 +08:00
zhongwencool c6a571c207 chore(alarm): support license alarm type 2022-01-13 17:41:16 +08:00
Shawn a6408cee4f fix(session): update testcases for emqx_session 2022-01-13 15:28:18 +08:00
Shawn 9f7f5070b2 fix(channel): update the calls to emqx_session APIs 2022-01-13 13:33:27 +08:00
Shawn 217acc0154 feat(rule): add new event 'delivery_dropped' 2022-01-12 20:11:08 +08:00
Shawn 9434c0fa6c feat(hook): new emqx hook 'delivery.dropped' 2022-01-12 18:34:20 +08:00
JianBo He 02dc216173 chore: update appup.src 2021-12-23 08:48:24 +08:00
JianBo He cb8a3725b4 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 08:48:24 +08:00
Zaiming (Stone) Shi c1cbf39552 fix(appup): add missing beams to emqx.appup.src
also re-formated emqx_sn.appup.src
2021-12-17 13:41:25 +01:00
JimMoen 24060285c5 chore(appup): update appup.src 2021-12-10 18:08:47 +08:00
JimMoen 3ecc79e1bc test(frame): test packet proxy_protocol config disabled 2021-12-10 18:08:47 +08:00
JimMoen b9acf94fd7 feat(frame): better log for proxy_protocol config disabled 2021-12-10 18:08:47 +08:00
Tobias Lindahl 2348e612fa 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 16:05:49 +01:00
JimMoen 14aa408b5e style: make elvis happy 2021-12-07 14:17:33 +08:00
JimMoen c5e28bd32b fix(vm): add literal_alloc memory calculation 2021-12-07 14:17:33 +08:00
JianBo He ef6f867304 chore(conn): change terminated print to debug level 2021-12-02 18:01:36 +08:00
Thales Macedo Garitezi 64ce2eea1c
chore(appup): run ./scripts/update_appup.escript to bump vsns 2021-11-25 12:08:02 -03:00
Thales Macedo Garitezi 0260db6640
feat(sys_mon): Add proc_lib:initial_call/1 and current_stacktrace (4.3)
(Same as #6289 )

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-25 12:08:02 -03:00
zhouzb 3b25df9b47 fix(appup): fix multiply defined module in appup 2021-11-17 15:18:16 +08:00
zhouzb f948eb927d chore(appup): add appup.src 2021-11-17 14:31:37 +08:00
zhouzb 5e3fe6714e fix(http): fix duplicate http headers 2021-11-17 14:14:12 +08:00