Commit Graph

356 Commits

Author SHA1 Message Date
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
JianBo He
b846193556
Merge pull request #6518 from HJianBo/gw-review-r2 2021-12-22 22:10:18 +08: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
JianBo He
fa11c6df9c test(gw): fix bad test cases 2021-12-10 10:41:38 +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
f1dbeb4bda chore: fix bad result match 2021-12-06 16:34:00 +08:00
JianBo He
dab3e14686 fix(gw): fix static checking 2021-12-06 16:34:00 +08:00
JianBo He
3f35604d16 refactor(gw): fix gateway http api schema 2021-12-06 16:34:00 +08:00
JianBo He
f3f3f12635 refactor: improve the _api_clieints implement 2021-12-06 16:33:59 +08:00
JianBo He
01c50992e9 refactor: improve gw api 2021-12-06 16:33:38 +08:00
JianBo He
169848c027 feat(gw): return the created/updated resource info 2021-12-06 16:32:46 +08:00
JianBo He
bc012d6554 chore(gw): change lwm2m&coap api path 2021-12-06 16:30:59 +08:00
Zaiming (Stone) Shi
5d3cb6ae1c refactor(authn): align authn config root name
authn configs are checked independently per-auth provider,
this was to make authn providers more plugable.

in order to make environment variable overrides work for authn,
we need to have a unified view of the config layout,
no matter from root level, or partially checking per-provider
config independently, i.e. we try to use the same config envelop.
2021-12-04 09:33:14 +01:00
zhongwencool
c1a7d7bede fix(conf): emqx_conf return nest error 2021-12-01 16:08:49 +08:00
lafirest
cfe2954a88 fix(emqx_gateway): fix the function_clause error when client disconnect after connection created 2021-11-30 12:25:06 +08:00
JianBo He
5204a1c6d4 test(gw): reduce useless log print 2021-11-23 16:01:40 +08:00
DDDHuang
6a60c17970
fix: add lw gateway endpoint placeholder support (#6267) 2021-11-23 12:08:45 +08:00
JianBo He
50542ec441
Merge pull request #6248 from HJianBo/gw-improve-apis-1
Add authentication data management APIs for gateway
2021-11-23 09:12:04 +08:00
JianBo He
1e2eac0fce test(gw): add tests for authm data-mgmt 2021-11-22 17:38:59 +08:00
JianBo He
4eb27ce25b fix(gw): fix bad paging params 2021-11-22 17:38:59 +08:00
JianBo He
7d9930b64e feat(gw): support data-management apis gw's authn 2021-11-22 17:38:59 +08:00
JianBo He
4f752fb5ab chore(gw): fix elvis warnings 2021-11-22 17:38:59 +08:00
JianBo He
f033fad7b3 refactor(gw): deps on emqx_dasboard_swagger 2021-11-22 17:38:59 +08:00
Shawn
9c93ea0338 feat(connector): add API for /connectors_test 2021-11-22 17:35:33 +08:00
JianBo He
ad2dbb5a49 chore(gw-sn): append messge headers 2021-11-17 14:51:27 +08:00
JianBo He
d0bdf27e0c chore: fix elvis warnings 2021-11-17 11:04:09 +08:00
JianBo He
f23d2f2c92 chore: refine case side-effect 2021-11-17 10:46:46 +08:00
JianBo He
814e01c0cb test(authz): deps on emqx_conf instead of meck emqx_schema 2021-11-17 10:46:38 +08:00
JianBo He
cf1d98adc6 chore(gw): save cert files 2021-11-16 10:00:54 +08:00
JianBo He
5a08fa6a03 docs(gw): add gateway comment 2021-11-16 10:00:54 +08:00
JianBo He
1f067d6f3b docs(gw): add docs for gateway schema 2021-11-16 10:00:54 +08:00
JianBo He
287859fe36 chore(gw): integrate emqx-conf 2021-11-16 09:58:37 +08:00
JianBo He
cf17a55079 chore(gw): rename cm-registry shard name 2021-11-16 09:58:37 +08:00
zhongwencool
01f29ab052
chore(swagger): lwm2m2 http api to hocon (#6153) 2021-11-15 15:08:50 +08:00
lafirest
e8f6035c34
feat(emqx_lwm2m): add some lwm2m api (#6047) 2021-11-10 14:20:33 +08:00
JianBo He
b36865e970 fix(api): escape the searching string 2021-10-26 10:34:03 +08:00
Ilya Averyanov
e37ecc10a6 style(behaviour attrs): unify behaviour declarations 2021-10-21 15:10:59 +03:00
zhongwencool
d784e63b9f
emqx_conf (#5939)
* feat(emqx_conf): move conf manager for emqx_machine to emqx_conf

* chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2

* fix: common test failed

* fix: badmatch by typo wrong key

* fix(emqx_conf): get the wrong core nodes

* fix(emqx_conf): get core node's tnx_id not latest tnx_id

* fix: add ro_transation when copy conf file

* fix: delete debug info

* fix: change ekka_rlog to mria_rlog

* fix: remove cluster_rpc from emqx_machine.

* fix: don't call ekka:start/0 explicitly

* fix: ekka should be start in emqx_machine
2021-10-21 18:08:51 +08:00
k32
8e58699ff5
Merge pull request #5937 from k32/mria
feat(mria): Replace ekka_mnesia with mria
2021-10-20 13:15:23 +02:00
JianBo He
69df027ee9 chore(gw): use SLOG to replace LOG 2021-10-20 10:40:35 +08:00
JianBo He
2416fa4e13 chore(gw): return 204 if no authn config 2021-10-20 10:40:35 +08:00
JianBo He
46e0609544 test(gw): add clients HTTP-API tests 2021-10-20 10:40:35 +08:00
JianBo He
6f0d0ab473 test(gw): eliminate side effect between tests 2021-10-20 10:40:35 +08:00
JianBo He
7b211d35b8 test(gw): add basic tests for http-api 2021-10-20 10:40:35 +08:00
JianBo He
49adf2f7d2 chore(gw-lwm2m): set qmode to duration_s type 2021-10-20 10:40:35 +08:00
JianBo He
e4adc07add chore(gw-exproto): refactor ssl options 2021-10-20 10:40:35 +08:00
JianBo He
ac42a91fc2 chore(gw-exproto): retry the closed grpc stream 2021-10-20 10:40:35 +08:00
JianBo He
fc2e358f01 chore(gw): add ssl feilds for exproto 2021-10-20 10:40:35 +08:00
JianBo He
b637764095 chore(gw): return unloaded status instead of 404 2021-10-20 10:40:35 +08:00
JianBo He
ec4198c91c feat(gw-lw): return the special fields for lwm2m 2021-10-20 10:40:35 +08:00
JianBo He
92a5c333af chore(gw-lwm2m): store lifetime in clientinfo 2021-10-20 10:40:35 +08:00
JianBo He
cfc905aa1a fix(gw): insert channel info into ets table 2021-10-20 10:40:35 +08:00
JimMoen
a8bb2a60b0 fix(gateway_api): client ip and port as two fields when clients query 2021-10-19 15:36:02 +08:00
k32
d14b8e7da9 chore(mria): ekka_rlog -> mria_rlog 2021-10-18 22:04:05 +02:00
k32
326923850c chore(mria): Get rid of copy_mnesia callback 2021-10-18 22:04:05 +02:00
k32
9965d6e028 chore(mria): ekka_mnesia:create_table -> mria:create_table 2021-10-18 22:04:05 +02:00
k32
ff48322e0c chore(mria): ekka_mnesia:running_nodes -> mria:running_nodes 2021-10-18 22:04:05 +02:00
k32
b515a45a4f chore(mria): Rename module: ekka_mnesia -> mria 2021-10-18 22:04:05 +02:00
JimMoen
40ab0064ae fix(api): invalid params HTTP Code 400 2021-10-14 18:57:33 +08:00
zhongwencool
d80f20aca3
feat(swagger): define mgmt config_api by hocon schema (#5814)
* feat(swagger): define mgmt config_api by hocon schema

* fix: enum can't defined by integer, use union.

* fix: hocon schema union to enum
2021-10-13 14:04:43 +08:00
lafirest
3524942766 fix: change all ~s in io format to ~ts
we should use unicode to replace latin1
2021-10-12 15:09:24 +08:00
JimMoen
19456d84a5 style: code format fix 2021-10-12 10:37:45 +08:00
JimMoen
3960204ce3 refactor(mgmt_api): select_table_with_count. 2021-10-11 21:11:34 +08:00
JimMoen
ea7aa5bc41 refactor(mgmt_api): use select_table congruously. 2021-10-11 21:11:34 +08:00
JimMoen
b65c9908a1 refactor(mgmt_api): Clearer variable name. 2021-10-11 21:11:34 +08:00
JianBo He
45ca168216 test(gw): fix bad test cases 2021-09-30 15:51:02 +08:00
JianBo He
ac3af8260d fix(gw): fix print client record error 2021-09-30 15:51:02 +08:00
JianBo He
adaf3db719 refactor(gw): put conf operations into emqx_gateway_conf mod 2021-09-30 15:51:02 +08:00
JianBo He
642b588ad0 fix(gw): fix removing listener error 2021-09-30 15:51:02 +08:00
Zaiming Shi
e7e8b8c77b fix(schema): check tlsv1.3 availability 2021-09-27 13:53:54 +02:00
lafirest
acb5c693ba
Merge pull request #5767 from lafirest/fix/time_unit
fix(schema): fix some time unit in schema
2021-09-26 15:35:27 +08:00
JianBo He
8e78d29325 chore(gw): improve emqx_gateway_schema 2021-09-26 15:19:55 +08:00
JianBo He
791408cd99 refactor(gw): simplify code structure
1. Add the management API for listener's authn
2. Clarify responsed error messages
2021-09-26 15:19:55 +08:00
JianBo He
f0ac62c513 refactor(gw): use emqx_gateway_conf to update conf 2021-09-26 15:19:55 +08:00
JianBo He
b55a1f62c3 test(gw): more cases for emqx_gateway_conf 2021-09-26 15:19:55 +08:00
JianBo He
d163e99d58 chore(gw): add cases for emqx_gateway_conf 2021-09-26 15:19:55 +08:00
JianBo He
f68dfff0d6 refactor(gw): refactor config hot-upgrade mechnism 2021-09-26 15:19:55 +08:00
JianBo He
a9e32ac106 chore(gw): fix gatway enable/1 not working 2021-09-26 15:19:55 +08:00
JianBo He
d8176f4378 chore(gw): pass listener id into listener params 2021-09-26 15:19:55 +08:00
JianBo He
3e033b419c refactor(gw): integrate with authn 2021-09-26 15:19:55 +08:00
JianBo He
aa03023811 chore(gw): http-api for loading gateway 2021-09-26 15:19:55 +08:00
lafirest
e31e175e47 fix(schema): fix some time unit in schema 2021-09-26 14:38:53 +08:00
Zaiming Shi
97e1cf65b7 refactor(schema): make a client ssl options schema
client and server ssl options share some common fields
this commit make an abstraction for the common fields
then export server_ssl_options_schema/2 and client_ssl_options_schema/1
for other schema modules to call
2021-09-23 16:56:02 +02:00
Zaiming Shi
fbd5701989 fix(emqx_schema): make ssl config schema right 2021-09-23 16:56:02 +02:00
lafirest
24eb0ac7bb
Merge pull request #5721 from lafirest/test/coap_case
test(emqx_coap): add some test case
2021-09-17 09:46:50 +08:00
lafirest
a83882a3b8
Merge pull request #5726 from lafirest/test/emqx_lwm2m
test(emqx_lwm2m): remove the lwm2m_coap dependency
2021-09-17 09:41:48 +08:00
JimMoen
deac54c847 chore(for editor): Add comments for Emacs major mode. 2021-09-16 15:43:30 +08:00
lafirest
acbbbbcd24 test(emqx_lwm2m): remove the lwm2m_coap dependency 2021-09-14 11:20:53 +08:00
lafirest
99566f12bb test(emqx_coap): add some test case 2021-09-14 11:11:30 +08:00
zhongwencool
86eb6605f1
Merge pull request #5623 from zhongwencool/cluster-call-api
feat(cluster-call): support confirm success after all mfa apply ok
2021-09-13 16:03:47 +08:00
JianBo He
94c51f9253 chore(gw): fix dialyzer warnings 2021-09-10 18:41:23 +08:00
JianBo He
18ed1c9794 chore(gw): add listeners apis 2021-09-10 18:41:23 +08:00
Zaiming Shi
cca3a4414f fix(bin/emqx): do not try to find vm.args file for cold_eval 2021-09-10 07:28:12 +02:00
Zaiming Shi
3a60f00643 refactor(emqx_gateway_schema): use hoconsc:map 2021-09-10 07:27:01 +02:00
zhongwencool
5a4428c53d Merge branch 'cluster-call-api' of https://github.com/zhongwencool/emqx into zhongwencool-cluster-call-api 2021-09-10 13:11:13 +08:00
Shawn
1dae970cd3 refactor(rule): move emqx_rule_utils.erl -> emqx_plugin_libs_rule.erl 2021-09-10 11:43:03 +08:00
lafirest
5693981b54
Merge pull request #5699 from lafirest/feat/lwm2m_api
refactor(emqx_lwm2m): refactor lwm2m api use new rest framework
2021-09-10 10:34:18 +08:00
JianBo He
5da085bacc chore(gw): improve the listener started banner 2021-09-09 17:33:04 +08:00
JianBo He
020e04e5cf chore(gw): improve the default confs 2021-09-09 17:33:04 +08:00
JianBo He
0453702ce5 refactor(gw): improve http-api return structure 2021-09-09 17:33:04 +08:00
JianBo He
e94e09075c refactor(gw): keep listeners conf tree compliance with core 2021-09-09 17:33:04 +08:00
lafirest
60914697b2 refactor(emqx_lwm2m): refactor lwm2m api use new rest framework 2021-09-09 16:37:14 +08:00
lafirest
9ad9f619c1
Merge pull request #5676 from lafirest/feat/coap_api
feat(emqx_coap): add emqx_coap_api
2021-09-08 22:23:22 +08:00
Jim Moen
4e5d781d21 fix: Words spelling fix. 2021-09-08 11:39:56 +08:00
lafirest
89f48f89eb feat(emqx_coap): add emqx_coap_api
1. add a request api for emqx_coap
2. fix some emqx_coap logic error
2021-09-07 19:20:52 +08:00
lafirest
35cc0d972d
Merge pull request #5660 from lafirest/fix/emqx_lwm2m
fix(emqx_lwm2m): fix some error and incomplete function
2021-09-07 16:15:17 +08:00
tigercl
bd7a8179b4
Merge pull request #5664 from tigercl/refactor/authn
refactor(authn): refactor to support global and listener authentication
2021-09-07 11:38:46 +08:00
zhouzb
627de1d58c fix(test): fix test case 2021-09-07 10:29:45 +08:00
lafirest
caee51f92a fix(emqx_lwm2m): fix some error and incomplete function 2021-09-07 09:59:07 +08:00
JianBo He
ba9ad47cc1 fix(gw-exproto): fix grpc remote call 2021-09-07 09:49:33 +08:00
zhouzb
e998770f2e refactor(authn): refactor to support global and listener authentication 2021-09-06 18:46:08 +08:00
JianBo He
c42c1e698a chore(gw): add From param for _channel:handle_call/3 2021-09-06 09:16:03 +08:00
Zaiming Shi
ec13463f4a refactor(schema): prepare for hocon schema doc generation 2021-09-03 11:02:31 +02:00
lafirest
d7b198b292
Merge pull request #5638 from HJianBo/gw-fix-udp-outgoing
fix(gw): not packing udp packages
2021-09-03 10:11:05 +08:00