Commit Graph

502 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 356fbf6ce1
Merge pull request #7519 from zmstone/0405-5.0-sync-ssl-lib-from-4.3
5.0 refactor: delete deprecated emqx_plugin_libs_ssl module
2022-04-05 22:57:56 +01:00
Thales Macedo Garitezi bdc1253d96
refactor(gateway): re-use `emqx_authentication_config:authenticator_id/1` 2022-04-05 13:28:24 -03:00
Zaiming (Stone) Shi 822a4f9f73 feat: parameterise EMQX_ETC_DIR
both at build time and at runtime
2022-04-05 16:36:13 +02:00
Thales Macedo Garitezi 7d807ce6bb
feat(gateway): export basic gateway info for telemetry 2022-04-04 15:20:48 -03:00
firest 0db6b8d47e test(gateway): integration stomp && exproto test with http authn 2022-04-02 14:06:36 +08:00
firest 25ebe2535e test(gateway): integration MQTT-SN test with http authn 2022-04-02 14:00:37 +08:00
firest ec243d8946 test(gateway): integration CoAP && LwM2M test with http authn 2022-04-02 14:00:33 +08:00
JianBo He 3f6d78dda0 style(gateway): format gateway application 2022-03-31 17:41:32 +08:00
JianBo He 8431387408 chore(exproto): set proto_name default to exproto 2022-03-31 10:02:12 +08:00
ieQu1 d8e16b37da docs(schema): Add documentation for the fields and records 2022-03-30 11:53:53 +02:00
ieQu1 c0e5139e9f docs(schema): Add description for clientinfo_override 2022-03-30 11:53:51 +02:00
ieQu1 410b69d616 docs(schema): Document records for gateway 2022-03-29 14:09:32 +02:00
Zaiming (Stone) Shi 036266769c docs: add more schema desc 2022-03-25 10:52:58 +01:00
ieQu1 077ef073e5 docs(schema): Add descriptions to the schema 2022-03-23 19:05:25 +01:00
ieQu1 8967e13eee docs(schema): Move descriptions from emqx.conf.all 2022-03-23 13:52:54 +01:00
firest ab2f5b9bb7 fix(coap): fix system topic case 2022-03-23 17:25:52 +08:00
firest ab51d8ab8e fix(coap): trigger disconnect logic when the client manually disconnected 2022-03-23 14:19:00 +08:00
JianBo He 83e16a5bc5
Merge pull request #7343 from HJianBo/fix-gw-bugs 2022-03-22 17:49:02 +08:00
firest 0c3d02b02d test(coap): add a observe test case 2022-03-22 11:57:49 +08:00
JianBo He 094c4ad262 fix(exproto): don't carry the ssl confs if ssl.enable is false 2022-03-21 18:44:01 +08:00
JianBo He 670749493b fix(coap): reject duplicated connection request 2022-03-21 18:17:24 +08:00
JianBo He 053f9b422c fix(stomp): fix client.disconnect not trigger 2022-03-21 18:17:24 +08:00
JianBo He 5682dcb72e fix(gw): enrich conninfo for coap&lwm2m 2022-03-21 18:17:24 +08:00
JianBo He 3645cb244b fix(gw): throw the exproto start grpc server starting failure error 2022-03-21 18:17:24 +08:00
DDDHuang e517b41a4d fix(api): desc & remove useless api 2022-03-21 15:03:37 +08:00
DDDHuang e1b6c0770d fix: getway bad api spec 2022-03-21 14:12:19 +08:00
DDDHuang b9b5e376a6 fix: dialyzer & bad func spec 2022-03-21 14:12:19 +08:00
DDDHuang 15b8203ac1 fix: generate ggateway api response code 2022-03-21 14:12:19 +08:00
JianBo He 43c01117bb fix(sn): fix typos 2022-03-17 18:40:13 +08:00
JianBo He fbc0240f26 feat(sn): introduce subs_resume option
As the mqtt-sn v1.2 spec metioned, the gateway will be able to sync the
subscriptions topic-name registry to client when the client resume
it's session

port from: https://github.com/emqx/emqx/pull/7300
2022-03-17 18:38:54 +08:00
Thales Macedo Garitezi 2748c22b0c
fix(ekka): run cleanups on node down events
When using the RLOG DB Backend with Mria, replicant nodes do not
generate `mnesia down` events.  Therefore, cleanup procedures that
some modules do when a node goes down do not work for replicants.

However, replicant do generate `node down` events, so that may be a
safer way to handle cleanup to take into account that type of node.
2022-03-14 15:55:58 -03:00
JimMoen f5caf66253 refactor(api): unified api name style 2022-03-11 11:07:55 +08:00
JimMoen 990a66e1ad feat(gateway): gateway authn mnesia rows fuzzy searching by `clientid` or `username` 2022-03-10 10:01:40 +08:00
JianBo He 724d51a024 fix(mqttsn): fix flaky test 2022-03-09 17:11:09 +08:00
JianBo He f90b27c291 fix(exproto): filter out ssl options if it disabled 2022-03-09 16:47:45 +08:00
JianBo He e72e49b291 chore: fix elvis warnings 2022-03-09 13:46:58 +08:00
JianBo He 5436a3c496 chore(gw): use emqx_gateway_cm:call/4 instead ConnMod:call/3 2022-03-09 13:46:56 +08:00
JianBo He 9422ac4bc1 fix(mqttsn): fix unused variable 2022-03-09 12:57:51 +08:00
JianBo He 6ab993c3e8 test(mqttsn): uncomment asleep testcases 2022-03-09 12:57:51 +08:00
JianBo He 98b97ad217 feat(mqttsn): support asleep client 2022-03-09 12:57:51 +08:00
JianBo He 01eb3ca93a chore(mqttsn): fix frame formating crash 2022-03-09 12:57:51 +08:00
JianBo He 8ac0152af0 chore(gw): log SEND_data 2022-03-09 12:57:51 +08:00
JimMoen f25da61f39 refactor(mgmt): `Params` => `QString`, `QsScheam` => `QSchema` 2022-03-04 11:14:03 +08:00
JianBo He 63ef00a208 fix(gw): add takeover_session/3 for cm_proto_v1 2022-03-02 16:43:53 +08:00
JianBo He 7ade24b344 feat(mqttsn): support to register unknown topic-name to the client 2022-03-02 14:58:43 +08:00
JianBo He ddf3585b22 refactor(gw): support session takeover 2022-03-02 14:58:43 +08:00
JianBo He 48cc641ec0
Merge pull request #7114 from lafirest/refactor/coap_api
refactor(emqx_coap): refactor CoAP API
2022-02-28 10:14:26 +08:00
Zaiming (Stone) Shi b603d544b2 refactor(emqx_gateway_schema): use remote ref instead of redefine
the ssl_client_opts struct
2022-02-27 14:44:28 +01:00
firest 6b6acaec43 refactor(emqx_coap): refactor CoAP API 2022-02-26 17:30:34 +08:00
Zhongwen Deng db584f79d6 feat: upgrade hocon to 0.25.0 to replace nullable with required. 2022-02-24 22:39:03 +08:00
JimMoen d735fecfba
Merge pull request #7097 from JimMoen/fix-stomp-conninfo
fix(gateway): enrich stomp conninfo before run hooks
2022-02-22 18:26:03 +08:00
JianBo He 20e3b721a8 chore(gw): ignore auto-subscribe msg 2022-02-22 15:43:04 +08:00
JimMoen 05f1593386 fix(gateway): enrich stomp conninfo before run hooks 2022-02-22 15:42:21 +08:00
Zaiming (Stone) Shi 1be3eb1446 chore: rename EMQX Broker to just EMQX 2022-02-19 12:51:34 +01:00
k32 5638bcb92b docs: Fix typos 2022-02-17 23:22:31 +01:00
Zaiming (Stone) Shi 64db085163 chore: EMQ X -> EMQX in source code 2022-02-16 22:08:12 +01:00
Zaiming (Stone) Shi b3d9605722 chore(conf): EMQ X -> EMQX in conf files 2022-02-16 17:50:41 +01:00
Zaiming (Stone) Shi 79d7832a07
Merge pull request #7020 from zmstone/docs-more-renames-in-descriptive-info
docs: More EMQ X -> EMQX rename in descriptive strings
2022-02-16 13:43:19 +01:00
zhongwencool 310a97305a
Merge pull request #6997 from zhongwencool/epoch-rfc3339-convert
feat(schema): schema support epoch_second, epoch_millisecond type.
2022-02-16 16:51:38 +08:00
Zaiming (Stone) Shi 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 2022-02-15 22:39:11 +01:00
Zaiming (Stone) Shi 667d66eb1e docs(README): EMQ X -> EMQX 2022-02-15 16:19:26 +01:00
zhongwencool 498434826a feat(schema): schema support epoch_second, epoch_millisecond type. 2022-02-14 11:35:32 +08:00
zhongwencool f5415589e9 chore(schema): use emqx_schema:qos() instead of union integer. 2022-02-11 10:09:59 +08:00
JianBo He e2b330e8be fix(stomp): fix unexpected_linefeed error if the packet truncated on headers 2022-02-10 12:26:13 +08:00
Shawn fd87bce8f7
Merge pull request #6950 from terry-xiaoyu/remove_extra_spaces
fix: format the code to remove extra spaces
2022-02-10 09:35:18 +08:00
Thales Macedo Garitezi e861f3963e
Merge pull request #6947 from thalesmg/fix-mgmt-cluster-print
fix(ctl): fix formatting when printing messages without arguments
2022-02-09 11:50:59 -03:00
Shawn 8207090419 fix: format the code to remove extra spaces 2022-02-09 18:46:49 +08:00
Shawn e220810b90 fix(sn): update calling to session APIs 2022-02-09 12:08:06 +08:00
Thales Macedo Garitezi 152bbe6bb3
refactor: rm unused fn 2022-02-08 18:18:18 -03:00
k32 052bd9081d docs(schema): Fix typos in the schema files 2022-01-27 22:39:19 +01:00
Zaiming (Stone) Shi 0cde9e6ecf
Merge pull request #6878 from zmstone/slog-ftw
refactor: delete deprecated logging macros
2022-01-27 16:15:47 +01:00
Kian-Meng Ang fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Zaiming (Stone) Shi 1718360156 refactor: delete deprecated logging macros 2022-01-26 23:25:11 +01:00
lafirest 2522a36b0c
Merge pull request #6862 from lafirest/fix/coap
fix(emqx_coap): handle invalid query string in parse
2022-01-26 14:30:50 +08:00
lafirest d422afdf0d
Merge pull request #6864 from lafirest/fix/ignore_auto_sub
fix(emqx_coap): ignore auto subscribe
2022-01-26 13:38:29 +08:00
firest 97c18bb0f2 fix(emqx_coap): ignore auto subscribe 2022-01-26 11:25:24 +08:00
firest a544f162c9 fix(emqx_coap): handle invalid query string in parse 2022-01-26 11:08:12 +08:00
Zaiming (Stone) Shi 2105d1f22b test: call ct helpers to load config 2022-01-25 11:50:18 +01:00
k32 c4cb9973a6 fix(emqx_gateway): Apply remarks 2022-01-21 10:42:55 +01:00
k32 925654978e refactor(emqx_gateway): Reuse emqx_gateway_cm APIs 2022-01-20 19:16:30 +01:00
k32 706d9a899a fix(emqx_gateway_cm): Fix channel ID in set_chan_stats 2022-01-20 18:12:50 +01:00
k32 ab8ab21383 refactor(emqx_gateway): Decorate RPCs 2022-01-20 18:12:50 +01:00
JimMoen 31edd49f76 fix(topic_metrics): `POST` `PUT` need response 2022-01-20 10:15:06 +08:00
k32 36f10e929d test(lwm2m): Fix flaky test 2022-01-18 17:36:10 +01:00
JianBo He c8088f18d9 chore(gw): fix dialyzer warnings 2022-01-14 10:56:19 +08:00
JianBo He 43284768d0 chore(gw): more code coverage for emqx_gateway_conn module 2022-01-14 10:48:56 +08:00
JianBo He cce0b1ca34 fix(stomp): fix the sticky tcp stream parsing 2022-01-14 10:48:56 +08:00
JianBo He 44ea853059 test(gw): more coverage for emqx_gateway_cm 2022-01-14 10:48:56 +08:00
JianBo He 4ce11fec6e fix(stomp): fix parsing rear frame split byte crash 2022-01-14 10:48:56 +08:00
JianBo He e9e559ccd0 test: more code coverage for emqx_gateway_api_clients 2022-01-14 10:48:56 +08:00
JianBo He 3caf0822c4 test(gw): more testcases for emqx_gateway_metrics 2022-01-14 10:48:56 +08:00
JianBo He a829b0b9d0 test(gw): more testcases for emqx_gateway module 2022-01-14 10:48:56 +08:00
JianBo He 056e284bc2 test(gw): more testcases for emqx_gateway_cm_registry 2022-01-14 10:48:56 +08:00
JianBo He 0e011ec4b8 test(gw): more testcases for emqx_gateway_cli module 2022-01-14 10:48:56 +08:00
JianBo He 79a653e2b4 refactor(gw): more readable CLI print 2022-01-14 10:48:56 +08:00
JimMoen d8f49f8a5f
Merge pull request #6732 from JimMoen/telemetry-api-refactor
refactor(api): telemetry api swagger spec
2022-01-14 09:36:54 +08:00
JimMoen 8c9d98b583 chore: LICENSE Copyright reserved 2022-01-13 16:40:08 +08:00
JimMoen 82e3565344 chore: major mode file variable for Emacs 2022-01-13 15:53:47 +08:00
JianBo He fcc0d4a2e4 chore: client searching support \[]()* chars 2022-01-10 09:07:53 +08:00
Zaiming (Stone) Shi e9fb999236
Merge pull request #6667 from zmstone/chore-fix-copyright-update-script
chore: fix copyright update script to include more files
2022-01-06 13:45:24 +01:00
zhongwencool 3bdfa183f3
Merge pull request #6666 from JimMoen/merge-5.0-beta.3-to-master
Merge 5.0 beta.3 to master
2022-01-06 18:20:30 +08:00
Zaiming (Stone) Shi 9f7b513a3f chore: fix copyright update script to include more files 2022-01-06 08:44:35 +01:00
JimMoen 9a115b99a4 Merge remote-tracking branch 'emqx/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-06 14:08:45 +08:00
Zaiming (Stone) Shi 67ba3a06ea chore(gateway): update copyright 2022-01-05 20:55:00 +01:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
JianBo He 47441fb747 fix(gw): fix bad default oom policy 2022-01-05 15:49:44 +08:00
Zaiming (Stone) Shi 211b8e1b06 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-04 22:48:25 +01:00
Zaiming (Stone) Shi 2898fa76e1 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-03 11:39:06 +01:00
JianBo He 2411c22b42 fix(gw): fix bad listners field on http response 2021-12-31 14:59:17 +08:00
JianBo He 990514a048 fix(gw): stop xml_object_db process synchronously 2021-12-31 14:32:03 +08:00
JianBo He 2a20f110b9 fix(gw): use emqx_http_lib to parse uri 2021-12-31 14:32:03 +08:00
JianBo He 6280c8c9f0 chore: fix dialyzer warnings 2021-12-29 14:02:45 +08:00
Thales Macedo Garitezi 8f4453fedb
fix(gateway): undo move headers to root `include`
Keeping headers in the src directory makes sense for the interfaces we
don't want to expose outside, but the `include_lib` directive fails to
compile under Mix. Changing `include_lib("emqx_gateway/src/...")` to
`-include("src/...")` pleases both Mix and Rebar.
2021-12-28 17:34:47 -03:00
Thales Macedo Garitezi 0020cf592f
Merge remote-tracking branch 'origin/master' into build-with-mix-mkII 2021-12-28 11:28:40 -03:00
JianBo He 8203b1f328 refactor(gw): simplify massive repeated codes 2021-12-27 16:50:39 +08:00
JianBo He 76b35910b7 chore(gw): fix elvis warnings 2021-12-27 16:03:31 +08:00
JianBo He fca5a3bc21 chore(gw): add cli testcases 2021-12-27 16:03:31 +08:00
Thales Macedo Garitezi e137555052
fix(tests): fix include paths that were moved 2021-12-22 15:15:19 -03:00
JianBo He b846193556
Merge pull request #6518 from HJianBo/gw-review-r2 2021-12-22 22:10:18 +08:00
Thales Macedo Garitezi 34d6dbca61
chore(mix): simplify build by using rebar3 for umbrella apps
By treating the apps in the umbrella as dependencies to be managed and
built by rebar3, we can simplify the maintenance of the release, at
the cost of increased build times: using Mix as before, it could track
changed files better than using rebar.  But the complexity and
possibility of discrepancies make it using rebar much more compelling.
2021-12-22 09:40:01 -03:00
JianBo He 1bcdbf3a06 chore(gw): make some fields required 2021-12-22 16:49:34 +08:00
JianBo He 6d4aac1600 chore(gw): improve http error messages 2021-12-22 16:49:33 +08:00
JianBo He 3fd9061418 fix(gw): save coap channel info 2021-12-22 16:49:33 +08:00
zhongwencool 2e10a5700c
Merge pull request #6515 from zhongwencool/fix-bann-utf8
fix(banned): create banned with utf8 failed by 500 response
2021-12-22 16:08:34 +08:00
zhongwencool b11a15fa00 fix(banned): create banned with utf8 failed by 500 2021-12-22 14:29:15 +08:00
Thales Macedo Garitezi 917575de5a
chore(mix): minimal elixir mix release build
This commit enables a minimal working build of EMQX release using
Mix.  However, to properly start the release, several configuration
steps are still missing.  A `mix_release.sh` script does a few hacks
to get the release built with Mix to start properly, by first assuming
that `make emqx` has been run prior to the release, ran once to
generate the `app.*.config` files, and then it copies that and some
other files to the expected places.

Also, `emqx_telemetry` hangs the start procedure because it thinks
it's in an official release and tries to make a request.  We disable
it temporarily via config just to get a working build for now.
2021-12-21 13:51:22 -03:00
JianBo He 5b1ed76a44 chore(gw-frame): export types for dialyzer check 2021-12-20 10:59:16 +08:00
JianBo He 92fd9c1eca chore(gw): fix adding subscription 2021-12-17 15:31:07 +08:00
JianBo He 52c78974d6 chore(gw): fix elvis warnings 2021-12-17 14:16:00 +08:00
JianBo He 561c95c31a feat(lwm2m): support subscribe/unsubscribe operations 2021-12-17 14:16:00 +08:00
JianBo He bfbf377a45 feat(coap): support subscribe/unsubscribe operations 2021-12-17 14:16:00 +08:00
JianBo He 6b8bdfd113 chore(gw): support to get subscriptions from coap 2021-12-17 14:16:00 +08:00
JianBo He 3443aeff18 fix(gw): handle discard/kick event 2021-12-17 14:16:00 +08:00
JianBo He a2823f2ad6 chore(gw): improve some type specs 2021-12-17 14:16:00 +08:00
JianBo He 5224da57dc
Merge pull request #6411 from HJianBo/gw-improve-apis-3
More precise gateway http-api examples
2021-12-10 16:52:49 +08:00
firest 8493b61cb5 refactor(eqmx_limiter): use the new hierarchical token bucket to replace the old ratelimit code 2021-12-10 14:37:23 +08:00
JianBo He fa11c6df9c test(gw): fix bad test cases 2021-12-10 10:41:38 +08:00
JianBo He 159ba63530 chore: upgrade grpc-erl to 0.6.4 2021-12-09 15:06:18 +08:00
JianBo He e662628581 chore(gw): fix bad default value in query-string 2021-12-09 14:50:28 +08:00
lafirest c9cbaeff95 fix(emqx_lwm2m): limit the max size of cmd record 2021-12-09 14:39:11 +08:00
JianBo He 028f1fa71c chore(gw): fix listener examples 2021-12-09 11:33:09 +08:00
JianBo He afb2cf19c2
Merge pull request #6297 from HJianBo/gw-improve-apis-2
Standardize HTTP-APIs return value and Status/Error Code
2021-12-08 18:02:13 +08:00
JianBo He 7c261b5356 chore(gw): improve examples for _gateway_api 2021-12-08 17:18:39 +08:00
JianBo He e48f10d2d6 chore(gw): ignore needless args 2021-12-08 11:33:11 +08:00
JianBo He a937a3d4dc chore(gw): fix bad argument type 2021-12-08 11:13:00 +08:00
JianBo He 0eff5358ca chore(gw): add examples for gw&client api 2021-12-08 10:52:27 +08:00
Zaiming (Stone) Shi 9276a5bc3c
Merge pull request #6394 from zmstone/fix-typo-in-hook-point-name
fix: typo takeovered -> takenover
2021-12-07 21:06:30 +01:00
Zaiming (Stone) Shi 5440b431a1 fix: typo takeovered -> takenover 2021-12-07 16:06:23 +01:00
JianBo He d735e2e755 chore: delete 500 error 2021-12-06 16:34:00 +08:00
JianBo He f1dbeb4bda chore: fix bad result match 2021-12-06 16:34:00 +08:00