JianBo He
85aa120b06
Merge branch 'release-v43' into release-v44
2022-10-11 10:24:22 +08: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
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
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
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
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
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
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
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
940ceb570d
Merge branch 'main-v4.4' into copy-of-main-v4.3
2022-08-19 10:53:48 +08:00
firest
b02a3b9429
fix(channel): Adjust the timing of the `client.connected` event
2022-08-15 14:10:19 +08:00
Ilya Averyanov
a19fbe214f
feat(node_rebalance): implement node evacuation and rebalancing
2022-08-13 11:32:14 +03: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
firest
7084e510d6
feat(exclusive): refactor the implementation
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
Shawn
ca842aa869
fix: merge main-v4.3 to main-v4.4
2022-05-23 11:23:27 +08:00
JimMoen
9435fe0bb9
refactor(metrics): more understandable auth metrics
...
`client.auth.success`/`client.auth.failure`
`client.auth.success.anonymous`
2022-05-20 17:48:41 +08:00
zhongwencool
761436c967
fix: don't allow empty username if username_as_clientid is true
2022-05-05 10:50:53 +08:00
JimMoen
6168745f90
chore: update copyright
2022-04-14 11:23:25 +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
JimMoen
31b006a0d1
fix(frame): `server_keepalive` only for MQTT v5.0
2022-02-21 18:46:53 +08: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
9f7f5070b2
fix(channel): update the calls to emqx_session APIs
2022-01-13 13:33:27 +08:00
Shawn
9434c0fa6c
feat(hook): new emqx hook 'delivery.dropped'
2022-01-12 18:34:20 +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
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
JianBo He
c9d39b4d35
chore(channel): remove redundant logs
...
Multiple sock_closed events may be generated,
so we need to allow sock_closed events to be reentrant
2021-11-01 18:17:38 +08:00
Tobias Lindahl
90529e18c6
fix: including subscription id keeps correct return code for qos > 0
...
When subscription id is set, the return code was set to 0 rather than
the provided qos number due to earlier fix of acl check order.
2021-06-03 10:44:13 +02:00
Turtle
e8790f6e11
fix(mqtt-sn): Fix stop due to keepAlive at sleep mode
2021-05-21 19:22:32 +08:00
Zaiming Shi
6354e75626
chore: update copyrights
2021-04-23 20:43:00 +02:00
Shawn
327b0c0995
fix(mqtt_sn): send pingresp until all pubacks received
2021-04-10 09:36:56 +08:00
wwhai
2e30d7803f
fix(channel): fix `keep-alive` problem
2021-03-30 16:01:42 +08:00
Shawn
7bf6ee0f4b
fix(mqtt-sn): sleep mode not working #4434 ( #4435 )
2021-03-29 17:51:49 +08:00
Zaiming Shi
6c77fa1bf7
fix(emqx_channel): Receive Maximum spec compliance
...
According to MQTT 5.0 specification
If the Receive Maximum value is absent then its value defaults to
65,535.
2021-03-29 09:42:07 +02:00
Zaiming Shi
b10a60cddb
fix(conninfo): Ensure receive_maximum do not exceed limit
2021-03-29 09:42:07 +02:00
zhanghongtong
72c1ee264c
chore(elvis): fix elvis error
2021-03-19 16:11:23 +08:00
zhanghongtong
568f4de6e5
fix(channel): fix the wrong acl check order
...
when subscribe, check the acl rule before run 'client.subscribe' hooks
2021-03-19 16:11:23 +08:00
z8674558
3daefe954b
chore(src): fix elvis
2021-03-03 20:06:31 +09:00
z8674558
a8558bc7b5
chore(emqx_channel): ignore peer_cert_as/5 from dialyzer
2021-03-03 20:06:31 +09:00
zhanghongtong
cae0849152
fix(emqx_channel): fix bug when publish deny
...
fix the bug of replying to puback when the publish message with Qos equal to 2 is deny
2021-03-02 17:54:22 +08:00
Zaiming Shi
3dfa9f45c4
Merge pull request #4183 from zmstone/merge-e4.2.4-to-dev-4.3.0
...
Merge e4.2.4 to dev 4.3.0
2021-02-19 10:26:47 +01:00
Benjamin Große
28f9b4d519
feat(peer_cert_as_clientid): peer_cert_as_clientid = cn | dn | crt | pem | md5
...
pem is base64 encoded instead of binary crt
peer_cert_as_username=crt breaks exhook proto utf8 parsing of username
crt cannot be used in a topic name due to being invalid utf8
pem cannot be used in a topic name due to having slashes
peer_cert_as_clientid = md5 allows to e.g. subscribe to "t/%c" with ACL
existing peer_cert_as_username combinations are unaffected.
2021-02-19 10:53:11 +08:00
Zaiming Shi
9b82112b7c
Merge remote-tracking branch 'origin/dev/e4.3.0' into merge-e4.2.4-to-dev-4.3.0
2021-02-13 11:10:08 +01:00