Commit Graph

10340 Commits

Author SHA1 Message Date
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