Commit Graph

10612 Commits

Author SHA1 Message Date
JianBo He b16920e796
Merge pull request #12285 from HJianBo/shorten-coap-params
feat(coap): support short param names
2024-01-11 09:09:09 +08:00
SergeTupchiy 8bea0711ac
Merge pull request #12196 from SergeTupchiy/EMQX-10891-route-cleanup-optimization
EMQX-10891 route cleanup optimization
2024-01-10 17:26:24 +02:00
Thales Macedo Garitezi 8532e0cf59
Merge pull request #12292 from thalesmg/fix-syskeeper-v2-only-m-20240110
fix(syskeeper_bridge): mark syskeeper forwarder as a v2-only action
2024-01-10 11:42:24 -03:00
Serge Tupchii 965ce5d446 perf: use mria:match_delete/2 to cleanup routes
This must be much more network efficient since both Mria and Mnesia
need only to replicate one op, e.g.: `{MatchPattern, clear_table}`
instead of replicating one per each key to be deleted.
2024-01-10 16:23:58 +02:00
Serge Tupchii febaaefc38 chore: upgrade ekka to 0.18.1 (mria 0.8.1)
Mria 0.8.1 release implements `mria:match_delete/2` function
2024-01-10 16:23:58 +02:00
Thales Macedo Garitezi b395924569
Merge pull request #12283 from thalesmg/fix-gcp-pubsub-produ-resopts-m-20240109
fix(gcp_pubsub_producer): fix connector `resource_opts` schema
2024-01-10 11:08:39 -03:00
Zaiming (Stone) Shi 7c8a36fc06
Merge pull request #12289 from zmstone/0108-support-acl-cache-masks
0108 support acl cache excludes
2024-01-10 13:40:29 +00:00
Andrew Mayorov 8d61f4665a
Merge pull request #12291 from keynslug/fix/bump-hocon-0.44.4
fix(conf): bump to hocon 0.40.4
2024-01-10 14:32:17 +01:00
Zaiming (Stone) Shi 1d46175a7d
Merge pull request #12286 from lafirest/fix/iotdb_enum
fix(iotdb): improve the schema by gathering atoms into enums
2024-01-10 13:25:53 +00:00
Thales Macedo Garitezi b69fc9af15 fix(gcp_pubsub_producer): fix connector `resource_opts` schema
Fixes https://emqx.atlassian.net/browse/EMQX-11703
2024-01-10 10:13:11 -03:00
Thales Macedo Garitezi 787f952ad8 fix(syskeeper_bridge): mark syskeeeper as a v2-only action
Fixes https://emqx.atlassian.net/browse/EMQX-11706
2024-01-10 10:09:51 -03:00
Zaiming (Stone) Shi 6fcb2fdb05 test: fix test case flakyness 2024-01-10 13:52:00 +01:00
Zaiming (Stone) Shi 9e8a67fd68 feat: support authz cache exclusion config
now one can configure a list of topic-filters to avoid
caching ACL check results

for example

authorization.cache.excludes = ["nocache/#"]

this means ACL check results for topics having 'nocache/' prefix
will not be cached
2024-01-10 13:52:00 +01:00
lafirest a1e86454e1
Merge pull request #12287 from lafirest/fix/sysk
fix(sysk): fix errors of proxy schema
2024-01-10 20:47:47 +08:00
Andrew Mayorov 8af9512a90
test(ft-conf): verify undefined password won't become `******` 2024-01-10 13:35:49 +01:00
Andrew Mayorov ff2fb95e5d
fix(conf): bump to hocon 0.40.4
Which includes a bugfix for undefined sensitive values obfuscation.
2024-01-10 13:09:08 +01:00
Thales Macedo Garitezi 6d3c397be8
Merge pull request #12282 from thalesmg/fix-mysql-del-action-m-20240109
fix(mysql_bridge): allow deleting bridge when sql contains undefined fields
2024-01-10 09:03:19 -03:00
William Yang 8cd99cb0c8
Merge pull request #12274 from qzhuyan/dev/william/quic-listn-conf-reload
feat: quic listener conf reload
2024-01-10 11:52:52 +01:00
firest 423607bf88 fix(sysk): fix errors of proxy schema 2024-01-10 17:53:55 +08:00
JianBo He 3038ded59e chore: make static_check happy 2024-01-10 17:53:39 +08:00
firest b29fd486af fix(iotdb): improve the schema by gathering atoms into enums 2024-01-10 15:12:42 +08:00
JianBo He 64613c6f0c feat(coap): support short param names
see: https://github.com/emqx/emqx/issues/10089
2024-01-10 14:52:59 +08:00
zhongwencool 3706c701fe
Merge pull request #12269 from HJianBo/return-detailed-error-message
chore: improve the error message if the parameter invalid
2024-01-10 14:02:59 +08:00
JianBo He 7b211b5a23
Merge pull request #12276 from lafirest/fix/iotdb_schema
fix(iotdb): improve the schema for IotDB
2024-01-10 10:21:01 +08:00
JianBo He 6ab8e31db0 test: fix failed tests 2024-01-10 09:53:22 +08:00
JianBo He da0307faa9 chore: update apps/emqx_management/src/emqx_mgmt_api_clients.erl
Co-authored-by: William Yang <mscame@gmail.com>
2024-01-10 09:52:27 +08:00
JianBo He f45298d14a chore: improve the error message if the parameter invalid 2024-01-10 09:52:27 +08:00
lafirest 3d7264c9ef
Merge pull request #12278 from lafirest/fix/limit
fix(api): adjust the maximum limit of page query to 10,000
2024-01-10 09:42:46 +08:00
JianBo He adcda51eff
Merge pull request #12277 from HJianBo/feat-delete-delayed-messages-via-topic
feat: support to delete delayed messages via topic name
2024-01-10 09:05:19 +08:00
firest 4e046eaa3d chore: bump version && update changes 2024-01-10 06:58:01 +08:00
Thales Macedo Garitezi abd4873091 fix(mysql_bridge): allow deleting bridge when sql contains undefined fields
Fixes https://emqx.atlassian.net/browse/EMQX-11655
2024-01-09 17:25:34 -03:00
Thales Macedo Garitezi d0588b86b5 fix(mysql_bridge): check prepare statement error messages
Fixes https://emqx.atlassian.net/browse/EMQX-11648
2024-01-09 17:25:34 -03:00
Zaiming (Stone) Shi 98e94d8619 docs: fix typo in comments 2024-01-09 19:16:55 +01:00
William Yang 2201dec2f4 feat(quic): 3s cutoff time for fast_close 2024-01-09 17:29:28 +01:00
William Yang 2483a4ecff feat(quic): support listener config reload 2024-01-09 17:29:25 +01:00
firest d1234e3f75 fix(api): adjust the maximum limit of page query to 10,000 2024-01-09 16:43:33 +08:00
William Yang 973f40041d chore: bump 0.0.311 2024-01-09 09:35:03 +01:00
firest 2bf7ac00a0 fix(iotdb): improve the schema for IotDB 2024-01-09 16:29:10 +08:00
lafirest cc00dd80ee
Merge pull request #12272 from lafirest/feat/retain
feat(retain): add two new endpoints for retain API
2024-01-09 15:59:42 +08:00
JianBo He 9ce96bafa3 feat: support to delete delayed messages via topic name 2024-01-09 15:06:06 +08:00
lafirest add1368f5d
Merge pull request #12270 from lafirest/fix/syskeeper
fix(sysk): improve the seakeeper schema
2024-01-09 14:41:42 +08:00
firest 23e9ed763e chore: bump version && update changes 2024-01-09 10:20:54 +08:00
zhongwencool 7365160eeb
Merge pull request #12275 from thalesmg/sync-r54-m-20240108
sync r54 into master
2024-01-09 10:05:06 +08:00
Thales Macedo Garitezi 7763b0fd34 chore: bump app vsns 2024-01-08 17:42:56 -03:00
Thales Macedo Garitezi 756980837c Merge branch 'release-54' into sync-r54-m-20240108 2024-01-08 17:39:42 -03:00
ieQu1 caf461fdf6 fix(ds): Don't start the supervision tree when feature is not in use 2024-01-08 17:59:19 +01:00
firest c180325e0a feat(retain): add two new endpoints for retain API 2024-01-08 19:11:43 +08:00
firest 714abaf73b chore: bump syskeeper version 2024-01-08 15:47:39 +08:00
firest 2fb1569363 fix(sysk): improve the seakeeper schema 2024-01-08 15:25:56 +08:00
zhongwencool ec34b6f41d refactor: remove redis_type from redis action 2024-01-08 15:09:37 +08:00
zhongwencool 3404f39fd2 chore: remove redundant redis action swagger example 2024-01-08 10:45:54 +08:00
lafirest 7f57ec47d5
Merge pull request #12261 from lafirest/fix/iotdb
feat(iotdb): improve the IoTDB bridge to v2 style
2024-01-08 09:46:07 +08:00
firest 6f4b22e376 test(iotdb): add template test case for IoTDB 2024-01-06 21:32:37 +08:00
firest d221f34ce8 chore: bump version && update changes 2024-01-06 13:34:07 +08:00
firest e20b024b6e fix(iotdb): fix iotdb testcases 2024-01-06 13:01:43 +08:00
Andrew Mayorov 803529968e
test(s3): fix httpc ssl opts 2024-01-05 19:35:13 +01:00
Ivan Dyachkov 06117c3a33 Merge remote-tracking branch 'upstream/release-54' into 0105-sync-r54 2024-01-05 14:20:38 +01:00
Ivan Dyachkov d04ac08d1d chore: release 5.4.1 2024-01-05 11:48:28 +01:00
firest d16458ccd0 feat(iotdb): improve the IoTDB bridge to v2 style 2024-01-05 16:54:31 +08:00
yr 37feeed560 fix: judgment condition always failure 2024-01-05 14:23:15 +08:00
Xinyu Liu da3937b80e
Merge pull request #12247 from emqx/split_influxdb_connector_actions
refactor: split influxdb bridges to actions and connectors
2024-01-05 14:07:35 +08:00
Shawn 2f08471303 fix: cannot found desc for influxdb_parameters 2024-01-05 11:59:13 +08:00
Shawn 9714092525 fix: fix: update more influxdb testcases 2024-01-05 11:20:27 +08:00
Andrew Mayorov 304fe84434
fix(mysql): expect password may be missing from config 2024-01-04 15:16:27 +01:00
Shawn 8ebd233a46 chore: update influxdb-erl to 1.1.12 2024-01-04 10:20:52 +08:00
zhongwencool 90404b62a4 fix: incorrectly attempt to update the field value when the previous field don't have value 2024-01-04 10:12:34 +08:00
Shawn 19e2ec9748 fix: update influxdb testcases 2024-01-03 18:39:29 +08:00
zhongwencool 00e8a36dbe fix: the API prompt garbled characters for updating the configuration 2024-01-03 15:34:45 +08:00
JianBo He 57c0a7c5ef
Merge pull request #12235 from zhongwencool/ft-config-update-api
fix: ft config update api return raw config
2024-01-03 14:07:22 +08:00
Ivan Dyachkov d4c83cf463 chore: tag 5.4.1-alpha.1 2024-01-02 14:37:45 +01:00
Shawn 904bd0270f chore: bump app versions 2024-01-02 18:04:06 +08:00
Shawn 7c7a0b2172 refactor: split influxdb bridges to actions and connectors 2024-01-02 18:01:22 +08:00
Andrew Mayorov a87df28dfc
Merge pull request #12243 from keynslug/fix/EMQX-11483/route-async-repl
fix(router): rely on local sync state updates to propagate routes
2023-12-29 16:31:00 +01:00
Andrew Mayorov 5c91984ad7
chore: leave comment describing need for tighter synchronization 2023-12-29 14:04:48 +01:00
Ilya Averyanov 9e0f3ce53b feat(ds): restore original add_generation/update_db_config callback semantics 2023-12-29 13:12:15 +03:00
JimMoen 5e100f52b8
style: erlfmt all `rebar.config` files and `bin/nodetool` 2023-12-29 09:08:03 +08:00
JimMoen a3f33cc8bc
chore: fix typos in code and suite 2023-12-29 09:07:51 +08:00
JimMoen ed10827343
docs: README spell 2023-12-29 09:07:25 +08:00
Andrew Mayorov b9627c420f
fix(router): rely on local sync state updates to propagate routes
Instead of (potentially lagging) global table state itself. Local
state should be the only source of truth anyway. Moreover,
synchronize parts of local state update logic through the broker
pool to ensure consistency.

The problem was that `emqx_router:has_route/2` check may observe a
stale route, which deletion is not yet replicated from the core node
to the local replicant node.

For example:
1. The only one subscriber per a given topic A unsubscribes from
   a replicant node.
2. The route to A is deleted by the emqx_broker.
3. Mria makes RPC to a core node, it succeeds and returns.
4. The client resubscribes or another client subscribes to the same
   topic A.
5. emqx_broker tries to add a route again:
   `emqx_router:do_add_route(Topic)`.
6. `emqx_router` checks if the route is present.
7. The stale route is present because deletion not replicated yet,
   so no route is being added.
8. Route deletion is replicated locally but it's too late:
   we already have a local subscriber without a route.

Co-Authored-By: Serge Tupchii <serge.tupchii@protonmail.com>
2023-12-28 19:16:31 +01:00
Andrew Mayorov 331bfaa535
fix(broker): avoid reclaiming per-topic counter twice 2023-12-28 17:43:50 +01:00
Andrew Mayorov a8cd609ff4
chore(broker): simplify subscribe code path 2023-12-28 17:43:42 +01:00
Zaiming (Stone) Shi 2b61f5290d
Merge pull request #12236 from zmstone/1227-ensure-short-mqtt-bridge-clientid
fix(bridge/mqtt): ensure short clientid
2023-12-28 16:06:09 +01:00
zhongwencool a6acebb4aa
Merge pull request #12240 from zhongwencool/ft-api-e-541
fix: return raw config when update ft's config
2023-12-28 22:25:22 +08:00
Andrew Mayorov 18dc9b2516
fix(s3): remove `emqx_bridge_http` from runtime dependencies
Otherwise it's impossible to test `emqx_s3` in isolation.
2023-12-28 14:13:22 +01:00
Andrew Mayorov 1d9374125c
chore: bump `emqx_s3` to 5.0.13 2023-12-28 14:12:33 +01:00
Andrew Mayorov 33ef964582
fix(s3): handle extra configured headers correctly
* Header names in config become atoms.
  (Probably because of blanket `unsafe_atom_key_map/1` in `emqx_config`)
* Header names should be normalized to lowercase.
  (Otherwise signature will be incorrect)
2023-12-28 13:55:05 +01:00
Zaiming (Stone) Shi 4669c4d552 fix(bridge/mqtt): ensure short clientid
Some mqtt brokers do not allow long client IDs.
To make it compatible with this limitation, this commit
tries to limit the number of bytes under 23 with a best-effort
attempt to derive it from the bridge name.
2023-12-28 11:53:27 +01:00
zhongwencool 1fd67564ce fix: return raw config when update ft's config 2023-12-28 14:49:36 +08:00
JianBo He b6391cf18c fix(bridge-http): compatible conf with the error format introduced in 5.3.2 2023-12-28 11:36:48 +08:00
zhongwencool e645fa4874 fix: ft config update api return raw config 2023-12-27 21:13:47 +08:00
Serge Tupchii 423b8b4274 fix(emqx_opentelemetry): use converter to convert legacy metrics config
HOCON converter is cleaner and safer option,
that will also work for configurations defined in emqx.conf.
Previously used `upgrade_raw_conf/1` is currently not supported in hocon_cli (used in bin/emqx).

Fixes: EMQX-11643
2023-12-27 14:15:12 +02:00
zhongwencool 711a9a06c8
Merge pull request #12221 from thalesmg/test-flaky-retry-m-20231222
test: reduce flakiness
2023-12-27 14:30:25 +08:00
zhongwencool 11feab983f fix: clean rpc_commit when force_leave cluster 2023-12-26 15:25:58 +08:00
Zaiming (Stone) Shi e421e9ce56 Merge remote-tracking branch 'origin/release-54' into 1222-sync-e5.4.0-build.2-to-master 2023-12-23 11:22:05 +01:00
Zaiming (Stone) Shi f36b842d94 chore: prepare for e5.4.0 retag 2023-12-23 11:18:19 +01:00
Zaiming (Stone) Shi 86a018d921 chore: bump app versions 2023-12-22 21:28:26 +01:00
Zaiming (Stone) Shi 9fdac4af0c Merge remote-tracking branch 'origin/master' into 1222-sync-e5.4.0-build.2-to-master 2023-12-22 21:27:27 +01:00
Thales Macedo Garitezi 890970345b test: reduce flakiness 2023-12-22 15:31:56 -03:00
Zaiming (Stone) Shi ac6e4cf2cc fix: config update for ft 2023-12-22 19:01:14 +01:00
Zaiming (Stone) Shi 733196aa83 chore: prepare for e5.4.0-build.2 2023-12-22 18:59:46 +01:00
Thales Macedo Garitezi 85963d3b45 test: restore connect timeout for test case 2023-12-22 14:10:24 -03:00
Zaiming (Stone) Shi 23ded313ec chore: update app versions 2023-12-22 15:29:22 +01:00
Zaiming (Stone) Shi 891fd972bd Merge remote-tracking branch 'origin/release-54' into 1221-prepare-bpapi-on-otp-26 2023-12-22 15:19:25 +01:00
Zaiming (Stone) Shi 5b5d4a6f68 chore: bump release version to e5.4.0-build.1 2023-12-22 14:00:12 +01:00
zhongwencool a16bce8c24 fix: deobfuscate ft's secret keys in api 2023-12-22 13:13:44 +01:00
Zaiming (Stone) Shi 20543d55ef chore: bump app vsn 2023-12-22 13:13:30 +01:00
Zaiming (Stone) Shi 322b7bb7d2 chore: bump app vsn 2023-12-22 13:00:37 +01:00
Zaiming (Stone) Shi ecc31217fd Merge remote-tracking branch 'origin/master' into 1221-prepare-bpapi-on-otp-26 2023-12-22 12:48:06 +01:00
Zaiming (Stone) Shi 17d3037a13 chore: add 5.4.bpapi 2023-12-22 12:47:41 +01:00
ieQu1 ec0693861a fix(static_checks): Prepare for OTP26 2023-12-22 12:02:30 +01:00
zhongwencool 2d5f7e0a6d
Merge pull request #12215 from thalesmg/sync-r54-m-20231221
sync r54 to master
2023-12-22 10:24:29 +08:00
Thales Macedo Garitezi 035f5f977e Merge remote-tracking branch 'origin/release-54' into sync-r54-m-20231221 2023-12-21 17:53:05 -03:00
Zaiming (Stone) Shi f4286f3208 test(gcp_pubsub): increase wait timeout and fix falt injection 2023-12-21 20:59:51 +01:00
Zaiming (Stone) Shi 36d2929534 chore: prepare for release version 5.4.0 2023-12-21 19:51:12 +01:00
Zaiming (Stone) Shi a9b1b82546
Merge pull request #12210 from keynslug/feat/EMQX-11579/schema-type-doc
feat(schema): provide type-level documentation snippets
2023-12-21 18:46:22 +01:00
Zaiming (Stone) Shi d9b3280f30
Merge pull request #12214 from zhongwencool/update-actions-connectors
fix: emqx conf ctl load failed with connectors/actions
2023-12-21 17:39:44 +01:00
Andrew Mayorov aa3f8d6735
fix(typedoc): meld it into the field doc in the meantime 2023-12-21 17:15:54 +01:00
Andrew Mayorov 85d7518a7d
feat(schema): provide type-level documentation snippets
For stuff like `duration()`, `bytesize()` and `secret()` for now.
2023-12-21 17:15:54 +01:00
zhongwencool 37930f1d3c fix: emqx conf ctl load failed with connectors/actions 2023-12-21 22:09:53 +08:00
zhongwencool 74f1ce0955
Merge pull request #12211 from zhongwencool/redis-resource-opts
fix: redis resource_opts not working
2023-12-21 22:08:41 +08:00
Thales Macedo Garitezi 18b69809da Merge branch 'release-54' into sync-r54-m-20231221 2023-12-21 10:05:13 -03:00
Thales Macedo Garitezi d898573acf
Merge pull request #12208 from thalesmg/test-yet-another-attempt-r54-20231220
test(gcp_pubsub_consumer): yet another attempt to stabilize tests
2023-12-21 09:55:33 -03:00
zhongwencool 5d1a412d0c fix: redis resource_opts not working 2023-12-21 18:29:49 +08:00
lafirest de02dd21ca
Merge pull request #12157 from lafirest/feat/dsgen
feat(ds): add an API for making new generations
2023-12-21 09:30:17 +08:00
Thales Macedo Garitezi 471877598e
Merge pull request #12209 from thalesmg/fix-schema-file-typo-r54-20231220
ci: fix typo in file name
2023-12-20 17:49:07 -03:00
Thales Macedo Garitezi aeabff41c9 ci: fix typo in file name 2023-12-20 15:39:57 -03:00
Thales Macedo Garitezi b2c82ab052 test(gcp_pubsub_consumer): yet another attempt to stabilize tests
Hopefully, should work better after https://github.com/emqx/emqx/pull/12197
2023-12-20 13:21:13 -03:00
Thales Macedo Garitezi a43f49f8fa chore: prepare to tag `5.4.0-rc.1` 2023-12-20 12:43:08 -03:00
Thales Macedo Garitezi 2b03ae8daf
Merge pull request #12205 from thalesmg/fix-list-v2-actions-in-v1-bridges-r54-20231220
fix(bridges_v1): don't list v2-only bridges in API
2023-12-20 12:37:16 -03:00
Andrew Mayorov f39af14524
Merge pull request #12180 from keynslug/fix/gw-dtls-opts
fix(gw): use more conservative set of DTLS options
2023-12-20 15:24:56 +01:00
firest 612be8e280 fix(ds): make dialyzer happy 2023-12-20 22:09:03 +08:00
Thales Macedo Garitezi b61ccf3373 fix(bridges_v1): don't list v2-only bridges in API
Fixes https://emqx.atlassian.net/browse/EMQX-11614
2023-12-20 10:46:35 -03:00
Andrew Mayorov ccb9a977d6
test(gw-authn): switch to `emqx_cth_suite` + simplify testsuite 2023-12-20 14:38:18 +01:00
Andrew Mayorov 76c89ad372
test(gw-authz): switch to `emqx_cth_suite` + simplify testsuite
Also separate DTLS related MQTT-SN test config, so that it doesn't
leak into this test suite.
2023-12-20 14:37:49 +01:00
Serge Tupchii 333709164c refactor: change mria default shard transport from 'gen_rpc' to 'distr'
Erlang distribution seems to outperform gen_rpc (unless gen_rpc clients
are scaled up, but this is not easy to achive for shard transport as it
may reorder events).
2023-12-20 15:37:00 +02:00
Andrew Mayorov 32a64cf201
fix(gw): update DTLS listener setup according to esockd 5.11.x
Also drop unnecessary UDP default options.
2023-12-20 13:59:30 +01:00
Andrew Mayorov 62bb9938e7
test(exproto): switch to `emqx_cth_suite` + fix listener options 2023-12-20 13:59:30 +01:00
firest ed38ca67d5 fix(ds): Unified the names of the `add_generation` API 2023-12-20 18:58:03 +08:00
Andrew Mayorov 5c5ecbe3cf
fix(gw): unbreak schema + transform DTLS options properly
Thus ensuring full backward compatibility. Unsupported options
(`gc_after_handshake`, `ocsp`) are silently ignored now. Also make
sure that UDP configuration are part of DTLS option set, as expected
by `esockd`.
2023-12-20 11:46:08 +01:00
Andrew Mayorov 3ea2bbefaa
test(mqttsn): generate TLS certificates for tests on the fly 2023-12-20 11:46:07 +01:00
Andrew Mayorov 3d679f7e26
test(cth-tls): add test helpers for TLS related activities
Currently, only certificate issuing and related utilities are there.
2023-12-20 11:46:07 +01:00
Andrew Mayorov 78d3f49fe4
fix(gw): use more conservative set of DTLS options 2023-12-20 11:46:04 +01:00
Andrew Mayorov d3b32b64e1
Merge pull request #12201 from keynslug/feat/EMQX-11527/tls-hot-update
feat(listen): support hot config update of MQTT listeners
2023-12-20 09:45:12 +01:00
zhongwencool a4fe4ceb9e chore: add example for clients api 2023-12-20 14:53:05 +08:00
JianBo He cc15e3a03b
Merge pull request #12199 from zhongwencool/configs-put-bridge-v1-api
fix: support bridge v1 conf hocon-format in the put configs API.
2023-12-20 09:32:32 +08:00
JianBo He 1e288de1d9
Merge pull request #12203 from JimMoen/EMQX-11610-gw-OCPP-subscription-cnt
EMQX 11610 gw ocpp subscription cnt
2023-12-20 09:31:08 +08:00
Andrew Mayorov a6c26ce992
test(listen): stabilize flaky testcase 2023-12-19 23:36:52 +01:00
Andrew Mayorov baf46c9aa2
test(listen): also change CA on update and verify clients notice 2023-12-19 22:48:38 +01:00
JimMoen 465f71180a
fix(gw): return HTTP 400 for unimplemented handle call 2023-12-20 03:22:54 +08:00
Zaiming (Stone) Shi 9e24d08be3
Merge pull request #12202 from zmstone/1219-upgrade-gen_rpc-3.3.1
fix: upgrade to gen_rpc 3.3.1 which does not log cast args only arity
2023-12-19 19:41:46 +01:00
JimMoen 578a231a8d
fix(gw_ocpp): subscriptions cnt 2023-12-20 02:14:30 +08:00
JimMoen d37c5cc798
fix(gw_ocpp): frame outgoing badmatch 2023-12-20 01:27:12 +08:00
JimMoen af7b14ed3f
refactor(gw_ocpp): default conf macro readable 2023-12-20 01:27:12 +08:00
Thales Macedo Garitezi 55f0c1bbda
Merge pull request #12197 from thalesmg/test-more-flaky-fix-r54-20231218
test(gcp_pubsub_consumer): another attempt to stabilize flaky tests
2023-12-19 13:47:23 -03:00
Thales Macedo Garitezi 5b19e6b6f4
Merge pull request #12198 from thalesmg/sync-r54-m-20231218
sync r54 to master
2023-12-19 13:22:45 -03:00
Andrew Mayorov 7e4049620d
fix(listen): ensure limiter server state consistent with updates 2023-12-19 16:06:27 +01:00
Andrew Mayorov 4796f85dff
test(listen): verify SSL options of WSS listener are hot updateable 2023-12-19 16:06:27 +01:00
Andrew Mayorov 036048b9ab
feat(listen): support hot update of WS/WSS options as well
However, currently any transport option changes will cause listener to
restart, which slightly impacts the availability of the broker.
2023-12-19 16:06:27 +01:00
Andrew Mayorov 68bbbec556
chore: bump to esockd 5.11.1
With a typespec fix.
2023-12-19 16:06:27 +01:00
Andrew Mayorov a20ef0376b
test(exproto): fix too small buffer size for listener
These options have not been picked up by the listener before esockd
5.11.0, so it was not apparent that they are not working.
2023-12-19 16:06:27 +01:00
Andrew Mayorov fb2d4544b6
test(listen): verify that SSL options are hot-updateable 2023-12-19 16:06:26 +01:00
Andrew Mayorov da0f0f947e
feat(listen): support hot config update of esockd-based listeners 2023-12-19 16:06:26 +01:00
Zaiming (Stone) Shi 2b6176aa60 fix: upgrade to gen_rpc 3.3.1 which does not log cast args only arity 2023-12-19 12:46:42 +01:00
Andrew Mayorov cafd384466
chore: upgrade to esockd 5.11.0 2023-12-19 11:15:09 +01:00
zhongwencool 1c17121d44 chore: move redis_type into paramaters in actions 2023-12-19 17:09:08 +08:00
zhongwencool a46b415c77 fix: support bridge v1 conf hocon-format in the put configs API. 2023-12-19 16:40:45 +08:00
Zaiming (Stone) Shi 2be898ca4d refactor(auth/jwt): support raw rules from jwt acl claim 2023-12-19 08:10:38 +01:00
Thales Macedo Garitezi 5128c11542 test(gcp_pubsub_consumer): another attempt to stabilize flaky tests 2023-12-18 17:37:58 -03:00
Thales Macedo Garitezi cf9331a95f Merge branch 'release-54' into sync-r54-m-20231218 2023-12-18 17:21:08 -03:00
Andrew Mayorov 78f7d01b1c
test(listen): simplify test suite setup / teardown 2023-12-18 20:52:57 +01:00
Thales Macedo Garitezi f61f267ac4
Merge pull request #12195 from thalesmg/test-redis-v2-r54-20231218
test(redis_action): add minimal smoke tests
2023-12-18 16:34:03 -03:00
Thales Macedo Garitezi bd54a0f532
Merge pull request #12193 from thalesmg/fix-mysql-batch-update-r54-20231218
fix(mysql_bridge): forbid update statements with batch operations
2023-12-18 16:33:51 -03:00
Thales Macedo Garitezi 2c61b2bfbb fix(mysql_bridge): forbid update statements with batch operations
Fixes https://emqx.atlassian.net/browse/EMQX-11605
2023-12-18 15:05:14 -03:00
Zaiming (Stone) Shi 7338e394c8 perf: upgrade to wolff 1.9.1 for better performance
Upgrade from 1.8.0:
- wollf-1.9.0 has the global stats disabled by default
- wolff-1.9.1 improved client pid lookup performance
2023-12-18 18:54:21 +01:00
Thales Macedo Garitezi f6bb948e6f test(redis_action): add minimal smoke tests 2023-12-18 14:39:13 -03:00
Thales Macedo Garitezi 2d11aca39f
Merge pull request #12186 from thalesmg/gcp-pubsub-local-topic-action-r54-20231215
fix(gcp_pubsub_producer): mark `local_topic` as hidden in action schema
2023-12-18 11:34:19 -03:00
Thales Macedo Garitezi 3f06ebcaf7
Merge pull request #12181 from thalesmg/fix-fill-default-v1-api-return-r54-20231215
fix(bridge_v1_api): fill defaults for v2 raw configs and fix redis connector schema
2023-12-18 11:34:07 -03:00
Zaiming (Stone) Shi ef2cf71bea chore: bump version to 5.4.0-alpha.2 2023-12-18 13:51:21 +01:00
Zaiming (Stone) Shi a9963e043b refactor(authz): improve logging
Move authz result logging to common place.

Prior to this change, the final result is not logged when
fallback to the default authorization.no_match config value.

Aso, if the result is provided by a hook callback,
it's also not logged.

After this change, only the final result is logged.
The authz chain resutls can be traced (or logged at debug level).
2023-12-17 22:32:26 +01:00
Zaiming (Stone) Shi 35504bd323 refactor: move ntoa (ip address formatting) code to emqx_utils 2023-12-17 21:03:16 +01:00
JimMoen 725e7a17bb
docs(gw_jt808): fix and reformat data exchange guide 2023-12-18 03:21:49 +08:00
JimMoen f38ab4bd39
fix(gw_jt808): same struct `proto.auth` to persistent reg/auth URL 2023-12-18 01:37:11 +08:00
JimMoen 1e9c978f36
fix(gw_jt808): split anonymous true/false conf schema 2023-12-17 21:30:49 +08:00
Thales Macedo Garitezi c29ada4666 fix(redis_bridge): fix connector schema and action info transformations 2023-12-15 17:33:39 -03:00
Thales Macedo Garitezi 6a5fdd4b55 fix(gcp_pubsub_producer): mark `local_topic` as hidden in action schema 2023-12-15 15:08:51 -03:00
Stefan Strigler a5978aa39a
Merge pull request #12184 from sstrigler/EMQX-11587-use-common-functions-to-create-api-schemata-and-examples-in-action-implementations
refactor(emqx_bridge): common api_fields fn for actions
2023-12-15 19:02:14 +01:00
Thales Macedo Garitezi 432ddc5a3b fix(bridge_v1_schema): undo changing v1 schema to avoid confusion 2023-12-15 12:55:34 -03:00
JimMoen 79e7327042
Merge pull request #12178 from JimMoen/EMQX-11496-ocpp-re-enable-failed
EMQX 11496 ocpp re enable failed
2023-12-15 23:51:32 +08:00
SergeTupchiy c5123e8cf7
Merge pull request #12182 from SergeTupchiy/EMQX-11596-convert-otel-exporter-certs
EMQX-11596 convert otel exporter certs
2023-12-15 15:58:20 +02:00
Stefan Strigler ec74f77ad8 refactor(emqx_bridge): common api_fields fn for actions 2023-12-15 14:23:33 +01:00
Thales Macedo Garitezi f94b943ec2 fix(bridge_v1_api): fill defaults for v2 raw configs
Fixes https://emqx.atlassian.net/browse/EMQX-11593
2023-12-15 10:18:42 -03:00
Serge Tupchii 78cc4338e6 fix(emqx_opentelemetry): convert exporter SSL files 2023-12-15 14:59:26 +02:00
Serge Tupchii 24db03a7df chore(emqx_opentelemetry): remove unused `event` functionality 2023-12-15 14:58:45 +02:00
Thales Macedo Garitezi b703b671eb
Merge pull request #12170 from thalesmg/feat-bump-actions-failed-unk-r54-20231214
feat(rule_engine): also bump `unknown` counter for unrecoverable action errors
2023-12-15 09:40:03 -03:00
Zaiming (Stone) Shi fc2ae4e5fa docs: use "invalid" and "bad" 2023-12-15 12:49:27 +01:00
JimMoen fd6ee8f848
test: enable-disable gw ocpp 2023-12-15 18:01:06 +08:00
Zaiming (Stone) Shi cf33b3b4b1 fix(emqx.app.src): add dependen apps in app.src 2023-12-15 10:40:33 +01:00
firest 31060733a5 feat(ds): add an API for making new generations 2023-12-15 16:08:52 +08:00
JimMoen bce35b2dd8
Merge pull request #12163 from JimMoen/EMQX-11525-gw-jt808-cannot-list-client
fix(gw_jt808): cannot list client
2023-12-15 14:57:18 +08:00
JianBo He f9f72d75fc
Merge pull request #12165 from JimMoen/EMQX-11498-ocpp-subscriptions
fix(gw_ocpp): handle subscriptions call
2023-12-15 14:44:08 +08:00
JianBo He 71a237aa12
Merge pull request #12176 from HJianBo/mqtt-sn-ack-disconnect
fix(mqttsn): ack the DISCONNECT packet even if it is not connected
2023-12-15 14:43:02 +08:00
zhongwencool caf1f33bdf
Merge pull request #12175 from HJianBo/fix-ocpp-listener-bug
fix(ocpp): fix 500 return for `PUT ...gateway/ocpp/<listener_id>`
2023-12-15 14:12:00 +08:00
JianBo He 709c747b66 test: upgrade failed tests 2023-12-15 12:40:29 +08:00
zhongwencool 4cab42bbbe
Merge pull request #12173 from zhongwencool/authz-headers
feat: don't merge authz default headers if user already setting
2023-12-15 11:36:38 +08:00
zhongwencool 6e6b4dd44a
Merge pull request #12174 from zhongwencool/gateway-ocpp-swagger-example
fix: ocpp swagger example broken
2023-12-15 11:36:27 +08:00
JianBo He 8339bccc69 fix(mqttsn): ack the DISCONNECT packet even if it is not connected
MQTT-SN v1.2 spec:
"As with MQTT, the DISCONNECT message is sent by a client to indicate that it
 wants to close the connection. The gateway will acknowledge the receipt of that
 message by returning a DISCONNECT to the client."
2023-12-15 11:35:46 +08:00
Xinyu Liu 05f993a067
Merge pull request #12158 from emqx/update-redis-cluster-vsn
chore: update eredis_cluster to 0.8.3
2023-12-15 11:34:00 +08:00
JianBo He f0fa48ad28 fix(ocpp): fix 500 return for `PUT ...gateway/ocpp/<listener_id>` 2023-12-15 11:06:14 +08:00
zhongwencool f559ecbdf9 fix: ocpp swagger example broken 2023-12-15 10:42:30 +08:00
zhongwencool 7286f773ba feat: don't merge authz default headers if user already setting 2023-12-15 09:45:42 +08:00
JimMoen 944bb596c0
fix(gw_jt808): make static check happy 2023-12-15 09:25:03 +08:00
JimMoen d1adcd464e
fix(gw_jt808): client keepalive timer 2023-12-15 09:25:03 +08:00
JimMoen 0b1838a5ff
fix(gw_jt808): subscriptions and channel stats 2023-12-15 09:25:03 +08:00
JimMoen ec83ec7730
fix(gw_jt808): insert channel info 2023-12-15 09:25:03 +08:00
JimMoen d4e964f633
refactor: move func section 2023-12-15 09:25:02 +08:00
JimMoen 01c6022104
fix(jt808): open jt808 conn session 2023-12-15 09:25:02 +08:00
zhongwencool d9e179b364 fix: use microsecond precision as the primary key for audit logs to prevent duplication 2023-12-15 09:07:04 +08:00
Zaiming (Stone) Shi d29d3f36f1 fix(exproto): ssl options for grpc client 2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi 406a2d7a52 test: fix shared sub test case flaky 2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi 8d90f6f067 test: trap exit to assert gen_server:start_link returns error tuple
otherwise it will raise an exit exception
2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi 8a425d09bc test(s3): fix httpc ssl opts 2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi bfc02d1ccf test(pulsar): fix pulsar consumer ssl opts 2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi 89a61bc3bc chore: pin erlcloud version 3.7.0.3
- upgraded from 3.7.0-emqx-2
- 3.7.0.3 is a dependency upgrade:
  - lhttpc upgraded from 1.6.2 to 1.6.3
  - lhttpc 1.6.3 fixed otp 26 compatibility
2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi aaf487062a fix(exproto): fix ssl client options 2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi a6357d92f8 fix(http): force enable ssl when https 2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi fa85c3061b test: fix emqx_ocsp_cache_SUITE error message match pattern 2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi 19051f639b test: ensure verify_none to ssl client opts as default value 2023-12-14 22:21:31 +01:00
Zaiming (Stone) Shi 13541690cc test(influx): fix verify_peer test case
On OTP 26, cacerts or cacertfile must be provided when verify_peer
2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi 778662de5d test(crl_cache): fix ssl options 2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi dca72e0052 test: fix mtls options 2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi 06bfd878a0 test: fix compile warnings in test suites 2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi bd209678b3 chore(rabbitmq): upgrade rabbitmq dependency to v3.11.13.2
this tag has otp 26 compatibility fixed
2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi 9487635957 test(mqtt-bridge): do not assert map key order
starting from otp 26, small maps (less than 32 fields), the atom
key orders are no longer deterministic
2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi 077412fccd test(jwt): fix flaky test case
Ensure supervisor process is stopped properly after each test
2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi 516b1dc346 chore(postgres): upgrade lib epgsql from 4.7.0.1 to 4.7.1.1
epgsql 4.7.1.1 has otp 26 compatibility fixed
2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi a0833282f2 fix(dialyzer): fix dialyzer warnings for emqx app standalone 2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi 25d17ae68d test(ft/s3_uploader): wrong test case was put to wrong group 2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi b7531839cd fix(dialyzer): delete stale code 2023-12-14 22:20:01 +01:00
Zaiming (Stone) Shi bcae3d67c7
Merge pull request #12169 from ieQu1/dev/bpapi-separate-for-otp26
fix(static_checks): Prepare for OTP26
2023-12-14 20:32:45 +01:00
JimMoen da537a794b
fix(gw_ocpp): handle subscriptions call 2023-12-15 01:57:09 +08:00
Thales Macedo Garitezi 57a8f2351d feat(rule_engine): also bump `unknown` counter for unrecoverable action errors
Fixes https://emqx.atlassian.net/browse/EMQX-11494
2023-12-14 13:42:28 -03:00
Thales Macedo Garitezi d5d05a1701
Merge pull request #12162 from thalesmg/fix-lookup-timeout-r54-20231213
fix(connector_api): avoid calling resource process to get channels
2023-12-14 13:36:26 -03:00
Zaiming (Stone) Shi c22a3686ae fix(emqx_durable_storage): fix type specs 2023-12-14 17:35:32 +01:00
Thales Macedo Garitezi a5d848515b fix: project sub-fields in action/connector `resource_opts` for some bridges
Fixes https://emqx.atlassian.net/browse/EMQX-11589
2023-12-14 12:09:32 -03:00
Zaiming (Stone) Shi c1f2287b86 Merge remote-tracking branch 'origin/release-54' 2023-12-14 15:26:49 +01:00
ieQu1 02e2231734 fix(static_checks): Prepare for OTP26 2023-12-14 15:22:09 +01:00
Thales Macedo Garitezi dbc8141930
Merge pull request #12125 from thalesmg/ds-cache-m-20231206
chore(ds): return DS key from `next` and add `update_iterator` callback
2023-12-14 10:23:25 -03:00
Thales Macedo Garitezi a7fe5da8d6 fix(connector_api): avoid calling resource process to get channels
Fixes https://emqx.atlassian.net/browse/EMQX-11586
2023-12-14 10:22:46 -03:00
Thales Macedo Garitezi ecd5c288e5
Merge pull request #12164 from zhongwencool/flaky-audit-max-size-test
test: audit max_size flaky test
2023-12-14 10:21:28 -03:00
lafirest e9ee2a669f
Merge pull request #12160 from lafirest/fix/sso_ldap
fix(sso): Correctly handle wrapped passwords when updating
2023-12-14 11:56:24 +08:00