Commit Graph

2701 Commits

Author SHA1 Message Date
Thales Macedo Garitezi 83183b7e4b feat(crl): register CRL URLs when starting TLS listeners 2022-11-10 11:40:14 -03:00
Thales Macedo Garitezi df58d19f89 fix(listener_ocsp): assert listener id is present in options (ssl) 2022-11-08 17:01:21 -03:00
Zaiming (Stone) Shi 32a8753e9d refactor: introduce emqx_const_v1 for immutable anonymous funs 2022-11-08 16:41:58 -03:00
Thales Macedo Garitezi ce282797be refactor(ocsp): use listener id instead of name for sni fun matching 2022-11-08 16:12:40 -03:00
Thales Macedo Garitezi 2e5e6af677 fix(listener): pass along the listener name
The rigid `start_listener/3` does not allow to pass the original
`listener()` map forward, which contains the listener name needed for
OCSP SNI function to later find its required information.  To avoid
changing the arity of this exported function, we stuff the listener
name temporarily along with the esockd options...
2022-11-08 15:18:47 -03:00
Thales Macedo Garitezi b0e8e9dc28 refactor(crl): use cast for refreshing crls 2022-11-08 13:53:27 -03:00
Thales Macedo Garitezi 2713af507a refactor: move OCSP options into its own section 2022-11-08 13:19:14 -03:00
Thales Macedo Garitezi ca973db2fc refactor: split list comprehension over fn calls 2022-11-08 10:42:38 -03:00
Thales Macedo Garitezi c23c534525 refactor: fix typo, add more detail, rename option to be more clear 2022-11-08 10:42:38 -03:00
Thales Macedo Garitezi 11175b55f8 fix(ocsp): allow disabling ocsp without touching url 2022-11-07 17:50:02 -03:00
Thales Macedo Garitezi 26d2ed3d31 fix(crl): allow specifying CRL URLs per listener 2022-11-07 16:42:51 -03:00
Thales Macedo Garitezi 86278c99a6 fix: enforce minimum refresh interval for ocsp and crl caches 2022-11-07 15:35:07 -03:00
Zaiming (Stone) Shi 51a959c3b4 Merge remote-tracking branch 'origin/release-v44' into ocsp-rv44 2022-11-07 10:18:15 +01:00
Zaiming (Stone) Shi 279046c51e Merge remote-tracking branch 'origin/release-v43' into release-v44 2022-11-03 21:58:25 +01:00
Zaiming (Stone) Shi 3667a35844 fix(emqx_relup): dialyzer 2022-11-03 19:42:09 +01:00
Thales Macedo Garitezi b71b106456 feat(special_authn): set hook priority 2022-11-03 13:30:32 -03:00
Thales Macedo Garitezi f0a5208f3c fix(dialyzer): fix dialyzer warning about unmatched value 2022-11-03 11:20:24 -03:00
Thales Macedo Garitezi e53cf17e4c chore: export internal functions for ad-hoc debugging 2022-11-03 10:43:14 -03:00
Thales Macedo Garitezi f29ba06316 docs: fix copyright headers 2022-11-03 10:42:56 -03:00
Thales Macedo Garitezi 915504c694 chore(appup): update appups 2022-11-03 10:35:57 -03:00
Thales Macedo Garitezi af4141bef4 chore(oscp_crl): port OCSP and CRL features to CE repo (re4.4) 2022-11-03 10:10:16 -03:00
Zaiming (Stone) Shi 5bba281c2b chore(appup): ensure emqx module is reloaded 2022-11-03 12:45:16 +01:00
Zaiming (Stone) Shi fbc06b3dc6 chore(emqx.erl): sync changes from ee 2022-11-03 12:43:22 +01:00
Zaiming (Stone) Shi 21ebe3d50c chore: sync changes from ee 2022-11-03 12:42:32 +01:00
Zaiming (Stone) Shi 6f575aedd9 chore: sync emqx_relup to ce 2022-11-03 12:38:32 +01:00
Zaiming (Stone) Shi d25b614a93 Merge remote-tracking branch 'origin/release-v43' into release-v44 2022-11-03 11:43:50 +01:00
JimMoen 51c532546c
feat: options for trigger disconnected events by different reasons 2022-11-03 16:43:34 +08:00
Zaiming (Stone) Shi e0db524a10 refactor: change the format of auth_order and acl_order configs 2022-11-02 11:49:55 +01:00
Ilya Averyanov 52652f6c96 feat(hooks): add config options to set explicit callback order 2022-11-01 19:39:52 +01:00
Zaiming (Stone) Shi 4a020d0e1a Merge remote-tracking branch 'origin/release-v43' into release-v44 2022-10-28 14:35:56 +02:00
Zaiming (Stone) Shi 4614167488
Merge pull request #9234 from savonarola/update-emqx-cm
chore(cm): sync emqx_cm with ee
2022-10-28 14:09:06 +02:00
Zaiming (Stone) Shi 7b9d943c33 chore: update appup 2022-10-27 20:19:05 +02:00
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