Commit Graph

541 Commits

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