Commit Graph

8490 Commits

Author SHA1 Message Date
Andrew Mayorov
daf4e86da1
feat(ds): add ensure_shard/2 shortcut
And use it in `emqx_persistent_session_ds:init()` backend initialization
function.
2023-07-07 21:56:20 +02:00
Andrew Mayorov
ac56de9fc5
feat(ds): allow to redefine directory for shard's rocksdb 2023-07-07 21:56:20 +02:00
Ilya Averyanov
19f9fc5089 feat(authz): bump app versions 2023-07-07 19:41:34 +03:00
Ilya Averyanov
77895f2555 feat(authz): fix typos and style for Retain & QoS authz feature
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-07-07 19:40:34 +03:00
Ilya Averyanov
6db02d6b49 feat(authz): enable feature for both CE and EE 2023-07-07 19:40:34 +03:00
Ilya Averyanov
1ce6a225ae feat(authz): add tests for authz extended actions 2023-07-07 19:40:34 +03:00
Ilya Averyanov
7de26a1776 feat(authz): use extensible map format for actions in authz rules
* support authorization on retain, qos fields
* refactored authz tests heavily
2023-07-07 19:40:34 +03:00
Ilya Averyanov
b568bda098 feat(ft-api): simplify config import test 2023-07-07 19:39:05 +03:00
Thales Macedo Garitezi
6337f52cf9 fix(plugins): start/stop plugins when loading config from CLI
Fixes https://emqx.atlassian.net/browse/EMQX-10288
2023-07-07 13:37:51 -03:00
Ilya Averyanov
56c81c2c25 feat(ft-api): bump app versions 2023-07-07 19:17:22 +03:00
Ilya Averyanov
e0353ab750 fix(ft-api): update FT API tests to use emqx_cth_suite 2023-07-07 19:15:42 +03:00
Ilya Averyanov
fde506838a fix(ft-api): implement import config behaviour 2023-07-07 19:15:42 +03:00
Ilya Averyanov
fe691e8330 fix(ft-api): fix swagger schema dump for ft schema 2023-07-07 19:15:42 +03:00
Ilya Averyanov
a2eb658cd9 feat(ft-api): do cleanup certs explicitly 2023-07-07 19:15:42 +03:00
Andrew Mayorov
a2b03716be feat(ft-api): provide configuration API
To configure `emqx_ft` during the runtime.
2023-07-07 19:15:42 +03:00
Andrew Mayorov
34793c5ed0 feat(ft-conf): preprocess TLS configuration on updates
Specifically, reify keys and certificates into files in the file system
and update the configuration to point to those files.
2023-07-07 19:15:42 +03:00
Andrew Mayorov
27ab9c62d8 fix(ft): unload conf hooks in prep_stop
In order to avoid situations when the root supervisor is stopped
already.
2023-07-07 19:15:42 +03:00
Ilya Averyanov
aba52c6a25 chore(rebalance test): fix API tests 2023-07-07 18:04:32 +03:00
Ilya Averyanov
9bb159cf1e fix(rebalance): fix changelog and version 2023-07-07 18:04:11 +03:00
zhongwencool
5b1c265485
Merge pull request #11224 from zhongwencool/fix-psk-conf-load
fix: psk_authentication is updated failed
2023-07-07 21:27:49 +08:00
Ilya Averyanov
a6019a2846
Merge pull request #11198 from savonarola/0705-fix-rebalance-swagger
fix(rebalance): fix rebalance swagger examples
2023-07-07 15:55:16 +03:00
lafirest
70bd7a59e4
Merge pull request #11225 from lafirest/fix/pgsql_function_clause
fix(bridge): ensure the username of pgsql must exists
2023-07-07 20:39:07 +08:00
zhongwencool
8b80a2f754
Merge pull request #11192 from zhongwencool/bump-hocon-to-0.39.13
chore: update hocon to 0.39.13
2023-07-07 20:02:46 +08:00
zhongwencool
0ef00d5919 fix: psk_authentication is updated failed 2023-07-07 20:02:06 +08:00
Andrew Mayorov
97b6c43062
fix(ft-test): use new cth tooling in emqx_ft_storage_fs_SUITE
In attempt to battle test flakiness.
2023-07-07 14:00:33 +02:00
Andrew Mayorov
7e76914599
feat(ds): hardwire emqx_durable_storage message persistence
Only message persistence is currently implemented, irrespectively of
whether there are persistent sessions around or not.
2023-07-07 13:46:12 +02:00
firest
d01eee7fe4 chore: update changes && app version 2023-07-07 18:22:54 +08:00
firest
8cee75139d fix(bridge): ensure the username of pgsql must exists 2023-07-07 18:06:28 +08:00
Stefan Strigler
055a1e8d75
Merge pull request #11210 from sstrigler/EMQX-9569-provide-the-ce-ee-version-info-and-the-current-version-number-in-the-info-field
feat(emqx_dashboard): include edition and version in swagger.json info
2023-07-07 11:55:44 +02:00
zhongwencool
b5cc8fb3c3 fix: start_after_created's default value 2023-07-07 16:39:26 +08:00
zhongwencool
352d818e3b chore: update hocon to 0.39.13 2023-07-07 16:39:26 +08:00
JimMoen
88fd8d0582
Merge pull request #11219 from JimMoen/fix-hstreamdb-deps-app
chore: hstreamdb_erl as deps for hstreamdb bridge
2023-07-07 16:39:12 +08:00
JianBo He
2f33fd9bac
Merge pull request #11208 from HJianBo/update-lwm2m-stats
fix(lwm2m): update the stats correctly and timely
2023-07-07 15:32:50 +08:00
JianBo He
daa6cf14fe
Merge pull request #11206 from HJianBo/coap-bugs
Fix(coap): Make the username and password params to optional
2023-07-07 15:32:00 +08:00
zhongwencool
ab07fd0547
Merge pull request #11214 from zhongwencool/fix-cluster-rpc-call-tnx-id
fix: bad tnx-id when rejoin cluster
2023-07-07 15:08:06 +08:00
JimMoen
63c6427037
chore: hstreamdb_erl as deps for hstreamdb bridge 2023-07-07 14:50:44 +08:00
JimMoen
30c931ae62
fix: pulsar flaky cluster tests 2023-07-07 12:25:37 +08:00
JimMoen
4ee44972b2
feat: refactor hstreamdb connector to to avoid resources leaking 2023-07-07 12:25:37 +08:00
JimMoen
b089fba100
refactor: rm ee_bridge and ee_connector application 2023-07-07 12:25:37 +08:00
JimMoen
583ccfaafd
test(hstreamdb): create stream and wirte data 2023-07-07 12:25:36 +08:00
JimMoen
1587f038a5
feat: hstreamdb bridge with batch query 2023-07-07 12:25:36 +08:00
JimMoen
b9bfdfd583
chore: compatibility with hstreamdb v0.15.0 2023-07-07 12:25:36 +08:00
JimMoen
d31a305bcb
refactor(hstreamdb): HStreamDB bridge to its own application 2023-07-07 12:25:36 +08:00
zhongwencool
f7513b900a fix: set load config done after update tnx_id 2023-07-07 12:25:34 +08:00
zhongwencool
9f57ba510e chore: add 11214 changelog 2023-07-07 12:25:34 +08:00
zhongwencool
221f6eba06 fix: bad tnx-id when rejoin cluster 2023-07-07 12:25:34 +08:00
JianBo He
d3d2c8a532 chore(lwm2m): bump version 2023-07-07 12:24:31 +08:00
JianBo He
31a240ba63 fix(lwm2m): update the stats correctly and timely 2023-07-07 12:24:31 +08:00
JianBo He
791b8ef671 chore: bump versions 2023-07-07 12:23:57 +08:00
JianBo He
6d2222318d chore(coap): update the subscriptions_cnt stats in time 2023-07-07 12:23:57 +08:00
JianBo He
800b154582 test(coap): cover the params optional logic to create connection 2023-07-07 12:23:57 +08:00
JianBo He
5c901a52bd fix(coap): make username/password optinal in connection 2023-07-07 12:23:57 +08:00
JianBo He
ab809c8b85
Merge pull request #11207 from lafirest/feat/keep_obfuscated
feat: ensure data backends don't leak sensitive data
2023-07-07 12:22:11 +08:00
JianBo He
b11fa5f3bf
Merge pull request #11195 from HJianBo/stomp-topic-id-unique
Fix(stomp): avoid to create duplicated subscription by HTTP or Client
2023-07-07 11:18:30 +08:00
firest
a1d2b2ca51 chore: bump app versions 2023-07-07 11:17:54 +08:00
firest
18dec53d8b feat: ensure data backends don't leak sensitive data 2023-07-07 11:04:13 +08:00
JianBo He
05048dbf93
Merge pull request #11204 from HJianBo/avoid-case-clause
Allow the `*/*` or multiple `Accept` values in header for the `/configs`  API
2023-07-07 09:46:28 +08:00
Stefan Strigler
8faaa86c07 chore: bump vsn for emqx and emqx_bridge 2023-07-06 14:26:11 +02:00
Stefan Strigler
22b25fbbb3 feat(emqx_dashboard): include edition and version in swagger.json info 2023-07-06 14:14:21 +02:00
Thales Macedo Garitezi
353cc065db
Merge pull request #11175 from thalesmg/fix-mysql-start-error
fix(mysql_bridge): make nxdomain a 400 API error
2023-07-06 08:26:12 -03:00
Stefan Strigler
9bcabe0a9e
Merge pull request #11184 from sstrigler/EMQX-10270-e-5-1-0-missing-value-range-validation-for-the-max-packet-size-of-mqtt-settings
fix: limit mqtt max_packet_size to 256MB
2023-07-06 10:20:24 +02:00
JianBo He
71d1f80530 test(api): cover the accept logic for /configs API 2023-07-06 11:30:38 +08:00
JianBo He
966b2affc2 chore: allow handle */* or multiple values in Accept headers 2023-07-06 10:53:07 +08:00
SergeTupchiy
1a79e34510
Merge pull request #11202 from SergeTupchiy/fix-rule-type-acl-conf
chore(emqx_authz): fix `rule()` type example
2023-07-05 21:02:36 +03:00
Serge Tupchii
4dfd3421e7 chore(emqx_authz): fix rule() type example
Use `action()` type which is a correct and defined type.
2023-07-05 20:24:26 +03:00
Ilya Averyanov
9af0030538 chore: bump to v5.1.1 2023-07-05 18:43:45 +03:00
Ilya Averyanov
f174cb656c fix(rebalance): fix swagger examples in api-doc 2023-07-05 15:38:41 +03:00
Ilya Averyanov
dca6fe6200 fix(rebalance): fix global status evaluation on replicant nodes 2023-07-05 12:48:44 +03:00
JianBo He
aaf015c06f test(stomp): cover subscription in use 2023-07-05 15:22:44 +08:00
lafirest
bf5167a8bf
Merge pull request #11172 from lafirest/fix/dup_payload
fix(ruleengine): fix duplicate `payload` problems
2023-07-05 14:20:26 +08:00
JianBo He
0483c6afef fix(stomp): not allow to create same subscriptions 2023-07-05 14:13:25 +08:00
Stefan Strigler
263890be47 fix: limit mqtt max_packet_size to 256MB 2023-07-04 16:03:11 +02:00
Andrew Mayorov
8cc7022760
Merge pull request #11120 from ft/EMQX-10329/tooling
test: add tooling to make testruns more isolated and predictable
2023-07-04 14:36:39 +02:00
Ilya Averyanov
0bd0a16693
Merge pull request #11039 from savonarola/0613-fix-redis-db-schema
fix(redis): validate database number
2023-07-04 15:32:02 +03:00
zhongwencool
f2c5f4932c
Merge pull request #11148 from lafirest/fix/mcall_error_report
fix(emqx_conf): don't sync the MFA to a leaved node
2023-07-04 19:56:52 +08:00
Andrew Mayorov
9ed75085b7
chore: drop dead commented out code 2023-07-04 13:20:04 +02:00
Andrew Mayorov
c7ba300efc
fix(cthsuite): use correct type for "smth serializable as HOCON" 2023-07-04 13:20:04 +02:00
Andrew Mayorov
d568d43fe4
test(bridge): switch emqx_bridge_api_SUITE to use new tooling 2023-07-04 13:20:03 +02:00
Andrew Mayorov
fc709a14cc
test: switch emqx_authz_file_SUITE to use new tooling 2023-07-04 13:20:03 +02:00
Andrew Mayorov
2c50e61cee
fix(cth): reduce amount of logging + streamline logging
Also make sure that code running on `emqx_cth_cluster` nodes don't
crash when using `ct:pal` and friends.
2023-07-04 13:20:03 +02:00
Andrew Mayorov
9bda4192e5
fix(cthsuite): disable default acl.conf authz source
So that users of `emqx_cth_suite` won't have to deal with providing
correct filepath each time they start `emqx_conf` and/or `emqx_authz`
up.
2023-07-04 13:20:03 +02:00
Andrew Mayorov
24a16ea247
fix(cthsuite): bump to hocon 0.39.11 with atom prettyprint fix 2023-07-04 13:20:03 +02:00
Andrew Mayorov
6a7254f55e
fix(cthcluster): match correct driver in stop_node/2
Co-authored-by: Ilya Averyanov <av@rubybox.dev>
2023-07-04 13:20:02 +02:00
Andrew Mayorov
fe0b8cfbaf
test(conf): respect init_config_load_done in emqx_conf itself
This should make task of configuring various applications (emqx_conf
/ emqx) during testsuites setup much simpler.
2023-07-04 13:20:02 +02:00
Andrew Mayorov
f76f3b77d7
test: add tooling to make testruns more isolated and predictable
Also showcase their usage in some of the existing testsuites.
2023-07-04 12:53:39 +02:00
firest
afabdc3440 fix(emqx_conf): call clean callback before ekka stop 2023-07-04 18:04:33 +08:00
zhongwencool
d509c47344 feat: add conf load api 2023-07-04 14:17:11 +08:00
Kjell Winblad
33cb29efdb
Merge pull request #11169 from kjellwinblad/kjell/improved_sparkplugb/EMQX-10351
feat: add Sparkplug encode and decode functions to the rule engine
2023-07-04 07:24:06 +02:00
Ilya Averyanov
9701c3f7a1 fix(redis): validate database number 2023-07-03 22:44:54 +03:00
Andrew Mayorov
a127fd6571
Merge pull request #11183 from keynslug/perf/EMQX-9591/routing
perf(broker): avoid usorting aggregated routes in a loop
2023-07-03 19:16:25 +02:00
Thales Macedo Garitezi
2cc0ba1217
Merge pull request #11174 from thalesmg/make-rule-server-a-binary
fix(mqtt_bridge): ensure `server` key is a binary
2023-07-03 10:38:39 -03:00
Thales Macedo Garitezi
59d71a1147
Merge pull request #11173 from thalesmg/fix-flaky-gcp-consu-test
test(gcp_consumer): attempts to reduce flakiness
2023-07-03 10:04:31 -03:00
Andrew Mayorov
0f25df3aa8
perf(router): employ maps:foreach/2 instead 2023-07-03 15:01:47 +02:00
Andrew Mayorov
57da71eb1d
perf(broker): avoid usorting aggregated routes in a loop 2023-07-03 15:01:33 +02:00
firest
902603780b test(ruleengine): add test for the fix of duplicate payload 2023-07-03 18:22:35 +08:00
firest
bd4f207365 fix(ruleengine): fix duplicate payload problems 2023-07-03 14:21:56 +08:00
Thales Macedo Garitezi
c216dfd96b fix(mysql_bridge): make nxdomain a 400 API error
Fixes https://emqx.atlassian.net/browse/EMQX-10460
2023-06-30 16:10:09 -03:00
Stefan Strigler
07cf250093
Merge pull request #11126 from sstrigler/EMQX-8842-fix-rule-metrics
fix(emqx_rule_engine): set inc_action_metrics as async_reply_fun
2023-06-30 20:07:23 +02:00
Thales Macedo Garitezi
425eba8b13 fix(mqtt_bridge): ensure server key is a binary
Fixes https://emqx.atlassian.net/browse/EMQX-10461

So that it can be JSON encoded correctly.

```
2023-06-30T02:00:41.160110+00:00 [debug] msg: publish_to, mfa: emqx_trace:publish/1, line: 73, topic: b/$, payload: {"topic":"t/1","server":[49,48,46,52,50,46,51,46,49,56,48,58,49,56,56,51],"retain":false,"qos":1,"pub_props":{},"payload":"{\"msg\": \"hello\"}","message_received_at":1688090441159,"id":"0005FF4F2F181488103417000C2E0000","dup":false}, tag: PUBLISH
```
2023-06-30 13:46:24 -03:00
Thales Macedo Garitezi
6fe6aa7997
Merge pull request #11162 from thalesmg/treat-404-as-failure-master
fix(webhook): treat 404 and other error replies as errors in async requests
2023-06-30 13:13:18 -03:00