Commit Graph

579 Commits

Author SHA1 Message Date
JianBo He a70545b64a chore: split out exproto gateway 2023-04-01 12:24:09 +08:00
JianBo He b58ce09658 chore: split out lwm2m 2023-04-01 12:24:09 +08:00
JianBo He 40c413ac05 chore: fix dialyzer warnings 2023-04-01 12:24:09 +08:00
JianBo He 0b6c5c4c91 refactor: split out emqx_coap application 2023-04-01 12:24:09 +08:00
JianBo He 159bcf329c refactor: make Stomp and MQTT-SN gateway as an independent apps 2023-04-01 12:24:09 +08:00
JianBo He 6db5a4872a test(lwm2m): cover auto_observe mechanism 2023-03-28 18:31:20 +08:00
JianBo He 6750618d9a fix(lwm2m): ignore unknown ObjectId to auto observe 2023-03-28 17:44:33 +08:00
Zaiming (Stone) Shi 19e136bb66 fix: avoid uisng 'pid' as log data field
Since it clashes with log metad data field
2023-03-26 10:33:18 +02:00
Zaiming (Stone) Shi dd996ad1dc chore: bump app vsns 2023-03-24 21:47:15 +01:00
Stefan Strigler 981268911a style: make summary lower-case 2023-03-21 16:56:37 +01:00
ieQu1 e3595f2e79 chore(mria): Bump version to 0.4.0 2023-03-11 00:37:25 +01:00
Zaiming (Stone) Shi fe27604010 Merge remote-tracking branch 'origin/release-50' into 0308-merge-release-50-back-to-master 2023-03-08 16:46:45 +01:00
Zhongwen Deng f498a3538b fix: update max_awaiting_rel in session 2023-03-06 17:06:40 +08:00
Stefan Strigler 965d63f4f5 fix: schema for `/gateways/:name/clients` was missing top-level structure 2023-02-21 15:33:56 +01:00
Zaiming (Stone) Shi 9316690c29 fix(schema): binary string for default values
A lot of the string value fields had default value defined in
schema as list-string rather than binary-string.
This caused the generated schema dump (in JSON format)
to have raw_default field as an integer array.
2023-02-21 09:09:51 +01:00
ieQu1 794bedef9f fix(emqx_ctl): Start CLI before ekka 2023-02-17 09:50:50 +01:00
Zaiming (Stone) Shi 7abba17b25
Merge pull request #9765 from zmstone/0115-add-password-converter
fix(schema): add password converter to ensure its binary() type
2023-01-18 15:09:05 +01:00
Zaiming (Stone) Shi 4a7e74f5d6 fix(schema): add password converter to ensure its binary() type 2023-01-17 11:12:17 +01:00
Andrew Mayorov ce2dba15b4
feat: turn tables queried with search APIs into ordered sets
This is needed to ensure more or less consistent client experience
for the new planned cursor-based search APIs.
2023-01-16 15:39:10 +03:00
Zhongwen Deng f15b29b1ef chore: upgrade app version 2023-01-13 18:22:29 +08:00
Thales Macedo Garitezi 48e1ba4832 feat(docs): add tags to schemas
This'll allow us to split the generated `schema.json` file into
subsections for better documentation navigation.
2023-01-11 09:10:03 -03:00
Zaiming (Stone) Shi dbc10c2eed chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
Zaiming (Stone) Shi 0ce1ca89b7 refactor: use string type for server and servers 2022-12-30 14:20:23 +01:00
Erik Timan a8c9d02871 fix(emqx_gateway): return 204 for lwm2m client posts
Change the return for lwm2m client API posts from 200 to 204 since
they contain no content.
2022-12-12 13:28:24 +01:00
Zaiming (Stone) Shi 77341e7a3c chore: bump app versions 2022-11-28 21:06:33 +01:00
Zaiming (Stone) Shi 9f3a9efbad Merge remote-tracking branch 'origin/release-v50' 2022-11-28 21:02:39 +01:00
JianBo He edb35c08a8 chore: refactor ms2qs function type 2022-11-24 20:14:33 +01:00
JianBo He 9786a6c267 refactor(mgmt): convert fuzzy filter func to named func 2022-11-24 20:14:33 +01:00
JianBo He 1fe9c105aa refactor(mgmt): smplify the node_query/cluster_query implementation 2022-11-24 20:14:33 +01:00
JianBo He 08121e7df6 fix(mgmt): optimize the speed of query tail pages
In the previous, when you query the tail pages, all the front of rows
will be queried out and formatted. It greatly hurts the speed of query.

Currently, we only format the final result rows. i.e, the query for the
last page of data will be 10x faster.
2022-11-24 20:14:33 +01:00
firest 2bc8b00419 feat(authn): support quick deny anonymous 2022-11-24 09:44:19 +01:00
Zhongwen Deng 282e6ff218 chore: set channel info once 2022-11-24 09:59:39 +08:00
Stefan Strigler 9cc5920b0d refactor: only PUT, no POST for '/gateways' 2022-11-16 15:58:59 +01:00
Stefan Strigler 2914523117 style: remove unused import 2022-11-16 15:57:16 +01:00
Stefan Strigler 07347e3f9e style: fix typo in comment 2022-11-16 15:57:15 +01:00
lafirest 1580f02045
Merge pull request #9286 from lafirest/fix/list_to_atom
fix: use list_to_existing_atom to replace some risky list_to_atom
2022-11-04 09:46:58 +08:00
Zaiming (Stone) Shi e9d31b2f4a
Merge pull request #9268 from sstrigler/EMQX-7817-fix-unexpected-400
Fix unexpected 400
2022-11-03 12:06:38 +01:00
firest bb7476d3af fix(listeners): Constraints the atom convert when parsing the esockd access rules
esockd rules only use words 'allow' and 'deny', both are existing,
so it is better to restrict the conversion and print a log when errors
2022-11-02 14:45:47 +08:00
lafirest 5886db08e0
Merge pull request #9279 from lafirest/fix/binary_to_atom
fix: use binary_to_existing_atom to replace some risky binary_to_atom
2022-11-02 10:57:05 +08:00
Stefan Strigler 612e5acea8 fix: return 404 instead of 400 for unknown gateway 2022-11-01 11:04:29 +01:00
firest 3cc76c0adf fix(coap): Ensure that the retain flag is a boolean value 2022-11-01 17:28:40 +08:00
firest 60492615ba fix(API): Ensure that the node name is known 2022-11-01 17:28:34 +08:00
Thales Macedo Garitezi 935513d38c docs(fix): remove dynamic example paths from api docs 2022-10-31 14:02:33 -03:00
Zaiming (Stone) Shi ccff64f2c1 docs: re-group api tags for gateway apps 2022-10-31 09:01:44 +01:00
Stefan Strigler ef5687d465 fix(emqx_gateway_api): don't crash on unknown status 2022-10-27 12:35:15 +02:00
JianBo He 93d3fec73f chore(i18n): correct tags name 2022-09-30 23:14:19 +08:00
JianBo He 6589a66710 Merge branch 'update-api-docs' of github.com:HJianBo/emqx into update-api-docs 2022-09-30 23:05:07 +08:00
JianBo He a84c6f938c chore(swagger): caption tags name 2022-09-30 23:04:26 +08:00
JianBo He 8292572da6
chore: apply suggestions from code review
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-09-30 23:02:28 +08:00
JianBo He 5fa1e63392 chore(gw): update HTTP API docs for gateway 2022-09-30 17:44:36 +08:00
JianBo He 834910b6f6 chore: update app.src 2022-09-27 17:24:44 +08:00
JianBo He 39ad172377 chore: replace ip_port() wuth host_port() for all connectors 2022-09-27 15:19:42 +08:00
JianBo He 522f650096 chore: apply review suggestions 2022-09-13 10:28:53 +08:00
JianBo He 44f8108228 chore: update app vsn 2022-09-13 09:15:50 +08:00
JianBo He 533569ad2a chore: fix app vsn check 2022-09-13 09:15:50 +08:00
JianBo He f8614196ac test: ensure udp client keepalive value getting right value 2022-09-13 09:15:28 +08:00
JianBo He ebb2824e15 test: ensure hooks has unloaded if grpc is blocked 2022-09-13 09:15:28 +08:00
JianBo He dfc6e34680 fix(exproto): avoid udp client process leaking
porting from v4.x:
- https://github.com/emqx/emqx/pull/8575
- https://github.com/emqx/emqx/pull/8628
- https://github.com/emqx/emqx/pull/8725
2022-09-13 09:15:28 +08:00
JianBo He 55c1a1868a fix(coap): remove the leading `/` in assembling publish topic 2022-09-06 15:38:32 +08:00
JimMoen d533e35df0 chore: update app vsn 2022-09-02 22:26:21 +08:00
firest 1233d3c8df fix(gateway): compatible with the old "/gateway" form API 2022-08-31 10:53:13 +08:00
firest 527ea23ec8 fix(gateway): change the `/gateway` API path to plural form 2022-08-31 09:27:37 +08:00
Zaiming (Stone) Shi 2eb078ff3b chore: bump changed app versions 2022-08-26 14:32:28 +02:00
Zaiming (Stone) Shi 7851a3aefd refactor(ssl): use 'available' for defaults
prior to this change, for TLS versions, 'default's are 'available's
there is no need for such an alias.

now we call available_versions with a specific tag:
tls, dtls, or all
2022-08-24 21:02:21 +02:00
Zaiming (Stone) Shi 8717535d32 refactor: populate ciphers list at runtime
Populating ciphers list when checking schema makes the
config file example and the schmea documents quite bloated
2022-08-24 21:02:21 +02:00
ieQu1 5978e4c8be refactor(sn_registry): Export transactions 2022-08-22 19:52:37 +02:00
ieQu1 5aceeff7b4 refactor(cm_registry): Export transactions 2022-08-22 19:52:37 +02:00
Zhongwen Deng 49b95b0aa8 chore: improve swagger tags 2022-08-17 23:32:19 +08:00
Zaiming (Stone) Shi dd8bcd80cb chore: bump app vsn for emqx_gateway to 0.1.3 2022-08-09 13:30:09 +02:00
Zaiming (Stone) Shi 13f5c0b6b1 fix(lwm2m): better logging for unknown object IDs
Prior to this change, unknown object IDs would result in a tuple
{error, no_xml_definition}, and this tuple is passed down to xmerl
lib to get XML node data and eventually crash with function_clause.

With this fix, the unknown object ID exception is caught and logged
properly.
2022-08-09 11:26:12 +02:00
JianBo He 257e310931 chore: ensure the `bind` output style
e.g:
- Configured as `1883`, printed as `:1883`
- Configured as `0.0.0.0:1883`, printed as `:1883`
- Configured as `127.0.0.1:1883`, printed as `127.0.0.1:1883`
- Configured as `::1:1883`, printed as `[::1]:1883`
- Configured as `[::1]:1883`, printed as `[::1]:1883`
2022-07-26 19:02:04 +08:00
JianBo He bad82b29ce feat(gw): change the listeners api fields 2022-07-26 11:05:04 +08:00
Zhongwen Deng a3296078c3 chore: make sure swagger's tags always titlecase 2 2022-07-25 16:55:38 +08:00
Zhongwen Deng dd59c850e0 chore: make sure swagger's tags always titlecase 2022-07-25 16:09:17 +08:00
Zhongwen Deng a468f4ee9d chore: bump emqx_gateway to 0.1.2 2022-07-20 17:03:04 +08:00
Zhongwen Deng a12478225a fix: fix bad swagger format 2022-07-20 16:56:07 +08:00
Zaiming (Stone) Shi 54f3dd3ddc chore(appup): add appup for emqx_conf 2022-06-22 00:06:26 +02:00
Zaiming (Stone) Shi b467e11b2e fix(appup): fixed appup and version check scripts for 5.0 2022-06-20 22:20:31 +02:00
JianBo He ae1346e3f0 chore(gw): throw authn creation errors 2022-06-16 20:02:34 +08:00
JianBo He df2c17ccc4 fix(gw): enhance the authn resources managing logic 2022-06-16 17:48:19 +08:00
Ilya Averyanov e381e3698f feat(authn): add enable_authn flag for listeners 2022-06-15 22:26:08 +03:00
zhongwencool 604f0d9511
Merge pull request #8224 from zhongwencool/gateway-authn-mismatch
fix: don't merge gateway's authn
2022-06-15 23:04:52 +08:00
zhongwencool fbfed35371
Merge pull request #8214 from zmstone/0613-best-effort-json-for-hocon-type-check-errors
refactor: best-effort json for hocon type check errors
2022-06-15 22:45:05 +08:00
Zhongwen Deng 6cd123e6fc fix: don't merge gateway's authn 2022-06-15 21:07:05 +08:00
Zaiming (Stone) Shi 738a551550 refactor: best-effort json for hocon validation errors 2022-06-15 15:01:15 +02:00
Zaiming (Stone) Shi e0aa8641af chore: fix typo uncatched -> uncaught 2022-06-15 13:07:37 +02:00
JianBo He 78dd9fe247 fix(gw): compatible with the max_connection is string type 2022-06-15 13:48:15 +08:00
JianBo He 77d4faa632 fix(gw): not updating the authenticator using re-creation 2022-06-15 13:48:15 +08:00
JianBo He 7d38f83aef feat(gw): keep authenticator resource after gateway disabled
After a gateway is disabled, we should turn off the authenticator instead of destroying it.
Once built-in-database authenticator is destroyed, it discards all
user's data and can't be managed
2022-06-15 13:48:15 +08:00
JianBo He 6c465cfb8f fix(gw): fix list listeners failed if gateway disabled 2022-06-15 13:48:15 +08:00
Zaiming (Stone) Shi 8518e71db1
Merge pull request #8182 from zmstone/0611-fix-config-update-race-condition
fix(cluster_rpc): config update race condition
2022-06-13 11:46:08 +01:00
firest 2bab8884f9 fix(gateway): catch the error of invalid address 2022-06-13 10:58:43 +08:00
Zaiming (Stone) Shi 2065be569e fix(emqx_cluster_rpc): fail fast on stale state
Due to:

* Cluster RPC MFA is not idempotent!
* There is a lack of rollback for callback's side-effects

For instance, when two nodes try to add a cluster-singleton
concurrently, one of them will have to wait for the table lock
then try to catch-up, then try to apply MFA.
The catch-up will have the singleton created, but the initiated
initiated multicall apply will fail causing the commit to rollback,
but not to 'undo' the singleton creation.
Later, the retries will fail indefinitely.
2022-06-12 20:18:48 +02:00
Zhongwen Deng 02872fb8c2 feat: rename gateway's tcp/ssl/udp/dtls to *_options 2022-06-07 22:23:02 +08:00
lafirest ecd46d42cb
Merge pull request #8141 from lafirest/fix/gateway_listen_addr
fix(gateway): gateway listen-address add support for `host:port` format
2022-06-07 11:01:29 +08:00
firest 16da9cbcb4 fix(gateway): gateway listen-address add support for `host:port` format 2022-06-07 09:58:02 +08:00
Zhongwen Deng c7cc2e85b2 fix: add default&example for schema 2022-06-06 09:52:10 +08:00
Ilya Averyanov 0893a36dec fix(authn): removed explicit chain creation for security reasons 2022-06-02 14:03:19 +03:00
Ilya Averyanov 1bad5f8b7c
Merge pull request #8088 from savonarola/authn-import-users-request
feat(authn api): add method for user file upload
2022-06-02 13:51:46 +03:00
Ilya Averyanov 2d53c21d45 chore(authn api): replace user import api with upload api 2022-06-01 19:56:23 +03:00
Zhongwen Deng 9ec804ae03 feat: generate example.conf from schemas 2022-05-31 19:20:27 +08:00
JianBo He 96f58d0ec8 Merge remote-tracking branch 'ce/master' into authn-import-users-request 2022-05-31 10:11:21 +08:00
Ilya Averyanov 3be617cf40 feat(authn api): add method for user file upload 2022-05-31 00:40:10 +03:00
JianBo He b985c9cfca fix(gw): save ssl files for dtls listener 2022-05-30 19:34:48 +08:00
Ilya Averyanov 5dba01b8fa fix(authn): fix user search API 2022-05-25 15:50:20 +03:00
JianBo He 61b1731e5c fix(gw): merge the listener and authn confs 2022-05-17 15:16:03 +08:00
JianBo He 57bd862298 fix(gw): override configs while updating gw or listeners 2022-05-17 11:58:03 +08:00
JianBo He ebe8b3fd20 chore(gw): pretty print exproto logs 2022-05-12 19:26:14 +08:00
JianBo He 18d265cecd chore(gw): increase timeout to update gateway instance 2022-05-12 19:26:14 +08:00
firest 81e57f2148 fix(gateway): make it safer to get the value of bind 2022-05-09 12:37:15 +08:00
firest 93ab0458d1 fix(gateway): make gateway listeners list return act like MQTT listeners 2022-05-09 12:37:15 +08:00
firest f20f05161f fix(gateway): sum the cluster connection data 2022-05-09 12:37:15 +08:00
firest db9cb6c4a0 fix(gateway): add node_status into the result of /gateway/{name}/listeners 2022-05-09 12:37:15 +08:00
firest 2c558152ed fix(gateway): add node_status into the result of /gateway API 2022-05-09 12:37:15 +08:00
firest ba683167bd fix(limiter): remove unused rate limit codes 2022-05-07 17:00:13 +08:00
JianBo He 5698b9cfeb fix(gw): fix bad_ssl_config bad match 2022-05-03 17:11:06 +08:00
JianBo He 5d362eeb60 fix(gw): fix bad conn property type 2022-05-03 17:11:06 +08:00
JianBo He 42e193d9be refactor(mqttsn): create subscription with any topic format 2022-05-03 16:54:14 +08:00
JianBo He 7813f402c6 feat(api-clients): return client mountpoint property 2022-05-03 16:52:38 +08:00
JianBo He 7a8a1f8b6a
Merge pull request #7824 from HJianBo/fix-gw-http-body
fix(gw): fix deep_merge can't update the configuration correctly
2022-04-29 16:46:59 +08:00
JianBo He 725c96dc2f
Merge pull request #7814 from HJianBo/fix-gw-bad-ssl
fix(gw): return BAD_REQUEST if request's ssl files is bad
2022-04-29 11:52:57 +08:00
JianBo He fd5b662302 fix(stomp): sync clientid from clientinfo to conninfo 2022-04-29 11:49:57 +08:00
JianBo He f983ce2562 fix(lwm2m): correct ConnAck properties to map 2022-04-29 11:49:57 +08:00
JianBo He 49b51db231 fix(gw): fix deep_merge can't update the configuration correctly 2022-04-29 11:49:57 +08:00
JianBo He 23c6047163 fix(gw): return BAD_REQUEST if request's ssl files is bad 2022-04-28 16:12:32 +08:00
JianBo He ff31a5a6a4 feat(gw-exproto): save ssl files for server&handler option 2022-04-28 15:34:57 +08:00
JianBo He 66c08bdc8b chore(gw): add default value for lwm2m gateway 2022-04-28 14:38:32 +08:00
firest fd0f32418e fix(gateway): Add support for query by is_superuser 2022-04-27 15:41:14 +08:00
zhongwencool a27caff5af
Merge pull request #7739 from DDDHuang/better_dashboard_log
fix: better listener log
2022-04-24 14:08:27 +08:00
DDDHuang feaf89d399 fix: better gateway log 2022-04-24 10:01:38 +08:00
Shawn 984a26945c docs: add i18n ids 2022-04-23 03:51:38 +08:00
JianBo He b018e56340 chore: revert the desc/1 changes 2022-04-22 14:03:09 +08:00
JianBo He 0f46d5ac02 docs(gw): refcator schema/swagger desc fields 2022-04-22 09:19:31 +08:00
JimMoen 9e4b9c6689 refactor: mgmt rm `generate_response/1` 2022-04-19 01:20:57 +08:00
DDDHuang 82ce6ae9f9 fix: bad integer, bad qos; TODO: gateway api * 2 2022-04-16 16:37:10 +08:00
DDDHuang e22d01d25f fix: page & limit & pool_size pos_integer; some bad spelling 2022-04-16 16:37:10 +08:00
JianBo He 587fbf07ba
Merge pull request #7601 from lafirest/fix/coap_disconnected
fix(coap): fix CoAP incorrect disconnected event
2022-04-13 13:43:58 +08:00
firest 62fa500f85 fix(coap): fix CoAP incorrect disconnected event 2022-04-13 11:15:44 +08:00
JianBo He 7954f32858 chore: remove scram authenticator for all gateway 2022-04-12 16:13:55 +08:00
JianBo He e63f288ea7
Merge pull request #7491 from HJianBo/fix-cm-call
fix(exproto): keep conn_mod attribute in ConnInfo
2022-04-07 09:19:25 +08:00
JianBo He ff2022d9a0 fix(exproto): keep conn_mod attribute in ConnInfo 2022-04-06 10:45:51 +08:00
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
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