Commit Graph

2669 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 537f088616 Merge remote-tracking branch 'origin/main-v4.3' into main-v4.4 2022-10-27 17:31:15 +02:00
firest e66e563648 fix(logger): add new macro `?LOG_SENSITIVE` and use it to replace some `?LOG` for security reason
some arguments  passed to external API may contain sensitive data, when the API execution fails, sensitive data may be returned as a part of the failure reason, if this reason printed to the log, it will lead to sensitive data leakage, so we should check carefully and scan these failed returns
2022-10-26 17:14:46 +08:00
Ilya Averyanov cc468dca4e chore(cm): sync emqx_cm with ee 2022-10-26 11:49:22 +03:00
Thales Macedo Garitezi 8206f39b7c chore: update appups 2022-10-25 09:43:12 -03:00
Thales Macedo Garitezi 0a8f3d4e16 Merge remote-tracking branch 'origin/main-v4.3' into sync-v44-a 2022-10-24 16:28:11 -03:00
Thales Macedo Garitezi ba422532c7 Merge remote-tracking branch 'origin/release-v44' into sync-v44-a 2022-10-24 16:26:18 -03:00
JimMoen e0e8a5a707 chore: re-generate appup for v4.3.22 2022-10-20 10:37:32 +08:00
JimMoen 8adddb018f Merge remote-tracking branch 'emqx/release-v43' into 1020-sync-release-v43-back-to-main 2022-10-20 10:23:08 +08:00
Zaiming (Stone) Shi fd7a8064f4 Merge remote-tracking branch 'origin/release-v43' into release-v44 2022-10-19 19:25:43 +02:00
Zaiming (Stone) Shi 73a5462cba fix(shared): do not redispatch shared messages for certain shutdown
For takeover, there should be no message re-dispatch because
the messages will be retried by the new session.

For kick, messages should not be re-dispatched for security reason.
i.e. if admin has identified that there are malicious messages
stored in persisted sessions, killing the session should not
cause messages to be re-dispatched
2022-10-19 17:21:56 +02:00
JimMoen 8a644bac99 chore: bump app.src and appup.src 2022-10-18 11:28:54 +08:00
Zaiming (Stone) Shi 11026b7644 chore: re-generate appup for v4.3.22 2022-10-16 08:43:45 +02:00
Zaiming (Stone) Shi 20e0d14026 chore: bump app versions 2022-10-15 15:01:57 +02:00
Zaiming (Stone) Shi 1ba2c01f25 Merge remote-tracking branch 'origin/release-v43' into main-v4.3 2022-10-15 14:58:22 +02:00
Zaiming (Stone) Shi 198a1ed6cb Merge remote-tracking branch 'origin/main-v4.3' into main-v4.3 2022-10-13 08:54:26 +02:00
JianBo He e8eb0e11ac Merge tag 'v4.3.21-alpha.2' into release-v44 2022-10-12 19:33:39 +08:00
Zaiming (Stone) Shi e57ab9a8c1 fix: remsh prefix may not include an underscore 2022-10-12 12:42:37 +02:00
Zaiming (Stone) Shi 7d24c34db5 Merge remote-tracking branch 'origin/release-v43' into release-v44 2022-10-11 22:54:25 +02:00
Ivan Dyachkov 73d72eacce fix: demote rate limit log level to notice 2022-10-11 13:05:21 +02:00
Zaiming (Stone) Shi 124f9795cd
Merge pull request #9091 from zmstone/1003-no-shutdown-logging-to-remote-node-when-rpc
fix(emqx): emqx:shutdown should not log to remote node
2022-10-11 08:12:28 +02:00
JianBo He 85aa120b06 Merge branch 'release-v43' into release-v44 2022-10-11 10:24:22 +08:00
JianBo He a1affa94b5
Merge pull request #9045 from HJianBo/enhance-flapping-detect
refactor: enhance the flapping detect accuracy
2022-10-11 10:10:47 +08:00
Zaiming (Stone) Shi edf69cee88 feat: mute emqx shutdown log in rpc calls 2022-10-10 17:57:33 +02:00
JimMoen 48d8f7e7a9 fix(channel): add warning log if the acl check of a subscribed topic failed 2022-10-10 16:03:31 +08:00
JianBo He 2f178fa8f1
Merge branch 'release-v43' into enhance-flapping-detect 2022-10-10 09:40:49 +08:00
Zaiming (Stone) Shi 4f8a7349bf fix(shared): ensure sticky strategy sticks to the first pick
Prior to this fix, the alive pids are never inserted due to a
missing insert when handing remote pids from mnesia event.
2022-10-09 20:18:33 +02:00
Zaiming (Stone) Shi b2b05c0077 Merge remote-tracking branch 'origin/release-v43' into 1009-fix-sticky-dispatch-should-check-subscription-table 2022-10-09 11:43:14 +02:00
Zaiming (Stone) Shi 8e8ff08973 fix(shared): check sticky if sticky pid is still a member
Prior to this fix, in case of a subscriber unsubscribes without
disconnect, the sticky dispatch strategy will continue to pick the
old member.
This commit fixes it by checking if the member is still in the
group
2022-10-09 11:31:54 +02:00
JianBo He e2b0048e88 refactor(flapping): count flapping event if connecting failed 2022-10-08 10:06:20 +08:00
DDDHuang 13f3dafe22 refactor: enhance the flapping detect accuracy
Count the `flapping` event as long as a client try to connect to server
whatever it suceed or failed. It is more helpful to improve
stablebility.
2022-10-08 09:56:23 +08:00
Zaiming (Stone) Shi d23dfcca39 fix(shared): only re-dispatch QoS1 inflights 2022-10-05 16:03:43 +02:00
Ivan Dyachkov 09b08d092d chore: revert double exported pmap after merge 2022-10-05 15:10:10 +02:00
Zaiming (Stone) Shi 8d42589bf5 chore: update appup 2022-10-05 13:32:48 +02:00
Zaiming (Stone) Shi c8920b5499 Merge remote-tracking branch 'origin/release-v43' into release-v44 2022-10-05 12:55:21 +02:00
Zaiming (Stone) Shi d46393c45c Merge remote-tracking branch 'origin/release-v43' into 1004-fix-wildcard-redispatch-for-shared-subs 2022-10-05 12:42:03 +02:00
Zaiming (Stone) Shi 3339df8b24 test: Add test case to cover shared sub QoS2 pubrel in inflights 2022-10-05 12:38:12 +02:00
Zaiming (Stone) Shi 6769bd4edc fix(shared): drop pubrel from inflight collection before redispatch 2022-10-05 10:30:59 +02:00
Zaiming (Stone) Shi ba1c276c75 fix(typespec): fix type spec for emqx_shared_sub:redispatch_to 2022-10-05 10:04:09 +02:00
Zaiming (Stone) Shi 9989f4df7e chore: fix shared subscription redispatch 2022-10-04 18:15:45 +02:00
Zaiming (Stone) Shi 366999ccbb Merge remote-tracking branch 'origin/release-v43' into main-v4.3 2022-10-02 11:25:16 +02:00
Thales Macedo Garitezi ebf131266a test: fix flaky shared sub test case
the route replication is async, added a function to wait for it
2022-09-30 17:22:58 +02:00
Zaiming (Stone) Shi 07f0f0a5f8 Merge remote-tracking branch 'origin/release-v43' into 0921-build-merge-release-br-back-to-main-asap 2022-09-29 10:56:45 +02:00
Thales Macedo Garitezi 954e276124 Merge remote-tracking branch 'origin/release-v43' into merge-rv43-into-rv44-a 2022-09-28 09:46:03 -03:00
Zaiming (Stone) Shi 527ce097aa feat: add emqx_secret module 2022-09-27 21:18:07 +02:00
Thales Macedo Garitezi 2e0eae54f8 fix(acl): check ACL before publishing last will testament (lwt) message (4.3) 2022-09-26 15:22:29 -03:00
firest 6fd0261915 chore: update emqx appup && CHANGES-4.4.md 2022-09-26 17:32:01 +08:00
firest 9f400eb11d fix(slow_subs): Fix the unit error of the `deliver_begin_at` timestamp
The unit of `deliver_begin_at` is incorrectly used the seconds,
this will cause the `internal` stat type to never working and the `response` type time span error
2022-09-26 17:32:01 +08:00
zhongwencool 1379f39f26 chore: sync from release-e4.3 2022-09-22 18:02:39 +08:00
zhongwencool 9642f25ea0 chore: update changelog 2022-09-22 15:12:31 +08:00
zhongwencool 27983e7df4 chore: update emqx.appup.src 2022-09-22 14:24:59 +08:00
zhongwencool 61d745a230 feat: add emqx_misc:ipv6_probe/2 function 2022-09-22 11:00:16 +08:00
zhongwencool c2f1f1aab8 chore: rename on_xxx_hooks to on_xxx 2022-09-22 10:04:52 +08:00
zhongwencool 362c176d24 chore: update appup.src 2022-09-22 10:02:48 +08:00
zhongwencool 4635d52273 chore: add reboot_hook/shutdown_hook for enterprise 2022-09-22 10:02:00 +08:00
Thales Macedo Garitezi 90995069c6 chore(auth_mongo): bump appup 2022-09-21 14:46:17 -03:00
Thales Macedo Garitezi 83fb479311 chore: port `pmap/nolink_apply` features from master 2022-09-21 14:03:44 -03:00
Zaiming (Stone) Shi 548de20c0b chore: re-generate appup after version bump 2022-09-19 15:33:55 +02:00
Zaiming (Stone) Shi 816b4749db chore: update app versions 2022-09-19 15:14:22 +02:00
William Yang cdadc8ad44 chore: update appup src 2022-09-19 14:53:41 +02:00
Zaiming (Stone) Shi e6603548d7 chore: generate appups after bumped new version 2022-09-17 18:50:28 +02:00
Zaiming (Stone) Shi bfb53b7f24 chore: bump app versions after merged tag v4.3.20 2022-09-16 12:56:51 +02:00
Thales Macedo Garitezi 59d178d3b5 chore: update appups 2022-09-15 10:51:26 -03:00
Thales Macedo Garitezi d3c291c4d0 Merge remote-tracking branch 'origin/main-v4.3' into merge-v43-into-v44-h 2022-09-15 10:13:47 -03:00
Thales Macedo Garitezi 0599393741
Merge pull request #8942 from thalesmg/fix-ignore-dialyzer-pt1-43
chore: fix ignored dialyzer warnings (part 1) (4.3)
2022-09-14 14:56:59 -03:00
Zaiming (Stone) Shi 62aa9656c4 chore: update emqx.appup.src 2022-09-14 12:40:36 +02:00
Thales Macedo Garitezi fa6c22b366 chore: update appups 2022-09-12 10:56:35 -03:00
Thales Macedo Garitezi d72ca84af0 chore: fix ignored dialyzer warnings (part 1) (4.3) 2022-09-12 10:56:35 -03:00
Thales Macedo Garitezi 1f5103b390 test: add test case for not publishing will msg when not authorized 2022-09-12 09:04:54 -03:00
Zaiming (Stone) Shi 4aa0f4980d chore: re-generate appup updates 2022-09-12 09:45:37 +02:00
Zaiming (Stone) Shi 1013f221e0 Merge remote-tracking branch 'origin/dev/v4.3.20' into dev/v4.4.9 2022-09-12 09:25:07 +02:00
JianBo He 2440733a6f test: ensure shared messages queued by session 2022-09-08 13:59:23 +08:00
JianBo He ecae9b5d40 chore: update appup.src 2022-09-08 13:59:21 +08:00
JianBo He 8ec432481d fix(shared-sub): fix dead loop if all subscribers are disconected
In `broker.shared_dispatch_ack_enabled=true`, if all subscribers seesion are
kept and but connnection gone. the subscribers will reply NACKs if someone shared
delivers reached. However, the shared subscription always pick a subscriber to retry,
even if it has already replied with NACKs.

After this PR, the subscriber replies with an ACK and stores it into mqueue,
instead of replying with a NACK
2022-09-07 17:03:41 +08:00
Zaiming (Stone) Shi 6f28e0eb83 chore: update appup files 2022-08-31 08:07:42 +02:00
Thales Macedo Garitezi b4cb256612 chore: bump app vsns and update appups 2022-08-30 18:02:31 -03:00
Thales Macedo Garitezi e05605bef0 Merge remote-tracking branch 'origin/main-v4.3' into merge-v43-into-v44-e 2022-08-30 16:38:14 -03:00
Thales Macedo Garitezi 977ac04d24 chore: fix dialyzer errors 2022-08-26 16:09:39 -03:00
zhongwencool 26956784ff Merge branch 'main-v4.4' into copy-of-main-v4.3 2022-08-25 17:37:55 +08:00
zhongwencool b732aa5aa2 chore: warning default modules/plugins is working 2022-08-25 11:19:50 +08:00
zhongwencool 8d389d9619 Merge branch 'main-v4.4' into sync-v4.3-to-v4.4 2022-08-23 21:42:58 +08:00
zhongwencool 7ad7658bbc fix: remove emqx_telemetry from ee's default plugins 2022-08-22 15:29:08 +08:00
zhongwencool 940ceb570d Merge branch 'main-v4.4' into copy-of-main-v4.3 2022-08-19 10:53:48 +08:00
Zaiming (Stone) Shi f1ad4cb8ca chore: fix emqx_misc ipv6 probe
The new OTP version exports gen_tcp:ipv6_probe/0 which always return
true. So we no longer need the old hacky way to do it.
2022-08-17 23:43:07 +02:00
zhongwencool 8a78c8a2f5 chore: add emqx_app to 4.3.19 2022-08-17 23:37:50 +08:00
zhongwencool 28859bad7d
Merge pull request #8747 from zmstone/0817-chore-sync-emqx-appup-file
chore: sync ee emqx.appup.src to ce
2022-08-17 23:12:03 +08:00
zhongwencool 117348fb85 feat(rebalance): remove unannounced plugins from plugin lists 2022-08-17 22:05:22 +08:00
Zaiming (Stone) Shi 2a50daa98b chore: sync ee emqx.appup.src to ce
main-v4.3-enterprise had some ee specific changes added to emqx.erl
having emqx module added to reload even there is no change is OK
so we can simply sync the file from ee to ce
2022-08-17 11:46:32 +02:00
Zaiming (Stone) Shi 303249e2e8 chore: move rebalance and eviction code to ee 2022-08-16 07:40:16 +02:00
firest b02a3b9429 fix(channel): Adjust the timing of the `client.connected` event 2022-08-15 14:10:19 +08:00
zhongwencool 698b1b6df6 fix: different default plugins start between ee and ce 2022-08-15 09:32:25 +08:00
Ilya Averyanov a19fbe214f feat(node_rebalance): implement node evacuation and rebalancing 2022-08-13 11:32:14 +03:00
Thales Macedo Garitezi fc9e802b26 chore: bump release version, app vsns, appups 2022-08-12 13:41:52 -03:00
Zaiming (Stone) Shi 15b97ec78e chore: revert EMQX to EMQ X in emqx app desc 2022-08-09 10:28:55 +02:00
zhongwencool e9a5c4295c fix: bad NeedToLoad plugins 2022-08-09 10:29:17 +08:00
zhongwencool 50bb5a4f5a fix: emqx version is 4.3.19 2022-08-09 09:36:33 +08:00
zhongwencool 8dd966e8ef fix: enable emqx_mod_module if default_plugins 2022-08-08 16:48:51 +08:00
Zaiming (Stone) Shi db979f7b48 chore: update release version and appups prepare for new version 4.4.7 2022-08-03 13:41:11 +02:00
Zaiming (Stone) Shi 744af708f1 chore: update appup files for 4.3.18 2022-08-02 15:58:04 +02:00
zhongwencool 60e0b64434 fix: emqx.appup.src format 2022-07-25 08:54:33 +08:00
zhongwencool 56eedf0c9d Merge branch 'main-v4.3' into copy-of-main-4.3 2022-07-25 08:47:25 +08:00
Ilya Averyanov afbb3f295b fix(lua_hooks): fix on_message_publish lua hook 2022-07-21 13:52:52 +03:00
ieQu1 276c735b2c chore: Update emqx.appup.src 2022-07-20 23:30:03 +02:00
ieQu1 1c441e43af
Merge branch 'main-v4.4' into copy-of-main-4.3 2022-07-20 23:22:17 +02:00
ieQu1 e7c117ef19 fix(shared_session): Don't redispatch inflight messages on takeover 2022-07-20 16:54:42 +02:00
Xinyu Liu 84c2aceba9
Merge branch 'main-v4.4' into copy-of_main-v4.3 2022-07-20 21:29:49 +08:00
Xinyu Liu befde373c8
Merge branch 'main-v4.3' into changes-restart-strategy 2022-07-20 21:11:06 +08:00
ieQu1 8e418cdc6b fix(shared_sub): Use gen_rpc to send shared_sub payloads 2022-07-20 14:44:24 +02:00
zhongwencool f6467de696 chore: bump to 4.3.17.beta.1 2022-07-19 20:54:42 +08:00
zhongwencool 347f071079 chore: make sure emqx_app/emqx_relup in emqx's appup.src 2022-07-19 19:01:40 +08:00
zhongwencool b6b4ad9b70 chore: update appup.src 2022-07-19 18:44:04 +08:00
zhongwencool 28e5539645 chore: revert emqx.appup.src 2022-07-19 17:45:25 +08:00
zhongwencool 368fe40c34 fix: merge appup.src 2022-07-19 11:50:08 +08:00
zhongwencool 3248cb92e8 Merge branch 'main-v4.3' into sync-4.3-to-4.4 2022-07-19 11:02:11 +08:00
JianBo He 7c1a680c33 chore: allow restarting children for emqx_broker_sup 2022-07-08 10:54:04 +08:00
ieQu1 e145fdbef3 fix(shared_sub): Fix crash on dispatch with subscribers disconnected 2022-07-07 11:15:58 +02:00
Zaiming (Stone) Shi 820d981b4d
docs: fix typo in code comment
Co-authored-by: Ilya Averyanov <av@rubybox.ru>
2022-07-06 13:33:52 +02:00
Zaiming (Stone) Shi 998f79070d feat: add a quick deny option to allow_anonymous config
prior to this change, allow_anonymous is only true | false
when set to 'false', even if the client is connected without
a username, the auth backends will be invoked.

this commit introduced a new config value `false_quick_deny`
to deny access immediately without involving auth backends
2022-07-06 11:40:24 +02:00
JianBo He 92d1c37662 Merge v4.3.16 into hotfix/v4.4.5 2022-07-01 22:40:45 +08:00
firest 59ce864f45 chore: add upgrade callback for exclusive_subscription 2022-07-01 18:43:18 +08:00
firest 8abf647452 fix(exclusive): add upgarde codes 2022-07-01 18:35:08 +08:00
Xinyu Liu 2a89443377
Merge branch 'main-v4.4' into copy-of_main-v4.3 2022-06-29 22:27:49 +08:00
Thales Macedo Garitezi 5c89998049 fix(hooks): return error on hook-removed subscription rather than deleting it
Following https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901178
2022-06-29 11:08:22 -03:00
Xinyu Liu 565b6b0eb3
Merge branch 'main-v4.4' into copy-of_main-v4.3 2022-06-23 22:44:53 +08:00
Shawn ee6a2155e2 fix: correct the emqx.appup.src 2022-06-23 22:22:24 +08:00
firest 73b72f40e5 chore: update emqx.appup.src 2022-06-23 17:57:41 +08:00
firest f732b41c5c fix(ctl): remove the warning log when the mgmt upgrade 2022-06-23 17:51:32 +08:00
firest a90f91d3e8 chore: update emqx.appup.src 2022-06-23 17:04:15 +08:00
firest 746b996de4 feat(exclusive): update schema and conf 2022-06-23 17:03:51 +08:00
firest 7084e510d6 feat(exclusive): refactor the implementation 2022-06-23 16:31:48 +08:00
firest 6599b71b5e feat: add exclusive subscription 2022-06-23 16:31:48 +08:00
Thales Macedo Garitezi 4bda62b195 fix(hooks): use hook response to stop subscriptions
Fixes https://github.com/emqx/emqx-lua-hook/issues/118

1) If the Lua hook returns an empty list, it should replace the final
topic filter list.
2) The subscribed topics after running the 'client.subscribe' hook
should not contain topics filtered out by the hooks.
2022-06-21 17:06:39 -03:00
Thales Macedo Garitezi 7d303ae7fe fix(acl): do not leave placeholders unreplaced
If there is no information in the `ClientInfo` map that can be used to
template a placeholder, then we should avoid letting the literal
placeholder match.  Otherwise, the literal placeholder will allow
messages to be published/received unintentionally.

One can still use `{eq, <<"%c">>}` if matching the placeholder is
really desired.
2022-06-20 14:52:51 -03:00
Thales Macedo Garitezi 13f575bc84 chore(relup): bump release and app vsns, update appups 2022-06-15 13:45:05 -03:00
Thales Macedo Garitezi b93a0743ac Merge branch 'main-v4.3' into 'main-v4.4' 2022-06-15 10:48:02 -03:00
JianBo He 00fe560dac
Merge branch 'main-v4.3' into chore/fix-loaded-plugin 2022-06-14 09:47:14 +08:00
JianBo He 5f75f03be8 chore(appup): update emqx.appup.src 2022-06-13 15:15:01 +08:00
Rory Z 9975f3dda8 chore: fix when load plugins, update loaded file error 2022-06-11 17:34:22 +08:00
Thales Macedo Garitezi 1733f19608
chore: bump version and update changelog 2022-06-10 16:30:27 -03:00
Thales Macedo Garitezi 1ba8ad4c25
fix(metrics): inc `connack.auth_error` when using MQTT 3.1
Since MQTT 3.1 uses a different reason code for auth failures, it was
failing to increase the corresponding metric that works for MQTT 5.0.
2022-06-10 15:00:57 -03:00
JianBo He c32edfde18 chore(appup): recovering lost hot update commands 2022-06-02 10:42:55 +08:00
JianBo He 9c91788a9e Merge tag 'v4.3.15-rc.5' into merge-main-v4.3-into-v4.4 2022-06-01 17:01:10 +08:00
DDDHuang 983a699592 fix: better release up log 2022-06-01 14:39:50 +08:00
DDDHuang 4347fa1b95 fix: adjust old logger config 2022-06-01 14:35:23 +08:00
JianBo He ce1dd88676 chore: fix bad `add_module` instrs 2022-05-27 21:54:57 +08:00
JianBo He 2ca952bbe6 chore: update emqx.appup.src 2022-05-27 18:22:39 +08:00
JianBo He 6c765b3e02 Merge tag 'v4.3.15-rc.3' into merge-main-v4.3-into-v4.4 2022-05-27 18:13:38 +08:00
Xinyu Liu 526d8a8200
Merge pull request #8065 from HJianBo/fix-xref-bad-func-name
fix(alram): fix bad function name
2022-05-27 16:55:54 +08:00
JianBo He 975c7eb095
Merge branch 'main-v4.3' into trace-large-msg-format-as-iolist 2022-05-27 16:42:04 +08:00
JianBo He bfa54523c6 chore: revert the needless appup.src changes by #8061 2022-05-27 16:15:00 +08:00
JianBo He 9200fc2512 fix(alram): fix bad function name 2022-05-27 16:12:11 +08:00