Zaiming (Stone) Shi
2a6d11c7f1
Merge pull request #7038 from zmstone/chore-rename-emqx-no-space-source-code
...
chore: EMQ X -> EMQX in source code
2022-02-17 21:13:43 +01:00
Zaiming (Stone) Shi
6a354d910e
chore: rename EMQ_X to EMQX in hrl file macros
2022-02-17 15:55:46 +01:00
zhongwencool
c88504f918
Merge pull request #7023 from zhongwencool/license-alarm-support
...
License alarm support
2022-02-17 22:09:51 +08:00
lafirest
3c92906405
test(emqx_limiter): improve the code coverage of RateLimit to 87%
2022-02-17 14:50:27 +08:00
Zaiming (Stone) Shi
64db085163
chore: EMQ X -> EMQX in source code
2022-02-16 22:08:12 +01:00
Zaiming (Stone) Shi
0528262705
chore(app.src): EMQ X -> EMQX in .app.src files
2022-02-16 17:51:45 +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
zhongwencool
34fe5082c4
fix(schema): schema global validations not working
2022-02-16 14:20:15 +08:00
Zaiming (Stone) Shi
2e94880bb6
docs: More EMQ X -> EMQX rename in descriptive strings
2022-02-15 22:39:11 +01:00
zhongwencool
1413809b81
Merge pull request #6948 from zhongwencool/fix-watermark-master
...
fix(watermark): watermark should use > instead of >=
2022-02-14 16:11:47 +08:00
zhongwencool
80169ccb68
chore: add more eunit for emqx_datetime
2022-02-14 15:30:03 +08:00
JianBo He
229a62bcc9
Merge pull request #6988 from HJianBo/acl-metrics-add
...
feat(metrics): add acl metrics statistics
2022-02-14 15:06:04 +08:00
zhongwencool
498434826a
feat(schema): schema support epoch_second, epoch_millisecond type.
2022-02-14 11:35:32 +08:00
Zaiming (Stone) Shi
b9343891e4
Merge pull request #6946 from zmstone/refactor-license-simplify-parser-error
...
refactor: treat throw exception as `{error, Reason}` return
2022-02-11 19:09:40 +01:00
Zaiming (Stone) Shi
e2a67760b1
fix(emqx_authz_file): throw exception for catch
2022-02-11 17:16:00 +01:00
JianBo He
f471214956
feat(metrics): add acl metrics statistics
2022-02-11 15:20:18 +08:00
JianBo He
e895de2c5e
Merge branch 'master' into port/slow_subs
2022-02-11 14:37:10 +08:00
DDDHuang
fbefc92178
Merge pull request #6969 from DDDHuang/ws_client_metrics
...
feat(metrics): ws client support more send&recv metrics
2022-02-11 11:14:56 +08:00
DDDHuang
511060adb4
fix(test): ws conn metrics
2022-02-11 09:38:41 +08:00
DDDHuang
0826084ce9
feat(metrics): ws client support more send&recv metrics
2022-02-11 09:38:41 +08:00
Thales Macedo Garitezi
609d8a5efa
fix(channel): wrong case clause when alias is inexistent (5.0)
...
Fixes #6978 .
2022-02-10 16:23:54 -03:00
Zaiming (Stone) Shi
91366a71a4
fix: try Expr of only catches exceptions in Expr but not cases clauses
2022-02-10 13:12:22 +01:00
Zaiming (Stone) Shi
a86b684535
fix(emqx_config_handler): do not log throw exception
2022-02-10 12:40:46 +01:00
Chris
14630568d6
feat: create tests for connector pgsql module and refactoring
2022-02-10 10:40:46 +01:00
firest
361ca5be42
fix(emqx_slow_subs): change rpc call to bpapi
2022-02-10 17:40:19 +08:00
firest
b9884de1d0
fix: fix proper test error
2022-02-10 16:09:17 +08:00
firest
2fcc24dea6
fix(emqx_slow_subs): fix test case error
2022-02-10 15:16:37 +08:00
lafirest
b09683bfcd
fix(emqx_slow_subs): fix some errors and test cases
2022-02-10 14:55:19 +08:00
lafirest
0c48bd92db
feat: port slow subs from v4.4
2022-02-10 14:51:37 +08:00
DDDHuang
fbb8f46fcd
fix(api): qos shcema & code formate
2022-02-10 10:33:39 +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
e6997dc1ce
Merge pull request #6942 from terry-xiaoyu/hook_delivery_drop
...
Hook delivery drop
2022-02-09 18:28:56 +08:00
zhongwencool
47b1dde7fd
Merge pull request #6949 from zhongwencool/add-qos-type
...
feat(schema): support qos type.
2022-02-09 16:13:11 +08:00
Shawn
9118cfb4ad
fix(connection): revert metric names for 'recv_msg.dropped.await_pubrel_timeout'
2022-02-09 15:41:28 +08:00
zhongwencool
36cf00108c
feat(schema): support qos type.
2022-02-09 15:16:43 +08:00
zhongwencool
b2d77cac39
fix(watermark): watermark should use greater than(>), not greater than or equal to(>=).
2022-02-09 11:17:45 +08:00
lafirest
de75edd176
Merge pull request #6925 from lafirest/fix/flaky-test
...
fix(emqx_ratelimiter): relax the rate bound of test cases
2022-02-09 10:01:38 +08:00
Thales Macedo Garitezi
152bbe6bb3
refactor: rm unused fn
2022-02-08 18:18:18 -03:00
Thales Macedo Garitezi
01794c2d2c
fix(ctl): fix formatting when printing messages without arguments
...
Without passing an empty argument list to `emqx_ctl:print`, formatting
instructions like `~n` are being printed literally.
```
Ignore.~nJoin the cluster successfully.~nCluster status: #{running_nodes =>
['emqx@emqx-0.int.thalesmg','emqx@emqx-1.int.thalesmg',
'emqx@emqx-2.int.thalesmg','emqx@emqx-3.int.thalesmg',
'emqx@emqx-4.int.thalesmg'],
stopped_nodes => []}
```
2022-02-08 17:48:19 -03:00
k32
5a1b18ae86
fix(system_monitor): Fix conditional start
2022-02-08 12:46:27 +01:00
Shawn
707284db31
fix(session): update calling to session APIs
2022-02-08 18:49:38 +08:00
Shawn
93092657b9
fix(session): update testcases
2022-02-08 18:33:06 +08:00
zhongwencool
3b4eade1ad
Merge pull request #6900 from zhongwencool/restricted-shell
...
feat(shell): add restricted shell and user_default
2022-02-08 17:25:28 +08:00
Shawn
2879001694
fix(metrics): rename metrics 'messages.dropped.expired' to 'messages.dropped.await_pubrel_timeout'
2022-02-08 17:14:59 +08:00
Shawn
06168f7080
refactor(session): pass ClientInfo as first params to APIs of emqx_session
2022-02-08 16:52:47 +08:00
zhongwencool
f3fa302d84
chore: print only the port number when bound on all interfaces.
2022-02-08 15:25:22 +08:00
zhongwencool
b50ceac9bb
chore(listener): change the listener binding format 0.0.0.0:port to :port.
2022-02-08 10:28:10 +08:00
Ilya Averyanov
17599432d1
feat(license): add license application
2022-02-07 19:05:47 +03:00
k32
9c5d35e0db
chore(ekka): Bump version to 0.12.0
2022-02-07 14:39:43 +01:00
k32
78c762479f
feat(router): Mark CM_SHARD and ROUTE_SHARD as dirty
2022-02-07 12:38:59 +01:00
k32
dbe1282d32
chore(mria): Bump version to 0.2.0
2022-02-07 12:37:13 +01:00
zhongwencool
6a701e098f
feat(shell): add restricted shell and user_default
2022-02-07 15:33:59 +08:00
lafirest
467bb830b1
fix(emqx_ratelimiter): relax the rate bound of test cases
2022-02-07 13:57:48 +08:00
k32
f699de9773
feat(system_monitor): Bump version to 3.0.0
2022-02-07 02:22:11 +01:00
Zaiming (Stone) Shi
507952c473
feat: dump schema json file to dashbarod static dir
2022-01-31 16:38:41 +01:00
Zaiming (Stone) Shi
fe24892b6d
fix(emqx_limiter): no white space in schema map name
2022-01-31 16:04:37 +01:00
Zaiming (Stone) Shi
f7703c906e
refactor: move plain_check impl to emqx_hocon
2022-01-29 10:16:55 +01: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
Zaiming (Stone) Shi
d6f7ffec3c
Merge pull request #6881 from zmstone/refactor-upgrade-hocon-0.23.0
...
refactor: upgrade to hocon 0.23.0
2022-01-27 15:48:23 +01:00
zhongwencool
c049e296d4
Merge pull request #6852 from zhongwencool/fix-keepalive-init
...
fix(keepalive): keepalive desc improvement.
2022-01-27 22:41:10 +08:00
Zaiming (Stone) Shi
815c47e169
test: call logger apis directly
2022-01-27 15:19:50 +01:00
Thales Macedo Garitezi
bd0d331b64
Merge pull request #6636 from emqx/elixir-packages-mkII
...
ci(mix): build emqx packages with elixir
2022-01-27 11:10:30 -03:00
Kian-Meng Ang
fc92e4c8bf
docs: fix typos
2022-01-27 12:29:38 +01:00
zhongwencool
a7676d0163
fix(doc): Update the documentation/keepalive according to the review.
2022-01-27 18:57:35 +08:00
Zaiming (Stone) Shi
6bf5f2c426
test: fix old hocon API calls
2022-01-27 08:21:31 +01:00
zhongwencool
3ce3c5c805
fix(doc): Update the documentation according to the review
2022-01-27 10:54:11 +08:00
Zaiming (Stone) Shi
252d7e85d9
refactor: call new hocon apis
2022-01-27 00:23:08 +01:00
Zaiming (Stone) Shi
8c114db168
chore: pin hocon 0.23.0
2022-01-27 00:23:08 +01:00
Zaiming (Stone) Shi
1718360156
refactor: delete deprecated logging macros
2022-01-26 23:25:11 +01:00
Thales Macedo Garitezi
12f1757328
chore(mix): fix include path for mix
2022-01-26 16:59:50 -03:00
Thales Macedo Garitezi
f34e87daeb
chore(ekka): update ekka -> 0.11.3
...
This ekka tag contains the core node discovery callback feature.
2022-01-26 14:19:39 -03:00
Zaiming (Stone) Shi
b9e507110c
build: add EMQX_ENTERPRISE compile flag
2022-01-26 14:25:59 +01:00
Zaiming (Stone) Shi
391e480824
build: parameterise package version
...
so that community and enterprise edition can be built from the
same branch
2022-01-26 14:25:59 +01:00
k32
6f8aa016c3
test(bapapi): Print errors to the console
2022-01-26 11:59:32 +01:00
k32
bdc6d18589
feat(bpapi): Version negotiation
2022-01-26 11:59:21 +01:00
zhongwencool
abc0a3526e
fix(keepalive): keepalive init with right recv_oct
2022-01-26 18:27:15 +08:00
zhongwencool
e458d4790c
chore(docs): update mqtt schema desc
2022-01-26 16:38:24 +08:00
Zaiming (Stone) Shi
2105d1f22b
test: call ct helpers to load config
2022-01-25 11:50:18 +01:00
Zaiming (Stone) Shi
bf7ac80a83
feat: add api to delete override conf files
...
used in tests
2022-01-25 08:29:04 +01:00
Zaiming (Stone) Shi
f1937e261c
refactor(emqx_config): apply cluster|local overrides on top of base
2022-01-24 13:30:42 +01:00
k32
d90566be5c
ci(bpapi): Fail static check on BPAPI violations
2022-01-21 13:55:09 +01:00
k32
9fad296385
Merge pull request #6809 from k32/bpapi-resource
...
refactor(emqx_resource): Decorate RPCs
2022-01-20 12:54:46 +01:00
zhongwencool
5bbe2ec1c6
Merge pull request #6766 from zhongwencool/fix-trace-api-return
...
fix(trace): create_trace return new trace; delete_trace return 204
2022-01-20 10:41:45 +08:00
k32
c2e5dfae97
fix(bpapi): Ignore emqx_plugin_libs_rule:cluster_call/3 function
2022-01-19 22:00:34 +01:00
k32
177c9c7f77
fix(bpapi): Ignore pmap for now
2022-01-19 19:09:55 +01:00
k32
7061e6eefe
refactor(emqx_exhook): Decorate RPCs
2022-01-19 18:18:20 +01:00
k32
ded45b161a
test(emqx_cm_SUITE): Fix flaky test
2022-01-19 16:48:53 +01:00
k32
a469c466a6
test(emqx_mgmt): Exempt do_query function from BPAPI static check
2022-01-19 16:48:53 +01:00
k32
97078002f2
refactor(emqx_cm): Decorate RPCs
2022-01-19 16:48:53 +01:00
DDDHuang
e7dd401de9
Merge pull request #6776 from DDDHuang/client_metrics_5x
...
feat(metrics): client metrics with more detail
2022-01-19 13:36:57 +08:00
k32
4e9fb00a0e
refactor(mgmt_trace): Decorate RPCs
2022-01-18 16:46:32 +01:00
k32
39766d0ab4
refactor(emqx_bridge): Decorate remote procedure calls
2022-01-18 15:25:34 +01:00
k32
fbd7b132ca
docs(bpapi): Clarify deprecation procedure
2022-01-18 15:25:34 +01:00
k32
2ccf02cea9
refactor(emqx_mgmt): Decorate RPCs
2022-01-18 14:07:02 +01:00
DDDHuang
98e7ce7b7c
fix(test): for paho qos3
2022-01-18 18:06:47 +08:00
DDDHuang
f87f80f6e4
feat(metrics): client metrics with more detail
2022-01-18 11:28:41 +08:00
zhongwencool
75ad2ba65c
fix(trace): create_trace return new trace; delete_trace return 204
2022-01-18 09:34:36 +08:00
k32
52441c92fa
Merge pull request #6758 from k32/bpapi-mgmt
...
refactor(emqx_mgmt): Decorate RPCs
2022-01-17 11:12:02 +01:00
k32
428eeeffc0
refactor(emqx_cm): Move lookup_client/1 to emqx_cm
2022-01-14 16:45:14 +01:00
k32
288f9254ba
refactor(emqx_mgmt): Decorate RPCs
2022-01-14 15:41:10 +01:00
zhongwencool
8b31466538
chore(trace): replace trace_filter by is_trace
2022-01-14 15:33:43 +08:00
zhongwencool
681ab6b754
fix(review): refactor function name base on review sugguestion
2022-01-14 15:00:05 +08:00
zhongwencool
9727eb514d
feat(trace): improve debug msg format
2022-01-14 15:00:05 +08:00
zhongwencool
dc6c49d7f5
chore(trace): always ?SLOG when ?TRACE
2022-01-14 15:00:05 +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
k32
aa54c6135b
fix(bpapi): Move static checks to test directory
2022-01-13 20:58:33 +01: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
k32
64d594d1df
Merge pull request #6705 from k32/bpapi-conf
...
refactor(emqx_conf): Decorate remote procedure calls
2022-01-12 22:32:35 +01:00
k32
1e795759ce
docs(bpapi): Add README
2022-01-12 21:36:24 +01:00
Zaiming (Stone) Shi
cc2ae5ed71
Merge pull request #6624 from HJianBo/fix-conf-name-prefix
...
Remove `emqx_` prefix for some config scopes
2022-01-12 20:36:52 +01:00
k32
784ca5bf24
fix(emqx_map_lib): Fix underspec
2022-01-12 16:20:13 +01:00
k32
d25258943b
feat(bpapi): Verify emqx cluster RPC
2022-01-12 16:19:46 +01:00
k32
04bac16741
fix(bpapi): Use argument types from the spec
2022-01-12 15:40:21 +01:00
k32
7b65684c45
refactor(emqx_conf): Decorate remote procedure calls
2022-01-12 15:40:21 +01:00
JianBo He
6e0a248555
chore: add namespace for _schema.erl module
2022-01-12 15:01:00 +01:00
JianBo He
b1959086d9
chore: fix elvis warnings
2022-01-12 13:51:37 +08:00
JianBo He
12cc9065f8
chore(limiter): change root name emqx_limiter > limiter
2022-01-12 13:51:37 +08:00
k32
cad4eff283
refactor(persistent_session): Decorate API calls
2022-01-11 14:28:29 +01:00
k32
26f4b2495b
test(bpapi): Run verification in CI
2022-01-11 11:26:35 +01:00
k32
f4bf749134
Merge pull request #6679 from k32/bpapi-emqx
...
refactor(emqx): Decorate remote procedure calls
2022-01-07 19:52:45 +01:00
k32
9602ce0250
Merge pull request #6678 from k32/broker-bpapi
...
refactor(emqx_broker): Decorate remote procedure calls
2022-01-07 16:23:12 +01:00
k32
8c72eeb8d1
refactor(emqx): Decorate remote procedure calls
2022-01-07 12:59:10 +01:00
k32
1754afdab0
refactor(emqx_broker): Decorate remote procedure calls
2022-01-07 12:07:29 +01:00
k32
de89f7b253
fix(emqx_rpc): Add types and remove impossible clauses
2022-01-07 12:06:41 +01:00
k32
2307040bec
fix(bpapi): Add more static checks exceptions
2022-01-07 10:57:53 +01:00
zhongwencool
977b1bb7ec
chore(test): add snabbkaffe for create_trace test
2022-01-07 11:08:40 +08:00
zhongwencool
07ba4ad05e
fix: delete error log when file enoent.
...
delete emqx_trace_api, replace LOG by SLOG
2022-01-07 10:24:26 +08:00
Thales Macedo Garitezi
9059f2005a
fix(elixir): put Patch in version and add missing deps
...
Elixir requires that we use version of the form `Major.Minor.Patch`.
Also, Mix requires dependecies to be declared in `rebar.config` so it
can include the header files correctly.
2022-01-06 10:54:45 -03: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
63167cea70
chore: update copyright
2022-01-05 20:55:00 +01:00
zhouzb
f4ed3ccdd7
chore(release): update emqx release version
2022-01-05 23:30:06 +08:00
k32
22bdcfa4b5
fix(bpapi): Apply remarks
2022-01-05 14:37:26 +01:00
zhongwencool
d3d240e8d5
fix: revert hocon to 0.22.1
2022-01-05 19:50:11 +08:00
k32
9c675194f5
fix(bpapi): Fix dialyzer warnings
2022-01-05 12:10:48 +01:00
zhongwencool
c6c7f70a30
chore(hocon): upgrade hocon to 0.22.3
2022-01-05 15:57:19 +08:00
lafirest
81d862061a
Merge pull request #6557 from lafirest/fix/limiter
...
feat(emqx_limiter): improve burst implementation
2022-01-05 09:43:22 +08:00
k32
4f3f938d71
feat(bpapi): Introduce bpapi behavior
2022-01-05 01:43:18 +01:00
k32
0f6ec9d646
fix(bpapi): Fix build
2022-01-05 01:28:34 +01:00
k32
eaa71438b2
feat(bpapi): Typecheck function parameters
2022-01-05 01:28:34 +01:00
k32
64378be9a0
fix(bpapi): Optimize BPAPI dump size
2022-01-05 01:28:34 +01:00
k32
2c3af8d9fe
feat(bpapi): Move to emqx
...
Fix standalone build
2022-01-05 01:28:34 +01:00
k32
96fdd0c31f
fix(bpapi): Fix build order
2022-01-05 01:28:34 +01:00
k32
5c2a559991
feat(bpapi): Initial commit
2022-01-05 01:28:34 +01:00
k32
6ee18b6104
refactor(broker): Don't use a macro
2022-01-05 01:28:31 +01:00
lafirest
a593921137
fix(emqx_retainer): fix the stats function of retainer
2022-01-04 17:26:48 +08:00
Zaiming (Stone) Shi
719800914a
Merge branch 'ci-run-dialyzer-on-slef-hosted' into merge-5.0-beta.3-to-master
2022-01-03 16:23:11 +01:00
k32
b4048c2789
Merge pull request #6609 from k32/dev/sysmon-conf
...
fix(system_monitor): Unify configuration with sysmon
2022-01-03 14:03:32 +01:00
k32
377ed03a20
fix(system_monitor): Unify configuration with sysmon
2022-01-03 12:09:37 +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
Ilya Averyanov
384493369b
Merge pull request #6587 from savonarola/improve-authz-coverage-more
...
chore(authz): increase coverage
2021-12-31 18:58:21 +03:00
Zaiming (Stone) Shi
b09d0d8e4c
Merge pull request #6586 from zmstone/docs-explain-layered-config-at-the-top
...
docs: explain layered config at the top
2021-12-31 08:10:15 +01:00
Ilya Averyanov
2ffcaad41e
chore(authz): increase coverage
2021-12-31 01:24:18 +03:00
Thales Macedo Garitezi
c29bc126ef
Merge pull request #6507 from emqx/build-with-mix-mkII
...
Build with Elixir Mix Release
2021-12-30 15:00:38 -03:00
Zaiming (Stone) Shi
d191f7cf7e
chore: update to hocon 0.22.2
2021-12-30 18:36:26 +01:00
zhongwencool
489fb7f806
fix(trace): copy binary:encode_hex/2 from binary.erl
2021-12-30 21:38:23 +08:00
zhongwencool
43141dffee
Merge branch 'release-5.0-beta.3' into trace-formatter
2021-12-29 22:37:59 +08:00
zhongwencool
b8bb5ff738
fix(trace): delete duplicate topic from msg
2021-12-29 22:33:34 +08:00
Thales Macedo Garitezi
048afa6d2d
fix(config): add missing enum constructors for `shared_subscription_strategy`
...
Currently, there's code and tests that expect the possibility of a
value `sticky`, `hash_topic` and `hash_clientid` in the
`node.shared_subscritpion_strategy` configuration, but the schema enum
does not contain those constructors.
2021-12-29 10:34:20 -03:00
zhongwencool
121d906992
chore(log): add SLOG/3 to add meta info
2021-12-29 14:48:48 +08:00
zhongwencool
8b5b3a448a
fix(test): trace_handler ct fail
2021-12-29 11:06:31 +08:00
zhongwencool
4b6bba11eb
feat(trace): struct log for trace
2021-12-29 00:26:54 +08:00
zhongwencool
0712fc1e75
chore(schema): remove emqx_schema:unicode_binary/0
2021-12-28 23:50:12 +08:00
Thales Macedo Garitezi
0020cf592f
Merge remote-tracking branch 'origin/master' into build-with-mix-mkII
2021-12-28 11:28:40 -03:00
zhongwencool
47be5b9ef2
Merge pull request #6539 from zhongwencool/fix-override-conf-not-load
...
fix(conf): can't include local/overide-conf file
2021-12-28 18:03:56 +08:00
zhongwencool
e44f7de596
chore(conf): update hocon to 0.22.1
2021-12-28 16:17:19 +08:00
Shawn
bf2392f682
chore(typerefl): update typerefl to 0.8.6
2021-12-28 10:52:30 +08:00
lafirest
e2240bdf03
feat(emqx_limiter): improve burst implementation
2021-12-28 10:13:55 +08:00
zhongwencool
668180388c
feat(trace): replace logger_formatter by emqx_trace_formatter
2021-12-27 14:40:40 +08:00
JianBo He
523b5761b7
Merge pull request #6527 from HJianBo/fix-receive-maximum-50
...
fix: disconnect the client due to exceed receive-maximum packets
2021-12-27 09:13:24 +08:00
zhongwencool
0b099432c5
fix(conf): can't include local/overide-conf file
2021-12-24 19:20:36 +08:00
tigercl
41694b7b34
Merge pull request #6526 from emqx/release-5.0-beta.3
...
Sync 5.0-beta.3 fixes into master
2021-12-24 13:49:13 +08:00
zhongwencool
33a6568654
fix(banned): crash by bad peerhost; add banned http API tests
2021-12-24 10:56:41 +08:00
k32
bd31b52e35
chore(ekka): Bump version to 0.11.2
2021-12-23 15:29:35 +01:00
Spycsh
41e373dbc4
Merge pull request #6478 from Spycsh/slog
...
chore: refactor ?SLOG
2021-12-23 22:21:33 +08:00
JianBo He
52502e29c3
fix: disconnect the client due to exceed receive-maximum packets
...
As described in the 5.0 specification, we should disconnect clients that
exceed the receive-maximum limit.
> If it receives more than Receive Maximum QoS 1 and QoS 2 PUBLISH packets
where it has not sent a PUBACK or PUBCOMP in response, **the Server uses a
DISCONNECT packet with Reason Code 0x9**
fix : #6447
2021-12-23 14:06:11 +08:00
Thales Macedo Garitezi
238895a301
chore(mix): correctly define release version
...
With this, we no longer need the last hack in `mix_release.sh`.
A version schema with 3 parts (Major.Minor.Patch) is required by
Elixir:
https://hexdocs.pm/elixir/1.13.1/Version.html#module-versions
2021-12-22 15:43:43 -03:00
Thales Macedo Garitezi
68cbded7c6
fix(dialyzer): fix dialyzer warnings
...
Adding hocon to emqx solves the issue, since other offending apps
depend on emqx. The warnings were that it was not able to find info
on the `hocon_schema` behaviour.
Example:
```
Callback info about the hocon_schema behaviour is not available
```
2021-12-22 15:15:19 -03: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
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
zhongwencool
f7a55d3f8d
Merge pull request #6238 from zhongwencool/fix-keepalive-ct-failed
...
fix: keepalive ct failed
2021-12-20 11:00:20 +08:00
zhongwencool
96ee51fe57
Merge pull request #6460 from zmstone/feat-add-plugin-mgmt
...
refactor(plugins): refactor plugins configuration interface
2021-12-20 09:24:38 +08:00
Spycsh
ca2660d609
chore: refactor ?SLOG
2021-12-18 00:17:45 +01:00
k32
93acf8a3a7
Merge pull request #6451 from k32/dev/fix-dispatch-when-emqx-is-stopped
...
fix(broker): Check broker status before dispatch
2021-12-17 15:19:34 +01:00
zhongwencool
870af6df41
fix: Limit interval between 0~65535
2021-12-17 15:51:54 +08:00
zhongwencool
38d42517f7
fix: misc_SUITE:t_drain_down sometimes fails
2021-12-17 14:58:50 +08:00
zhongwencool
38438415b8
fix: replace LOG by SLOG
2021-12-17 10:52:14 +08:00
zhongwencool
89d904b7ef
feat(trace): trace http api schema
2021-12-17 09:29:37 +08:00
Zaiming (Stone) Shi
3a7924d0fd
refactor(plugins): new CLI for plugins
2021-12-16 21:21:16 +01:00
Zaiming (Stone) Shi
47661042b9
fix(cli): make emqx_ctl aware of max width
2021-12-16 20:12:15 +01:00
Zaiming (Stone) Shi
b9a3b558ee
refactor(plugins): refactor plugins configuration interface
2021-12-16 13:59:20 +01:00
k32
618113d507
fix(broker): Check broker status before dispatch
...
Fixes : #6388
2021-12-15 19:49:46 +01:00
zhongwencool
a43ac1b778
fix: improve rfc3339 format error
2021-12-15 16:58:07 +08:00
zhongwencool
f95ef04cf7
Merge branch 'master' into api-key-secret
2021-12-15 16:01:09 +08:00
Thales Macedo Garitezi
95de2d3467
fix(monitor): fix return value on badrpc
...
If the rpc in `emqx_dashboard_monitor_api:get_collect/1` fails, an
empty map is return. But the current function expects a 4-tuple,
which results in a 500 error returned on such occasions.
```
curl -su admin:public localhost:8888/api/v5/monitor/current | jq .
{
"code": "INTERNAL_ERROR",
"message": "error, function_clause, [{emqx_dashboard_monitor_api,format_current_metrics,[[#{},{0,0,0,0},{0,0,0,0}],{0,0,0,0}],[{file,\"emqx_dashboard_monitor_api.erl\"},{line,179}]},{emqx_dashboard_monitor_api,current_counters,2,[{file,\"emqx_dashboard_monitor_api.erl\"},{line,167}]},{minirest_handler,apply_callback,3,[{file,\"minirest_handler.erl\"},{line,112}]},{minirest_handler,init,2,[{file,\"minirest_handler.erl\"},{line,38}]},{cowboy_handler,execute,2,[{file,\"cowboy_handler.erl\"},{line,41}]},{cowboy_stream_h,execute,3,[{file,\"cowboy_stream_h.erl\"},{line,318}]},{cowboy_stream_h,request_process,3,[{file,\"cowboy_stream_h.erl\"},{line,302}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,226}]}]"
}
```
2021-12-14 17:56:32 -03:00
Ilya Averyanov
b8a68d7a9f
Merge pull request #6384 from savonarola/refactor-password-hashing
...
refactor(authn): unify password hashing
2021-12-14 16:21:02 +03:00
Ilya Averyanov
708d9cfc6c
refactor(authn): restore pbkdf2 password hashing functionality
2021-12-13 21:40:09 +03:00
zhongwencool
b4e2aa0dcf
Merge branch 'master' into feat-add-emqx-plugins-app
2021-12-13 22:28:03 +08:00
lafirest
cbe683c6a3
Merge pull request #6353 from lafirest/slow_subs
...
feat(emqx_slow_sus): ported emqx_slow_subs from v4.4
2021-12-13 17:35:17 +08:00
JimMoen
5785b0c20b
fix(ssl): file content return type
2021-12-13 16:08:41 +08:00
Zaiming (Stone) Shi
d3d8b3a01f
fix: allow listener not_found before restart
2021-12-12 22:18:56 +01:00
Zaiming (Stone) Shi
38ac10d3e2
feat(plugins): add emqx_plugins skeleton
...
* added emqx_plugins app.
* emqx_plugins.erl is moved from emqx app to emqx_plugins app
same for the test SUITE
2021-12-12 19:40:34 +01:00
Ilya Averyanov
fddb28a4b0
fix(wss): update cowboy & ranch for OTP24 compatibility
2021-12-10 20:38:44 +03:00
lafirest
82746134bb
feat(emqx_slow_sus): ported emqx_slow_subs from v4.4
2021-12-10 16:42:55 +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
zhongwencool
0614c157ec
fix(elvis): elvis warning
2021-12-09 16:42:10 +08:00
zhongwencool
cf11f3f8ee
feat(api-key): support api_key/secret
2021-12-09 16:42:10 +08:00
JianBo He
20ba9d285f
feat(exhook): expose headers for on_messages_publish hook
2021-12-09 15:06:17 +08:00
Thales Macedo Garitezi
2b5fe9179e
fix(live_conn): fix live connection count on race condition (5.0)
...
Port from #6406 to 5.0.
When multiple clients try to connect concurrently using the same
client ID, they all call `emqx_channel:ensure_connected`, increasing
the live connection count, but only one will successfully acquire the
lock for that client ID. This means that all other clients that
increased the live connection count will not get to call neither
`emqx_channel:ensure_disconnected` nor be monitored for `DOWN`
messages, effectively causing a count leak.
By moving the increment to `emqx_cm:register_channel`, which is only
called inside the lock, we can remove this leakage.
Also, during the handling of `DOWN` messages, we now iterate over all
channel PIDs returned by `eqmx_misc:drain_down`, since it could be
that one or more PIDs are not contained in the `pmon` state.
2021-12-08 15:15:27 -03:00
Tobias Lindahl
92f116afa4
Merge pull request #6393 from emqx/fix-takeover-race-on-enqueued-messages
2021-12-08 11:00:46 +01:00
Ilya Averyanov
2b0a3e8ba3
refactor(authn): unify password hashing
2021-12-07 23:38:26 +03: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
Tobias Lindahl
14bef1ba31
refactor: make clauses safe for future reordering
2021-12-07 16:14:32 +01:00
Zaiming (Stone) Shi
5440b431a1
fix: typo takeovered -> takenover
2021-12-07 16:06:23 +01:00
Tobias Lindahl
e6ecc6ca60
fix(emqx_channel): fix race condition in session takeover
...
Sessions must not enqueue messages when another process is taking over
the client id, since it already passed on the message queue in the
session state.
Without this fix, messages arriving after `{takeover, 'begin'} to a
channel with no connection (i.e., a persistent session) would be lost.
2021-12-07 14:17:59 +01:00
Tobias Lindahl
4eef9a5bac
Merge pull request #6378 from emqx/fix-flaky-tests-persistent-session-SUITE
...
test(flaky_tests): fix persistent_session_SUITE
2021-12-06 14:01:34 +01:00
Thales Macedo Garitezi
b6dede3679
Merge pull request #6372 from emqx/fix-typo-listeners
...
fix(listeners): fix typo in listener type
`emqx_listeners:{current,max}_conns` were matching on type `tcl`.
However, this type doesn't exist (it's not defined in
`?TYPES_STRING`). Therefore, this clause would never match. It seems
that the intention was that it shouldbe `tcp`.
2021-12-06 09:06:54 -03:00
Tobias Lindahl
6ed3dbd39b
test(persistent_session_SUITE): protect against non-atom sinks
2021-12-06 12:40:58 +01:00
Thales Macedo Garitezi
2d46ae7517
fix(typo): fix more typos and restore rate_limit config after test
2021-12-06 08:14:50 -03:00
Tobias Lindahl
e62b094f3b
test(snabbkaffe): Update to latest snabbkaffe
...
In particular, this should remove the flaky snabbkaffe failures in
persistent session SUITE where the snabbkaffe_nemesis is trying to
make an ets:lookup in a table that no longer exists.
2021-12-06 11:22:25 +01:00
JimMoen
a6a1b288d2
Merge pull request #6365 from JimMoen/fix-vm-mem-info
...
fix(vm_mem): info calc and display
2021-12-06 17:47:52 +08:00
Tobias Lindahl
366c757959
test(flaky_tests): fix persistent_session_SUITE
...
Increase timeout on message receive and ensure more info when the test fails.
2021-12-06 10:42:19 +01:00
DDDHuang
b0b2adca37
Merge pull request #6377 from DDDHuang/alram_api_info
...
fix(alarm): alarm message with .2f format
2021-12-06 17:42:02 +08:00
Zaiming (Stone) Shi
96de7e6b30
docs: refine authn and auth config docs
2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi
a1f79850b4
refactor: allow accessing override config paths
2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi
5525cb3262
refactor: only apply environment variables on base config
2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi
e6e28f9002
docs: fix emqx_schema doc style
2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi
bfc36efa0e
fix: pin hocon 0.21.1
2021-12-06 08:00:37 +01:00
DDDHuang
1b0da3cc58
fix(alarm): alarm message with .2f format
2021-12-06 14:36:51 +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
Thales Macedo Garitezi
bc8a0d7060
fix(listeners): fix typo in listener type
...
`emqx_listeners:{current,max}_conns` were matching on type `tcl`.
However, this type doesn't exist (it's not defined in
`?TYPES_STRING`). Therefore, this clause would never match. It seems
that the intention was that it shouldbe `tcp`.
2021-12-03 15:55:51 -03:00
JimMoen
d4246ad2f6
fix(vm): add literal_alloc memory calculation
2021-12-03 14:41:33 +08:00
zhongwencool
858891dbf5
fix: rewrite ct badmatch
2021-12-03 09:54:44 +08:00
Ilya Averyanov
6b65151f69
Merge pull request #6325 from savonarola/test-authn-resources-scram
...
chore(authn): add SCRAM mechanism tests
2021-11-30 12:16:20 +03:00
tigercl
36cece7a49
Merge pull request #6314 from JimMoen/fix-re-escape
...
fix(authz): placehodler regular escape
2021-11-30 10:21:28 +08:00
Ilya Averyanov
4580c03ebc
chore(authn): add SCRAM mechanism tests
2021-11-29 20:49:45 +03:00
Thales Macedo Garitezi
284619ef86
Merge pull request #6310 from emqx/test-fix-possible-flakiness
...
test(flakiness): prevent possible flakiness in test
If the spawned process doesn't have enough time to be properly set up,
the returned stacktrace may be empty, making the test fail. By
synchronizing the startup, we know that the process will have a proper
stacktrace by the time of the assertion.
2021-11-26 08:09:05 -03:00
JimMoen
1d3558ebe0
style: make elvis happy
2021-11-26 17:46:38 +08:00
zhongwencool
f697028b70
Fix ping not return pong ( #6285 )
...
* fix: ./bin/emqx ping return pong
* chore: waiting longer for logger flush log to disk
* fix: change swagger page's limit from 100 to 1000
* chore: type wrong
* fix: sync log to disk by logger_disk_log_h:filesync
2021-11-26 17:02:45 +08:00
JimMoen
b41c41570a
fix(authz): placehodler regular escape
2021-11-26 15:39:42 +08:00
tigercl
124ba7a071
Merge pull request #6311 from emqx/release-5.0-beta.2
...
Sync bug fixes
2021-11-26 14:24:19 +08:00
Thales Macedo Garitezi
d6288a0b70
test(flakiness): prevent possible flakiness in test
...
If the spawned process doesn't have enough time to be properly set up,
the returned stacktrace may be empty, making the test fail. By
synchronizing the startup, we know that the process will have a proper
stacktrace by the time of the assertion.
2021-11-25 17:15:07 -03:00
JimMoen
f74e34b6a5
fix(conf): change `max_topic_levels` default configuration
2021-11-25 10:11:24 +08:00
Thales Macedo Garitezi
db3f7ff749
feat(sys_mon): remove `current_function`
...
Since we now output `current_stacktrace`, `current_function` is now
redundant.
2021-11-24 12:16:16 -03:00
Thales Macedo Garitezi
a41d0d49bd
test(impossible_case): remove impossible case test
...
Since `emqx_vm:get_process_info/1` only accepts PIDs as arguments,
it's impossible for `emqx_sys_mon:procinfo/1` to return after
receiving the atom `undefined`.
2021-11-24 11:34:36 -03:00
Thales Macedo Garitezi
75a17431d5
feat(sys_mon): Add proc_lib:initial_call/1 and current_stacktrace
...
This adds the information from `proc_lib:initial_call/1` and the
current stacktrace from the process info to `emqx_sys_mon:procinfo/1`
to aid in debugging some warnings with no context such as the
following:
```
2021-11-23T12:33:59.387818+00:00 [warning] info: [{old_heap_block_size,45988046},{heap_block_size,22177879},{mbuf_size,0},{stack_size,40},{old_heap_size,22354134},{heap_size,7106339}], line: 130, mfa: emqx_sys_mon:handle_info/2, msg: large_heap, procinfo: [{pid,<0.2667.0>},{memory,579763664},{total_heap_size,68510672},{heap_size,22177879},{stack_size,40},{min_heap_size,233},{initial_call,{proc_lib,init_p,5}},{current_function,{gen,do_call,4}},{registered_name,[]},{status,running},{message_queue_len,360945},{group_leader,<0.1660.0>},{priority,normal},{trap_exit,false},{reductions,16493271},{last_calls,false},{catchlevel,4},{trace,0},{suspending,[]},{sequential_trace_token,[]},{error_handler,error_handler}]
```
2021-11-24 11:24:27 -03:00
Tobias Lindahl
ca89a8da61
Merge pull request #6274 from emqx/persistent-sessions-ram-backend
...
feat(persistent_sessions): add choice between ram or disc backends in…
2021-11-24 09:25:14 +01:00
Spycsh
fda2e86187
Merge pull request #6107 from Spycsh/slog
...
chore: refactor slog under emqx, conf and exhook
2021-11-23 16:39:06 +01:00
Tobias Lindahl
9a97a7a1c7
chore(persistent_session): remove quotes around boolean in config
2021-11-23 16:24:40 +01:00
Tobias Lindahl
df2dda2e10
chore(persistent_session): make more table creation parameterized
2021-11-23 16:23:47 +01:00
Tobias Lindahl
9eaedbf246
test(persistent_sessions): add back test groups lost in refactoring
2021-11-23 16:17:27 +01:00
Tobias Lindahl
46788ad31b
chore(persistent_sessions): add descriptions of persistent session configs
2021-11-23 13:53:04 +01:00
Tobias Lindahl
0865fc6e57
test(persistent_sessions): increase wait time for cm unregister in test
2021-11-23 13:52:02 +01:00
Tobias Lindahl
6eb4a617bc
test(persistent_sessions): make another attempt at fixing flaky test
2021-11-23 13:29:47 +01:00
zhouzb
4d92e2b6af
fix(connector): fix options handling for mongo connector
2021-11-23 20:01:21 +08:00
Tobias Lindahl
08acb5d435
feat(persistent_sessions): add choice between ram or disc backends in mnesia
2021-11-23 11:51:21 +01:00
zhongwencool
ef0e440d27
feat: http trace api for 5.0 ( #6200 )
...
* feat: port log trace http api for 5.0
* fix: name must printable unicode len<256
* fix: check-nl-at-eof warning
* fix: handler_id always atom
2021-11-23 13:49:12 +08:00
DDDHuang
6a60c17970
fix: add lw gateway endpoint placeholder support ( #6267 )
2021-11-23 12:08:45 +08:00
Thales Macedo Garitezi
d7725f799c
fix(flaky_test): improve live connection count test on CI ( #6257 )
...
* fix(flaky_test): improve live connection count test on CI
It seems that a race condition that is triggered more often in CI can
make the test fail, possibly due to the ETS write not being seen by
the subsequent read in the test.
* style(elvis): fix NL in emqx_connector.conf
2021-11-23 11:12:45 +08:00
DDDHuang
21bd9bba55
fix: generate palce holder ( #6250 )
...
* fix: generate place holder
* style: whitespace cleanup
* refactor(authz): placeholder for athuz
* test: authz test suite for placeholder
* fix: lw place holder suite
* fix: auth n redis suite
Co-authored-by: JimMoen <LnJimMoen@outlook.com>
2021-11-23 10:56:43 +08:00
zhouzb
5aa8ba45d3
fix(authn): add the case when the instance does not exist
2021-11-22 23:30:05 +01:00
zhouzb
81d425cb27
fix(ssl): fix the issue that the content of TLS certificate is not converted to path
2021-11-22 23:30:05 +01:00
Spycsh
c89a663b53
chore: refactor slog under emqx, conf and exhook
2021-11-22 23:12:17 +01:00
Ilya Averyanov
071c2c99e8
refactor(authn resources): add `emqx_resource` and `emqx_authn` tests
2021-11-22 21:08:04 +03:00
Shawn
a0e81226d7
fix(elvis): improve some code format
2021-11-22 19:10:00 +08:00
Shawn
37aeb28a79
fix(connector): test case conflict
2021-11-22 18:52:43 +08:00
Shawn
07e3e43a21
fix(authn): xref issues
2021-11-22 17:35:33 +08:00
Shawn
9c93ea0338
feat(connector): add API for /connectors_test
2021-11-22 17:35:33 +08:00
Shawn
c4668b4047
fix(bridge): load emqx_conf in testcases
2021-11-22 17:35:32 +08:00
Shawn
7d64013edd
refactor(connector): add connector configs
2021-11-22 17:35:32 +08:00
Shawn
e41736f5cb
fix(bridge): update testcases for bridge APIs
2021-11-22 17:35:32 +08:00
Zaiming (Stone) Shi
90a65b8d04
Merge pull request #6242 from emqx/update-otp-version-and-pkg-name-scheme
...
Update otp version and pkg name scheme
2021-11-22 10:34:24 +01:00
Ilya Averyanov
3d449b5acf
fix(authn): create authn chain tab in start_link
2021-11-21 19:52:29 +03:00
Zaiming Shi
a705bc1fc7
build: change package name scheme
...
`${PROFILE}-${PKG_VSN}-otp${OTP_VSN}-${SYSTEM}-${ARCH}.zip`
2021-11-20 20:44:48 +01:00
Zaiming Shi
f84d1aa75e
style: fix some elvis style check
2021-11-20 20:41:06 +01:00
Zaiming Shi
6edd862dd5
refactor: no more EMQX_ENTERPRISE compile flag
...
The compile flag was introduced in EQM X 4.3 series
where CE and EE code was diverged large enough which made
non-practicle to determin edition at runtime.
such approach made testing quite challenging as we'll have to
build with different compile flags inorder to run per-edition
test cases
In this commit, we try to retrieve edition info from EMQX's
description text, (put to PT for fast access) at runtime
so we can test ALL editions from a super-set edition (EE).
2021-11-20 20:41:06 +01:00
Ilya Averyanov
c86887491c
fix(authn): transfer chain tab to emqx_authentication_sup
...
To preserve configuration after emqx_authentication crashes.
2021-11-19 16:41:22 +03:00
JianBo He
905e58c93a
Merge pull request #5997 from HJianBo/gw-fixes-part3
...
Gateway improvement part.3
2021-11-19 09:29:51 +08:00
JimMoen
e361cd5733
Fix dashboard APIs return ( #6177 )
...
* fix(dashboard_api): delete non-exist user wrongly return 204
* fix(dashboard): dashboard user should use `tags` not `tag`
* fix(dashboard): create/update user return 200 with full users list
* fix(dashboard): logout status code 204
* fix(dashboard): update pwd status code 204
* test: test suite for dashboard APIs
* refactor(dashboard): user info mnesia record name use description
* style: make elvis happy
* fix(api): dashboard swagger check request should not override env
* fix(dashboard): add/modify dashboard returns single record
* ci: update emqx-fvt version to new tag 1.0.2-dev1
2021-11-18 14:36:12 +08:00
zhongwencool
33f5eec802
feat: set keepalive via http api ( #6171 )
...
* feat: set keepalive via http api
* fix: make cluster_rpc test case solider
2021-11-18 10:56:58 +08:00
Tobias Lindahl
e52d8138bf
test(persistent_session_SUITE): fix another flaky test
...
Make sure that the connection process dies before terminating the
snabbkaffe trace.
2021-11-17 14:04:06 +01:00
Tobias Lindahl
5914b8ad3d
Fix flaky tests for persistent sessions ( #6202 )
...
* test(persistent_session_SUITE): remove redundant sleep and trap_exits
* test(persistent_session_SUITE): fix race for started snabbkaffe
Sometimes snabbkaffe was not started when publishing from a different
process. Wrap the publishing code in a ?check_trace to make sure it is
started, and make sure the publish process is truly down before ending
the trace.
* test(persistent_session_SUITE): fix takeover race
Make sure the previous session is unregistered before trying to
connect again. Sometimes the new session was trying to take over the
session that was shutting down still.
2021-11-17 18:55:11 +08:00
zhongwencool
04c204374a
chore: All placeholders are placed in the same header file ( #6190 )
...
* chore: All placeholders are placed in the same header file
* feat: Separate placeholders from the rules engine
2021-11-17 14:40:48 +08:00
zhongwencool
a7a5e2d1f4
fix: can't get default key if all key if default ( #6181 )
2021-11-17 14:27:51 +08:00
JianBo He
d0bdf27e0c
chore: fix elvis warnings
2021-11-17 11:04:09 +08:00
DDDHuang
7c48bcabed
fixt: generate api ( #6124 )
...
* fix: generate api
* fix: banned suite
* fix: generate api bad rpc
* fix: bad message suite
* fix: create banned with check existed
2021-11-17 10:55:48 +08:00
Tobias Lindahl
ae5792fa64
chore(emqx_cm): remove unused tracepoints
2021-11-16 14:37:15 +01:00
Tobias Lindahl
c9b86a8375
test: make testcases not rely on timer:sleep
2021-11-16 13:50:01 +01:00
Tobias Lindahl
05f3bc8c90
fix(emqx_cm): make takeover session less likely to hit a race
2021-11-16 13:49:45 +01:00
Zaiming Shi
ff23e9dde1
test: sync with emqx_cm process before flushing emqx_pool
2021-11-15 22:27:16 +01:00
JianBo He
9e333ac8b3
fix(emqx_cm): fix typos
2021-11-15 22:26:46 +01:00
Zaiming Shi
7e2ca9e287
fix(session): force kill session for 'kick' and 'discard'
...
Prior to this fix, 'kick' and 'discard' calls may timeout (or
fail for other reason), failures lead to only a log, then
continue to allow the new session to get registered.
As a result, in case a client is stuck, there is no way to
force it to step down, end up with multiple connections (sessions)
for the client ID in dashboard.
After this fix, the stale pids are notified to shutdown
via a gen_server:call, and forced with a exit(Pid, kill) for any
exception happend to the gen_server:call
2021-11-15 22:26:46 +01:00
Zaiming (Stone) Shi
650905667b
Merge pull request #6172 from JimMoen/fix-emqx_cm-ct
...
test: add tasks flushing in emqx_cm cases
2021-11-15 17:17:27 +01:00
JimMoen
cf80aaacc3
test: add tasks flushing in emqx_cm cases
2021-11-15 20:40:43 +08:00
Zaiming (Stone) Shi
9761fe2f6d
Merge pull request #6009 from tigercl/fix/authn
...
fix(authn): fix handling of query result
2021-11-15 13:32:56 +01:00
JimMoen
5a928ad8c3
test(cm): add sleep time for multicore scheduling
2021-11-15 13:52:15 +08:00
DDDHuang
f0107868d4
fix: test suite stable ( #6136 )
...
* fix: test suite stable
2021-11-12 10:53:30 +08:00
zhongwencool
7a5da76197
Mgmt http api banned ( #5998 )
...
* fix(swagger): don't transform [log,publish] to a list.pwd
* chore: replace banned-api by hocon schema
* fix(api): code style warning
2021-11-11 16:35:29 +08:00
Zaiming Shi
9c1972020c
test: fix flaky test emqx_stomp_SUITE:t_rest_clienit_inf
2021-11-10 22:51:18 +01:00
Thales Macedo Garitezi
60d5017eea
style(elvis): fix elvis style complaints
2021-11-10 11:12:10 -03:00
Thales Macedo Garitezi
8fe342a02d
feat(stats): track live channel / client count
...
Track connected client count
In order to correctly display the number of _connected_ clients in our
monitor dashboard, we need to track those connections that are
actually connected to clients, not considering connections from
persistent sessions that are disconnected. Today, the
`connections.count` that is displayed in the dashboards considers
those disconnected persistent sessions as well.
The new statistics can be found in the
[`emqx_management`](https://github.com/emqx/emqx/tree/main-v4.4/apps/emqx_management )
plugin, under `/api/v4/stats`, in the keys
`live_connections.{max,count}`.
2021-11-10 11:12:10 -03:00
zhongwencool
2d159ad9a1
fix(test): flaky mqtt expiry test case. ( #6099 )
2021-11-10 09:55:36 +08:00
k32
5726444645
Merge pull request #6066 from k32/remove-nosuspend-5
...
fix(emqx_connection): Add backpressure to TCP connections
2021-11-08 13:39:38 +01:00
Zaiming (Stone) Shi
3b02366a5b
Merge pull request #6064 from zmstone/style-check-newline-at-eof
...
Style: check newline at EOF
2021-11-04 18:01:45 +01:00
k32
0a5a9bd7d0
fix(emqx_connection): Add backpressure to TCP connections
...
Fixes #5494
2021-11-04 16:24:47 +01:00
Zaiming Shi
d1abb30818
ci: fix elvis check
2021-11-04 15:27:10 +01:00
Zaiming Shi
56e2a9741f
style: ensure newline at EOF for all files
2021-11-04 14:40:14 +01:00
Ilya Averyanov
aed9ad3f7d
Merge pull request #6037 from savonarola/fix-authn-api-atom-leak
...
fix(authn api): eliminate possible atom leak
2021-11-03 23:17:47 +03:00
Zaiming Shi
a139a0d453
fix(config): pin hocon 0.20.6
...
fix translation error
2021-11-03 11:15:35 +01:00
Tobias Lindahl
89cd68d36f
refactor(persistent_sessions): fix coding style
2021-11-02 09:33:54 +01:00
Tobias Lindahl
8385eff98e
fix(persistent_sessions): we only need to persist if the session expired
2021-11-02 09:27:50 +01:00
Tobias Lindahl
b7ed649185
test(persistent_session): wait in test to avoid race
2021-11-01 14:56:10 +01:00
Ilya Averyanov
796553b5ea
fix(authn api): eliminate possible atom leak
2021-11-01 16:51:48 +03:00
Tobias Lindahl
ce49a281ed
fix(persistent_sessions): protect against looking up stale data
2021-11-01 14:21:01 +01:00
Tobias Lindahl
329dd4d780
test(persistent_session): try to fix flaky snabbkaffe failure
2021-11-01 14:21:01 +01:00
Tobias Lindahl
1f13a6caad
chore(persistent_sessions): tune mnesia parameters for better dump behavior
2021-11-01 14:21:01 +01:00
Tobias Lindahl
ec68d7fc58
test(persistent_sessions): stabilize flaky tests
2021-11-01 14:21:01 +01:00
Tobias Lindahl
7ae6e04582
fix(persistent_sessions): channels can terminate without a session
2021-11-01 14:21:01 +01:00
Ilya Averyanov
800b4b32c7
refactor(authn api): use config schemas for request validations ( #5999 )
2021-11-01 17:52:03 +08:00
JimMoen
d9cb0283f3
fix(alarm): duration unit in dashboard, microsecond => millisecond
2021-10-29 16:48:13 +08:00
zhouzb
c64637ca39
test(authn): add test case of version checking
2021-10-29 14:18:25 +08:00
zhouzb
966348db05
fix(authn): fix version switching error when updating multiple times
2021-10-29 10:12:29 +08:00
zhongwencool
e62fde321c
Emqx alarm ( #5994 )
...
* chore(alarm): normalize_message outside emqx_alarm
* chore(alarm): don't cache config in emqx_alarm; remove dirty_write/read; add desc/example to alarm; add more test
* chore(alarm_api): alarm_api with hocon schema
* fix: activted's nullable is true
* fix(swagger): translate map to object
* fix(cluster_rpc): debug failed cluster_rpc test
* fix: Update schema description
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
Co-authored-by: Zaiming (Stone) Shi <zmstone@gmail.com>
2021-10-28 18:03:51 +08:00
Tobias Lindahl
48c7788d6f
Merge pull request #5875 from emqx/extend-persistent-sessions
...
Extend persistent sessions
2021-10-27 09:12:13 +02:00
Tobias Lindahl
99836b2660
fix(persistent_sessions): add back the trap_exit
2021-10-26 10:52:27 +02:00
JimMoen
0bd5cd9336
feat(authn): authn users page query
2021-10-26 16:16:37 +08:00
Tobias Lindahl
558416af1d
chore(persistent_sessions): remove redundant trap_exit flag
2021-10-26 10:01:02 +02:00
Tobias Lindahl
28417ad1d7
fix(persistent_sessions): allow for some failures of workers
2021-10-26 09:55:57 +02:00
Tobias Lindahl
234641ccf4
refactor(persistent_sessions): don't start session sup when disabled
2021-10-26 09:54:41 +02:00
Tobias Lindahl
e3dc9b3f4f
fix(persistent_sessions): start the message gc timer
2021-10-26 09:53:49 +02:00
Tobias Lindahl
f39ccfb304
chore(persistent_sessions): address review comments
2021-10-26 09:53:18 +02:00
Zaiming Shi
a7413bc11e
fix(authn): save certificates to certs dir
2021-10-24 16:21:57 +02:00
Zaiming Shi
71d2e6bebd
refactor(authz): call emqx_tls_lib to save & read SSL files
2021-10-24 10:44:47 +02:00
Zaiming Shi
a7771afd9d
refactor(tls): move ssl files handling to emqx_tls_lib
...
This is an attempt ot make it more generic for other APPs to use.
Aslo added test cases to cover most of the code paths.
2021-10-23 18:20:38 +02:00
Zaiming (Stone) Shi
bdeb1685e0
Merge pull request #5977 from zmstone/chore-pin-hocon-0.20.5
...
Pin hocon 0.20.5
2021-10-22 16:36:12 +02:00
Zaiming Shi
0937c81632
test: fix emqx_config_SUITE
2021-10-22 09:45:01 +02:00
Tobias Lindahl
64787f4ccd
test(persistent_session): fix bad guard
2021-10-22 01:03:08 +02:00
Tobias Lindahl
10de564abf
test(persistent_sessions): test websocket connection
2021-10-22 00:46:58 +02:00
Zaiming Shi
aa6053291e
fix(schema): add roots for emqx_zone_schema
...
emqx_zone_schema is never used at root level, but for config doc
generation, it needs the roots.
2021-10-21 23:11:02 +02:00
Zaiming Shi
b03b0717ce
docs: authenticator_config ref link to the struct
2021-10-21 23:11:02 +02:00
Zaiming Shi
f9b211cce6
chore: pin hocon 0.20.5
...
for two changes:
default string values are filled with binary() instead of [integer()]
better reference links in config document
2021-10-21 23:09:51 +02:00
Tobias Lindahl
9188f5b67e
fix(persistent_sessions): postpone table creation until configs are loaded
2021-10-21 15:23:22 +02:00
Tobias Lindahl
fe4d14303c
fix(persistent_session): fix rebase error
2021-10-21 15:23:22 +02:00
Tobias Lindahl
ec429857e0
refactor(persistent_sessions): code format changes after review
2021-10-21 15:23:21 +02:00
Tobias Lindahl
655d31726a
feat(persistent_session): add early removal of delivered message
2021-10-21 15:23:21 +02:00
Tobias Lindahl
b9b8111edb
test: add new proper types to #session{} after rebase
2021-10-21 15:23:21 +02:00
Tobias Lindahl
fd71bc50ab
fix(persistent_session): Make sure to discard expired sessions on reconnect
2021-10-21 15:23:21 +02:00
Tobias Lindahl
f2d26f5e03
test(persistent_sessions): Remove bogus stopping of quicer
2021-10-21 15:23:21 +02:00
Tobias Lindahl
12639addb9
fix(persistent_session): Make sure the connection processs is dead
2021-10-21 15:23:21 +02:00
Tobias Lindahl
ed0f435546
chore(persistent_sessions): correct copyright information in new files
2021-10-21 15:23:21 +02:00
Tobias Lindahl
fdba441f4f
fix(persistent_sessions): revert bogus table type change
2021-10-21 15:23:21 +02:00
Tobias Lindahl
7808ffe600
fix(persistent_sessions): protect (un)subscribe from calling session router
2021-10-21 15:23:21 +02:00
Tobias Lindahl
7b394267dd
feat: persistent sessions stored in mnesia
...
* Persistent sessions can survive node/connection process down
* Internal SessionID is generated, external ClientID is as before
* Sessions are persisted to mnesia
* A session router is added in parallel to the ordinary router
* Messages that are subscribed to by a persistent session are
persisted by publisher
* Information about persisted and delivered messages are stored in
mnesia per session.
* A resume protocol similar to takeover is implemented for resuming
from mnesia
* Can be configured (and enabled) by the top lever config
"persistent_session_store"
2021-10-21 15:23:21 +02:00
Tobias Lindahl
fc7b4c0009
refactor: make it possible to use different tries
...
In preparation for persistent sessions
2021-10-21 15:23:21 +02:00
Tobias Lindahl
24e870672c
refactor: use set_session in preparation for persistent sessions
2021-10-21 15:23:21 +02: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
9fdd5e6a7e
fix(emqx_machine): Fix start/stop callbacks ( #5969 )
...
* fix(emqx_machine): Fix start/stop callbacks
* chore(ekka): Bump version to 0.11.1
* fix(router): Wait for the tables
* fix(emqx_cluster_rpc): Stop cluster RPC when joining a cluster
* fix(emqx_app): Fix a deadlock when joining the cluster
* fix(emqx_telemetry): Wait for mnesia tables
* test(ct_helper): Start ekka before emqx
2021-10-21 14:49:21 +08:00
Zaiming (Stone) Shi
ed069cfecc
Merge pull request #5963 from zmstone/refactor-authn-schema
...
refactor(authn): check authenticator config with provider module
2021-10-21 08:07:48 +02:00
tigercl
45b484a26a
Merge pull request #5967 from tigercl/fix/authn-mysql
...
fix(authn): fix placeholders are not replaced correctly
2021-10-21 10:20:05 +08:00
zhouzb
ef731c74eb
chore(deps): unify version of hocon
2021-10-21 09:35:00 +08:00
William Yang
7b3537d822
Merge pull request #5966 from qzhuyan/dev/william/lc-0.1.2
...
feat(olp): bump to 0.1.2
2021-10-20 21:57:31 +02:00
Zaiming Shi
ce5b456872
refactor(authn): make schema doc generation work
2021-10-20 17:42:06 +02:00
Zaiming Shi
fa91e5f583
fix(authn): allow single authenticator instance from config
2021-10-20 15:06:08 +02:00
Zaiming Shi
019b9d17f6
refactor(emqx_config_handler): async remove
2021-10-20 14:12:46 +02: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
Zaiming Shi
88d891a59a
feat: support check_config callback for authenticator provider
2021-10-20 13:04:55 +02:00
Zaiming Shi
72c26931d7
fix: fill string fields' default value with binary
2021-10-20 11:52:30 +02:00
Zaiming Shi
1b9c082563
refactor(authn): check authenticator config with provider module
...
mainly two changes:
1. the schema is simplified at root level, per-authenticator checks
are done after the type can be identified
2. the config handling part is split out from emqx_authentication
module to emqx_authentication_config module
2021-10-20 10:13:11 +02:00
Zaiming Shi
0fcb3a1e93
docs: add more schema docs for authz
2021-10-20 09:17:21 +08:00
Zaiming Shi
0cf5aa5611
test: remove cuttlefish code
2021-10-20 09:17:21 +08:00
William Yang
d3ddecb144
feat(olp): bump to 0.1.2
...
remove noop logging
2021-10-19 21:20:12 +02:00
Zaiming Shi
2e01eeb6b4
fix(emqx_schema): typo in nullable prop
2021-10-19 15:42:34 +02:00
William Yang
c780a1a53c
Merge pull request #5957 from qzhuyan/dev/william/quic-0.0.9
...
feat(quic): bump quicer 0.0.9
2021-10-19 14:52:08 +02:00
William Yang
56d8e0f59f
feat(quic): bump quicer 0.0.9
2021-10-19 13:54:43 +02:00
k32
b3a8753219
fix(mria): Replace mnesia calls with mria
2021-10-19 12:24:35 +02:00
tigercl
bd53c488d1
Merge pull request #5950 from tigercl/fix/authn-version
...
fix(authn): fix the authentication instance cannot run after the update
2021-10-19 09:58:09 +08:00
zhouzb
31e2d9d2c0
fix(authn): fix the authentication instance cannot run after the update
2021-10-19 09:05:54 +08:00
k32
0d2d5f6bf9
fix(emqx_alarm): Wait for tables
2021-10-18 22:40:18 +02:00
k32
37a1c45af0
fix(dialyzer): Fix problems found by dialyzer
2021-10-18 22:04:05 +02:00
k32
07ea6e5689
fix(mria): Fix startup sequence
2021-10-18 22:04:05 +02:00
k32
fcdf10080d
chore(ct): ekka_mnesia -> mria_mnesia
2021-10-18 22:04:05 +02: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
e14a62d4d6
chore(mria): ekka_mnesia:start/stop -> mria:start/stop
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
ae2056da1b
chore(mria): Fix clear_table and ro_transaction calls
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
zhanghongtong
b1bf21c73b
fix(emqx schema): fix function clause by user_lookup_fun
2021-10-18 16:37:16 +08:00
zhongwencool
c73205a589
Ct helpers migrate ( #5943 )
...
* chore: common test
* chore: delete emqx_ct_helpers deps
2021-10-18 13:45:52 +08:00
Zaiming Shi
ad195d0eb0
chore(emqx_vm): delete unused function get_process_group_leader_info
2021-10-16 21:10:43 +02:00
Zaiming Shi
71a11834ad
chore: pin rebar plugins and test deps
2021-10-15 16:46:49 +02:00
Zaiming Shi
68d91e770b
test: remove ct_helpers from apps/emqx rebar.config
2021-10-15 16:11:48 +02:00
Tobias Lindahl
aa19c2a908
chore: Remove emqx_ct_helpers as dependency
2021-10-15 10:40:57 +02:00
William Yang
30a0635ea5
fix: bump ekka to 10.0.9
...
fix ekka etcd cluster ssl options
2021-10-14 22:49:25 +02:00
William Yang
dcca1d7544
Merge pull request #5867 from qzhuyan/dev/william/olp
...
feat(olp): first PR for overload protection
2021-10-14 10:00:01 +02:00
Shawn
9c7eef5295
feat(rules): update rule_engine configs from APIs
2021-10-14 15:09:37 +08:00
Shawn
c6c314de1a
fix(hocon): update hocon to 0.19.6
2021-10-14 15:09:37 +08:00
lafirest
8a2c5e2422
feat(rate_limiter): implement hierarchical token buckets
2021-10-14 10:20:05 +08:00
William Yang
23fc8afc50
feat(olp): rename olp mgmt API
...
on -> enable
off -> disable
2021-10-13 10:18:57 +02:00
William Yang
58033c083d
chore(olp): update alarm text
2021-10-12 16:08:20 +02: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
Zaiming (Stone) Shi
04f2487108
Merge pull request #5908 from zmstone/refactor-emqx-more-slog
...
refactor(emqx): fix remaining legacy logging
2021-10-12 06:45:25 +02:00
JimMoen
19456d84a5
style: code format fix
2021-10-12 10:37:45 +08:00
William Yang
b0c27c74fd
feat(olp): bump lc to 0.1.1
2021-10-12 00:00:20 +02:00
Zaiming Shi
eb43423552
refactor(emqx): fix remaining legacy logging
2021-10-11 21:51:39 +02:00
Zaiming Shi
7e9d7c4858
test(proper): move emqx_ct_proper_types to local repo
...
previously provided by emqx-ct-helpers
2021-10-11 15:28:12 +02:00
Spycsh
d4657754eb
chore(dialyzer): fix spec for record field message.extra
2021-10-11 14:10:22 +02:00
Zaiming Shi
71731c01f1
refactor(emqx): refine SLOG messages
...
unified logging for unexpected handle_cast handle_call and handle_info
2021-10-11 07:41:52 +02:00
Zaiming Shi
785793b345
refactor: add logging allow or not check for SLOG
2021-10-11 07:41:52 +02:00
Zaiming Shi
5274e0a726
refactor(emqx): add 'extra' field to message record
2021-10-11 02:07:33 +02:00
Spycsh
fe5a169be1
chore: change to structured logging under apps/emqx/src
2021-10-09 14:02:22 +08:00
Shawn
63bf161522
fix(test): testcase t_validity_period failed occasionally
2021-10-09 09:17:09 +08:00
Zaiming (Stone) Shi
aa0c58daa0
Merge pull request #5881 from zmstone/fix-flaky-tests-cm-session-race-condition
...
chore: fix flaky test cm_SUITE open session racecondition
2021-10-07 17:28:10 +02:00
William Yang
8d8969672b
feat(olp): add desc in schema
2021-10-07 16:03:54 +02:00
Zaiming Shi
a882a8c496
chore: fix flaky test cm_SUITE open session racecondition
2021-10-07 11:51:40 +02:00
Zaiming Shi
7ae4505636
test(emqx_broker): fix flaky tests
2021-10-07 11:31:22 +02:00
William Yang
77f8159ca1
docs(olp): emqx_olp module
2021-10-06 21:07:14 +02:00
William Yang
9ecb7821f9
feat(olp): use tagged deps libs
2021-10-06 10:38:39 +02:00
Zaiming Shi
ce486e5540
fix(ssl): verify ciphers list against all available ciphers
...
Prior to this change the ciphers are only checked against
the list returned from from
`ssl:cipher_suites(all, 'tlsv1.2', openssl)`
which may cause some (weak) ciphers missing in certain
otp + openssl installation
2021-10-05 15:25:56 +02:00
Zaiming Shi
b42a2f2bc2
fix(ssl): delete some weak cipher suites from the default list
2021-10-05 15:15:00 +02:00
William Yang
afb4b5dbd7
test(olp): add CT suite emqx_olp_SUITE
2021-10-05 14:37:39 +02:00
William Yang
bfe4346469
feat(olp): alarm without nodeid
2021-10-05 14:36:36 +02:00
William Yang
547484a2d1
chore(olp): add spec.
2021-10-05 09:47:21 +02:00
William Yang
6baf2dbd95
feat(olp): backoff new conn
2021-10-05 09:23:23 +02:00
William Yang
370edac031
feat(olp): add default config
2021-10-04 16:30:48 +02:00
William Yang
4dc63b26a8
feat(olp): metrics
2021-10-04 16:30:44 +02:00
William Yang
67267acb70
feat(olp): management API
2021-10-04 14:36:30 +02:00
William Yang
eb895a9f80
feat(olp): quic
2021-10-04 12:31:14 +02:00
William Yang
9304e3c122
feat(olp): add config and backoff gc
2021-10-04 12:21:30 +02:00
William Yang
166f02edc4
feat(olp): don't hibernate conn proc when overloaded
2021-10-04 10:44:53 +02:00
William Yang
e9710ade14
feat(olp): first commit for overload protection
...
- add lc app
- add alarm handler for lc runq alarm
- backoff when handling CONNECT message
- close new connswhen overload
2021-10-01 16:14:38 +02:00
zhongwencool
93c210887b
chore: don't use emqx_machine.hrl in emqx
2021-09-30 16:04:30 +08:00
zhongwencool
44a6f04a45
chore: reorganize shards position
2021-09-30 16:04:30 +08:00
zhongwencool
be123f613d
Fix: apps should boots after emqx_machine_sup's children spawn. ( #5851 )
...
* fix(cluster_call): apps should start after cluster_call init
* fix: undef function
* chore: reformat code
* fix: ekka must start before emqx
2021-09-30 13:56:18 +08:00
zhanghongtong
b94dcb7bc7
chore(release): update emqx release version
2021-09-29 18:29:44 +08:00
tigercl
55ec5bab9e
Merge pull request #5773 from tigercl/feat/psk-file
...
feat(psk): support psk
2021-09-29 13:37:49 +08:00
Zaiming (Stone) Shi
83e7ab681b
Merge pull request #5820 from JimMoen/refactor-frame-parse-logging
...
Refactor frame parse logging with bug fix.
2021-09-28 19:31:39 +02:00
Zaiming Shi
225ebdaa87
fix(frame): simlify error excption context
...
We should not raise error with the exact context after logging it
because it will end up duplicated in the log
2021-09-28 18:15:32 +02:00
JimMoen
c1ff30896a
fix(frame): safely serializing and structured log.
2021-09-28 18:55:25 +08:00
JimMoen
9832eea250
fix(frame): safely parsings.
2021-09-28 14:11:18 +08:00
JimMoen
7d6180f10a
fix(frame): variable byte integer could be larger than 4 bytes.
2021-09-28 14:11:18 +08:00
Zaiming Shi
a158b0235d
chore(tests): use assertError
...
the ?catch_error macro passes when there is no exception
2021-09-28 14:11:18 +08:00
Zaiming Shi
fec3c6574e
perf(emqx_frame): skip empty tail
2021-09-28 14:11:18 +08:00
Zaiming Shi
9d0ef5de6b
refactor(emqx_frame): log frame parse error with more context
2021-09-28 14:11:18 +08:00
tigercl
79685a77ba
Merge branch 'master' into fix/authn2
2021-09-28 09:27:08 +08:00
Zaiming (Stone) Shi
3df21a9e14
Merge pull request #5822 from Spycsh/fix-windows-compile
...
chore: fix Windows compilation process
2021-09-27 23:30:59 +02:00
Zaiming Shi
697a11ded0
fix(tls): drop unsupported ciphers
...
we use a hard-coded list of pre-selected ciphers as config
default value. some of them may not be supported by the
underlying openssl lib.
now moved the pre-selected ciphers to emqx_tls_lib:selected_ciphers
which performs a filtering before return.
2021-09-27 20:51:48 +02:00
Shawn
e2721c144c
feat(bridge): support http bridge
2021-09-27 22:01:18 +08:00
zhouzb
74c9a38e9f
fix(psk): fix bugs and add test case
2021-09-27 21:42:32 +08:00
Zaiming Shi
5417eb328a
fix(schema): no ciphers validator for quic listener
2021-09-27 13:53:54 +02:00
Zaiming Shi
58ffc4651f
fix(config): use default value for tls versions
...
default value for ssl.versions is dynamically resolved based
on otp version and underlying openssl installation
2021-09-27 13:53:54 +02:00
Zaiming Shi
d376c0f9fc
refactor(schema): call emqx_tls_lib for default tls versions
2021-09-27 13:53:54 +02:00
Zaiming Shi
e7e8b8c77b
fix(schema): check tlsv1.3 availability
2021-09-27 13:53:54 +02:00
zhouzb
f9aa345787
chore(psk): improve logs for psk
2021-09-27 15:32:56 +08:00
zhouzb
2262bf508e
chore(authn): improve code
2021-09-27 14:50:22 +08:00
zhongwencool
5280f83651
Merge pull request #5784 from zhongwencool/delayed-api-schema
...
feat(delayed_api): support hocon schema
2021-09-27 13:45:17 +08:00
Shawn
69f3cce75d
feat(rules): hook on bridges events and query bridges from rules
2021-09-26 23:00:08 +08:00
Shawn
bd081913b5
refactor(rules): remove emqx_rule_actions
2021-09-26 23:00:08 +08: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
b78c914651
test(authn): cleanup the dirty configs
2021-09-26 15:19:55 +08:00
JianBo He
f3c675b139
chore(deps): upgrade esockd to 5.8.3
2021-09-26 15:19:55 +08:00
lafirest
6e3ec6c9db
fix(schema): fix authn/z's schema time unit
2021-09-26 14:41:46 +08:00
lafirest
e31e175e47
fix(schema): fix some time unit in schema
2021-09-26 14:38:53 +08:00
zhouzb
096e85dc14
chore(authn): improve log and fix disabled authentication still working
2021-09-26 11:31:19 +08:00
zhouzb
6051ea92eb
chore(authn): improve log
2021-09-24 17:24:04 +08:00
zhouzb
e31840d943
fix(authn): add timeout option for mysql connector
2021-09-24 17:15:10 +08:00
zhouzb
d391690505
chore(psk): fix bugs
2021-09-24 17:07:08 +08:00
zhouzb
e9cd757432
chore(psk): delete old module and update configuration
2021-09-24 17:07:05 +08:00
zhouzb
7c61bc18cf
feat(psk): support psk
2021-09-24 17:05:26 +08:00
zhongwencool
8c441673c2
feat(delayed_api): support hocon schema
2021-09-24 15:22:05 +08:00
JimMoen
e737f18548
fix(mgmt_api): Friendly HTTP Status Code for Listeners.
2021-09-24 14:28:52 +08:00
Zaiming Shi
3027bc3a0c
fix(schema): sll key and cert files are nullable
2021-09-23 16:57:16 +02:00
Zaiming Shi
4392357877
fix(schema): simplify ssl ciphers filed schema
2021-09-23 16:57:16 +02:00
Zaiming Shi
4f638b8242
fix(schema): upgrade to hocon 0.19.5
...
renamed no_conversion option to only_fill_defaults
2021-09-23 16:57:15 +02:00
Zaiming Shi
5bd67a49de
chore(schema): reformat schema fields descriptions
2021-09-23 16:56:02 +02: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
zhouzb
4860049268
chore(authn): insert final newline
2021-09-23 10:11:54 +08:00
zhouzb
79026d5900
chore(authn): add supervisor for authn and fix checking errors
2021-09-23 10:11:50 +08:00
tigercl
2b9870992c
Merge pull request #5763 from tigercl/feat/clear-certs
...
feat(clear certs): clear certs when deleting instance
2021-09-23 09:43:56 +08:00
zhongwencool
81a795ffc9
Merge pull request #5728 from zhongwencool/swagger-hocon-spec
...
chore(swagger): swagger support hocon schema
2021-09-22 17:42:07 +08:00
zhongwencool
085d8e8efa
chore(schema): restore space
2021-09-22 16:41:00 +08:00
zhongwencool
dab5fbf285
feat(swagger): swagger support hocon schema
2021-09-21 21:41:16 +08:00
Zaiming Shi
2edd3879b8
feat(config): save override config in hocon pretty-print format
2021-09-19 14:33:43 +02:00
zhouzb
bb4e5fdb4f
chore(authn): fix dialyzer
2021-09-18 09:14:03 +08:00
zhouzb
69755ad3fb
fix(authn): fix bug in authn
2021-09-18 09:14:03 +08:00
zhouzb
b89973ce7c
fix(authn): fix type error
2021-09-18 09:14:00 +08:00
zhouzb
35a4a05f03
feat(clear certs): clear certs when deleting instance
2021-09-18 09:11:41 +08:00
JimMoen
6edc9f4221
fix(emqx_types): spec refs `emqx_types.erl` instead directly.
2021-09-17 19:28:22 +08:00
JimMoen
9c95557bfc
fix(emqx_types): type spec refs does not exist file.
2021-09-17 19:28:22 +08:00
JianBo He
cfabb8549e
build(deps): upgrade emqx_http_lib to 0.4.1
2021-09-17 18:13:57 +08:00
Zaiming (Stone) Shi
ab39284ece
Merge pull request #5754 from zmstone/feat-make-possible-to-disable-client-initiated-renegotiation
...
feat(ssl): make possible to disable client-initiated ssl renegotiation
2021-09-17 08:22:34 +02:00
Zaiming (Stone) Shi
1af8148e30
Merge pull request #5760 from zmstone/minor-refactors
...
refactor(authn): minor refactors
2021-09-17 07:59:16 +02:00
tigercl
9000dab57a
Merge pull request #5761 from zmstone/fix-deps-pin-typerefl-from-main-proj
...
fix(deps): pin typerefl verison from root rebar.configs
2021-09-17 10:47:18 +08:00
Zaiming Shi
6cf1107f42
refactor(authn): ensure infinity timeout for gen_server call
2021-09-16 23:17:50 +02:00
Zaiming Shi
0877fb5569
refactor(authn): register providers in batch
2021-09-16 23:17:50 +02:00
Zaiming Shi
0b432a6a77
refactor(auth): rename functions from may_xx to maybe_xx
2021-09-16 23:17:50 +02:00
Zaiming Shi
13a03d8c1c
feat(ssl): make possible to disable client-initiated ssl renegotiation
2021-09-16 23:17:22 +02:00
Zaiming Shi
16c652586b
fix(deps): pin typerefl verison from root rebar.configs
2021-09-16 23:16:31 +02:00
zhouzb
43ce727632
chore(gen_id): using emqx_misc:gen_id/0, /1
2021-09-16 16:51:46 +08:00
JimMoen
deac54c847
chore(for editor): Add comments for Emacs major mode.
2021-09-16 15:43:30 +08:00
JimMoen
ba26a8511c
fix(emqx_types): emqx_types:version() used but undefined.
2021-09-16 15:43:30 +08:00
k32
2a65347972
Merge pull request #5727 from k32/interleave-pqueue
...
feat(mqueue): Interleave messages with different priorities
2021-09-15 15:10:37 +02:00
k32
20d4652454
feat(mqueue): Interleave messages with different priorities
2021-09-15 11:58:54 +02:00
Shawn
cb8dabe579
feat(bridges): add CRUD HTTP APIs for bridges
2021-09-15 17:46:42 +08:00
lafirest
75f528e08d
Merge pull request #5743 from lafirest/fix/connector
...
fix(emqx_schema): support get ip address by host name
2021-09-15 15:21:54 +08:00
lafirest
6c27c83dc3
fix(emqx_schema): support get ip address by host name
2021-09-15 14:59:19 +08:00
tigercl
c4403e886d
Merge pull request #5732 from tigercl/feat/upload-certs
...
feat(upload certs): save certs to file
2021-09-15 10:58:31 +08:00
zhouzb
0fe300575e
chore(authn): better function name
2021-09-15 09:59:35 +08:00
zhouzb
f6d7739f01
fix(upload certs): fix external dependency
2021-09-14 16:09:36 +08:00
zhouzb
1a61640b15
feat(upload certs): serialize errors about saving cert
2021-09-14 15:07:57 +08:00
zhouzb
ee178ccea9
feat(upload certs): support return cert content by http api
2021-09-14 14:59:13 +08:00
zhouzb
63d3a7b525
feat(upload certs): save certs to file
2021-09-14 13:38:09 +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
zhanghongtong
07a2ef4700
chore(release): update emqx release version
2021-09-10 19:34:45 +08:00
tigercl
78397329e8
Merge pull request #5684 from tigercl/chore/authn
...
chore(authn): provide easy-to-read hints for more errors
2021-09-10 19:04:11 +08:00
zhouzb
a3b587c9f9
fix(authn): fix test case for authn
2021-09-10 18:13:11 +08:00
zhouzb
6b521acd6f
fix(authn): fix type error for http headers
2021-09-10 17:31:16 +08:00
zhouzb
b07e686350
fix(authn): fix bad type
2021-09-10 16:58:10 +08:00
zhouzb
5cea9a4edc
chore(authn): add api spec
2021-09-10 15:55:37 +08:00
Zaiming Shi
01ce32094c
refactor(bin/emax): delete cold_eval
2021-09-10 07:28:12 +02:00
Zaiming Shi
0b11ab2d59
refactor(schema): reorder config root fields
...
so more important configs are ordered before less important
2021-09-10 07:28:09 +02:00
Zaiming Shi
01166a8bfb
feat(schema): generate document when building the release
2021-09-10 07:27:02 +02:00
Zaiming Shi
6b7d3bcf98
chore(hocon): upgrade to 0.17.0
2021-09-10 07:27:01 +02:00
Zaiming Shi
3a60f00643
refactor(emqx_gateway_schema): use hoconsc:map
2021-09-10 07:27:01 +02:00
Zaiming Shi
0039bfca6b
refactor(emqx_machine_schema): use hoconsc:map type
2021-09-10 07:27:01 +02:00
Zaiming Shi
bbd1c142de
refactor(emqx_schema): use hoconsc:map type
2021-09-10 07:27:01 +02:00
Zaiming Shi
a9cca84595
fix(emqx_schema): allow listener to be null
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
zhouzb
c6e52b32fb
chore(authn): improve code of moving authenticator
2021-09-09 09:32:18 +08:00
JimMoen
b5d1ffa814
Merge pull request #5673 from JimMoen/stu-dev
...
Code refactor during studying.
2021-09-08 18:17:05 +08:00
DDDHuang
e2d9d9bfcb
fix: banned api rfc time & login hidden error type ( #5681 )
2021-09-08 17:53:52 +08:00
zhouzb
7d312a630b
chore(authn): provide easy-to-read hints for more errors
2021-09-08 16:35:54 +08:00
Jim Moen
4e5d781d21
fix: Words spelling fix.
2021-09-08 11:39:56 +08:00
Jim Moen
bcebe1de24
refactor(emqx_cm_sup): Internal functions to create workers.
2021-09-08 11:39:56 +08:00
zhouzb
287d315ed5
fix(listener): updating authentication no longer causes the listener to restart
2021-09-08 11:24:59 +08:00
zhouzb
29cad91a47
fix(authn): fix superuser in mongodb authn
2021-09-08 10:58:00 +08:00
zhouzb
8531e9ce11
chore(authn): rename superuser to is_superuser
2021-09-08 09:53:39 +08:00
zhouzb
be38bcc5cc
chore(authn): adapt listener id type
2021-09-08 09:46:47 +08:00
Jim Moen
c54847b6e9
refactor(mqtt_frame): Avoid duplicate variable when frame assembling.
2021-09-08 09:26:47 +08:00
zhouzb
627de1d58c
fix(test): fix test case
2021-09-07 10:29:45 +08:00
zhouzb
e998770f2e
refactor(authn): refactor to support global and listener authentication
2021-09-06 18:46:08 +08:00
Zaiming Shi
19aff7bfdd
fix(authz): schema fields used directly.
2021-09-03 14:58:49 +02:00
Zaiming Shi
ec13463f4a
refactor(schema): prepare for hocon schema doc generation
2021-09-03 11:02:31 +02:00
Shawn
60b8215360
feat(config): support wildcard paths for config handlers
2021-09-03 13:39:43 +08:00
Shawn
a89bc97ed8
fix(config): don't write to override.conf if 'override_conf_file' is not set
2021-09-03 10:42:12 +08:00
Shawn
daca99f0f6
feat(config): add option 'persistent => boolean()' to emqx:update_config/3
2021-09-03 10:42:12 +08:00
Shawn
304874f0ff
feat(config): load and merge emqx_override.conf at bootup
2021-09-03 10:42:12 +08:00
DDDHuang
3bc92e5845
fix: mgmt listener cli ( #5632 )
...
* fix: mgmt cli linteners
2021-09-02 17:16:13 +08:00
zhongwencool
679edbc29c
feat(cluster-call): support confirm success after all mfa apply ok
2021-09-02 10:03:03 +08:00
Shawn
12b8297745
fix(config): emqx_config:fill_defaults/1,2 not working
2021-09-01 14:13:19 +08:00
DDDHuang
8d2b72c278
fix: alarms api return time ( #5612 )
2021-08-31 19:12:27 +08:00
Shawn
7e53469bb8
fix(listeners): update the testcases for listeners
2021-08-31 19:01:11 +08:00
Shawn
0af39e88a4
feat(listeners): add DELETE APIs for removing the listeners
2021-08-31 19:01:11 +08:00
Shawn
0d1bc6d689
feat(listeners): add config handler for listeners
2021-08-31 19:01:11 +08:00
Shawn
e6306bccd8
feat(map_lib): add emqx_map_lib:diff_maps/2
2021-08-31 19:01:11 +08:00
Shawn
50ccaec4b0
fix(emqx_schema): define bind as a mandatory config of listener
2021-08-31 19:01:11 +08:00
Shawn
8c36b7879f
feat(listeners): APIs for updating the listener
2021-08-31 19:01:11 +08:00
Shawn
05fc6d9e45
fix(dialyzer): bad function spec for emqx_map_lib:deep_convert/3
2021-08-31 19:01:11 +08:00
Shawn
ca327b7c55
refactor(listener): GET /listeners API returns full config of listeners
2021-08-31 19:01:11 +08:00
Zaiming Shi
5165fd6b30
refactor(schema): implement new hocon_schema callbacks
2021-08-30 09:56:03 +08:00
Zaiming Shi
9e4c7b5f76
chore(config): upgrade to hocon 0.14.0
2021-08-30 09:56:03 +08:00
zhanghongtong
eb495535d2
chore(release): update emqx release version
2021-08-27 21:19:53 +08:00
DDDHuang
9893c0263a
refactor: banned api ( #5578 )
2021-08-27 18:21:49 +08:00
zhanghongtong
46fb99d44e
chore(emqx_authz): rename rules to sources in emqx_authz
2021-08-27 17:51:11 +08:00
William Yang
341df69166
Merge pull request #5584 from qzhuyan/dev/william/5.0-quic-support-2
...
quicer 0.0.8
2021-08-27 10:29:42 +02:00
Zaiming (Stone) Shi
c64af6a78c
Merge pull request #5532 from zhongwencool/master
...
feat(emqx_cluster_call): ensure the consistency of resources
2021-08-27 09:40:31 +02:00
zhanghongtong
f03fc88161
chore(emqx_authz): fix test cases error
...
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-27 15:08:56 +08:00
William Yang
dbc971f264
feat(quic): bump quicer to 0.0.8
2021-08-27 08:36:45 +02:00
William Yang
6186fa29a0
feat(quic): bump to emqtt 1.4.3
2021-08-27 08:36:43 +02:00
William Yang
1b5acdb9c5
feat(quic): at least 8 x number of cores acceptors
2021-08-27 08:35:40 +02:00
William Yang
eb7625a595
fix: quic listener spec
2021-08-27 08:35:40 +02:00
William Yang
2ef2acc850
feat(quic): adapt to quicer 0.0.8
2021-08-27 08:35:40 +02:00
William Yang
abd58bb235
feat(quic): idle_timeout
...
transport idle timeout should be at least 3x mqtt idle_timeout
2021-08-27 08:35:38 +02:00
William Yang
cf04e5cce3
feat(quic): adapt to new quicer
2021-08-27 08:34:01 +02:00
DDDHuang
86231f795d
refactor: close managment http 8081 ( #5564 )
2021-08-27 13:46:39 +08:00
Shawn
4c1e0802d9
fix(logger): remove debug code from emqx_logger
2021-08-26 18:44:15 +08:00
Shawn
436dba83b8
feat(logger): update configs for logger at runtime
2021-08-26 18:31:44 +08:00
zhongwencool
60c1c4edba
feat: move cluster_call to emqx_machine
2021-08-26 17:23:38 +08:00
zhongwencool
2c1b1fbfa8
chore(config): rename cluster_call to hot_config_loader
2021-08-26 17:22:56 +08:00
zhongwencool
d55ba6b2e8
chore: transaction without nnonymous function
2021-08-26 17:20:22 +08:00
zhongwencool
765c94152b
feat: add cluster_call.retry_interval/mfa_max_history/mfa_cleanup_interval config
2021-08-26 17:20:22 +08:00
zhongwencool
53e386ad4e
feat(emqx_cluster_call): ensure the consistency of resources
...
When EMQX updates the cluster resources via HTTP API, it first updates the local node resources, and then updates all other nodes via RPC Multi Call to ensure the consistency of resources (configuration) in the cluster.
2021-08-26 17:17:47 +08:00
Shawn
005332d45d
fix(config): do not allow default values for configs in zones
2021-08-26 09:11:30 +08:00
Shawn
7b63f7f18b
refactor(emqx_mangement): update emqx_mangement for new listener,zone configs
2021-08-26 09:11:30 +08:00
Shawn
4ea451e207
fix(emqx): update the type spec for listener
2021-08-26 09:11:30 +08:00
Shawn
cc56c74964
refactor(emqx): update the tests for the new zone,listener config
2021-08-26 09:11:30 +08:00
Shawn
c5f0091b5d
refactor(config): rework - config struct for zones and listeners
...
```
listeners.tcp.default {
bind = "0.0.0.0:1883"
acceptors = 16
max_connections = 1024000
access_rules = [
"allow all"
]
proxy_protocol = false
proxy_protocol_timeout = 3s
mountpoint = ""
tcp.backlog = 1024
tcp.buffer = 4KB
}
listeners.ssl.default {
bind = "0.0.0.0:8883"
acceptors = 16
max_connections = 512000
access_rules = [
"allow all"
]
proxy_protocol = false
proxy_protocol_timeout = 3s
mountpoint = ""
ssl.versions = ["tlsv1.3", "tlsv1.2", "tlsv1.1", "tlsv1"]
ssl.keyfile = "etc/certs/key.pem"
ssl.certfile = "etc/certs/cert.pem"
ssl.cacertfile = "etc/certs/cacert.pem"
tcp.backlog = 1024
tcp.buffer = 4KB
}
listeners.quic.default {
bind = "0.0.0.0:14567"
acceptors = 16
max_connections = 1024000
keyfile = "etc/certs/key.pem"
certfile = "etc/certs/cert.pem"
mountpoint = ""
}
listeners.ws.default {
bind = "0.0.0.0:8083"
acceptors = 16
max_connections = 1024000
access_rules = [
"allow all"
]
proxy_protocol = false
proxy_protocol_timeout = 3s
mountpoint = ""
tcp.backlog = 1024
tcp.buffer = 4KB
websocket.idle_timeout = 86400s
}
listeners.wss.default {
bind = "0.0.0.0:8084"
acceptors = 16
max_connections = 512000
access_rules = [
"allow all"
]
proxy_protocol = false
proxy_protocol_timeout = 3s
mountpoint = ""
ssl.keyfile = "etc/certs/key.pem"
ssl.certfile = "etc/certs/cert.pem"
ssl.cacertfile = "etc/certs/cacert.pem"
tcp.backlog = 1024
tcp.buffer = 4KB
websocket.idle_timeout = 86400s
}
```
```
zones.default {
}
```
2021-08-26 09:11:30 +08:00
Turtle
e4f5e9332e
feat: support array bridge_mqtt conf
2021-08-25 13:34:00 +08:00
Rory Z
1886aa8bff
chore: fix dialyzer error
2021-08-25 10:15:00 +08:00
zhanghongtong
5652917af6
chore(authorization): moves authorization configuration items from zone to root
2021-08-25 10:15:00 +08:00
k32
2b976af9ea
chore(ekka): Bump version to 0.10.8
2021-08-23 14:10:26 +02:00
k32
9c74fa42a5
chore(rlog): Use the new method of creating shards
2021-08-21 17:47:53 +02:00
k32
53a0c8b8a8
chore(ekka): Bump version to 0.10.7
2021-08-21 17:47:34 +02:00
Shawn
91f787533d
fix(log): text formatter crash
...
```
(emqx@127.0.0.1)1> logger:error("abc").
ok
2021-08-20T18:10:01.180622+08:00 error: FORMATTER CRASH: {string,"abc"}
```
2021-08-21 15:36:36 +08:00
Shawn
f3efc89192
refactor(config): replace all ':' with '=' in the *.conf ( #5531 )
2021-08-19 19:57:42 +08:00
zhouzb
f0ba6af660
chore(authn): fix dialyzer
2021-08-19 16:01:55 +08:00
zhouzb
87051c0e53
test(authn): fix test case
2021-08-19 16:01:55 +08:00
zhouzb
178d1006e1
chore(match): reduce the risk of crash
2021-08-19 16:01:55 +08:00
zhouzb
e6f9767066
feat(authn): support superuser
2021-08-19 15:59:26 +08:00
Shawn
ef59309ed0
fix(config): check config failed when updating
2021-08-19 15:53:45 +08:00
Shawn
e17612b237
fix(config): return only updated confs for emqx:update_config/2,3
2021-08-19 15:53:45 +08:00
DDDHuang
9c76247cde
fix: alarms api timestamp millisecond
2021-08-19 09:56:32 +08:00
Shawn
213b7c2501
fix(config_api): improve the schema for config update APIs
2021-08-19 09:38:33 +08:00
Shawn
e8e95d39ef
refactor(config): move emqx_config:get/get_raw to emqx:get_config/get_raw_config ( #5517 )
2021-08-18 14:52:57 +08:00
Shawn
bf6251e20f
refactor(config): update the return values of config handlers
2021-08-18 09:42:06 +08:00
Shawn
e5c3199d6e
fix(config): emqx:update_config/2,3 doesn't work on binary conf paths
2021-08-18 09:42:06 +08:00
Shawn
24207b80cb
refactor(config): improve the return value of emqx:update_config/2,3
2021-08-18 09:42:06 +08:00
Shawn
bd8263e324
refactor(config): move APIs for config update,remove,reset to emqx
...
Move the emqx_config:update,remove,reset APIs to emqx, to remove
the circular dependency between the modules emqx_config and
emqx_config_handler.
After this change the dependency among these modules will be:
```
emqx ---> emqx_config
| ^
| |
+ ---> emqx_conifg_handler
```
2021-08-18 09:42:06 +08:00
Shawn
a2067c3bf3
refactor(spec): move some type specs from emqx_config_handler to emqx_config
2021-08-18 09:42:06 +08:00
Shawn
7f03cd0e8b
fix(config): update the calls to emqx_config:update/2,3
2021-08-16 17:41:53 +08:00
Shawn
b381b5d2b9
feat(emqx_config): return config maps when emqx_config:update/2,3
2021-08-16 17:41:53 +08:00
zhanghongtong
26c0754732
chore(release): update emqx release version
...
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-08-13 17:55:56 +08:00
Shawn
cc1222ffea
fix(emqx_config): correct some function sepcs and return values
2021-08-12 17:20:05 +08:00
Shawn
b652a64dbb
fix(config): reset config failed due to rootname not found
2021-08-12 17:20:05 +08:00
Shawn
1c86bd6199
feat(emqx_config): add emqx_config:fill_defaults/1
2021-08-12 17:20:05 +08:00
k32
5abec37098
chore(build): Globally set snk_kind macro to msg
2021-08-11 14:03:41 +02:00
Shawn
bafcb7f34a
fix(emqx_config): always return atom-key map for emqx_config:get/2
2021-08-10 15:17:45 +08:00
Shawn
990c383e01
feat(emqx_config): support fetching the entire config map
2021-08-10 15:17:45 +08:00
Shawn
c05e92a7cc
fix(emqx_config): delete the emqx_config_handler:remove_config/2
2021-08-10 15:17:45 +08:00
Shawn
b8253ee94f
feat(config): support config path mixed with atom() and binary()
2021-08-10 15:17:45 +08:00
Zaiming Shi
d453005d8b
fix(emqx): pin quicer 0.0.7
2021-08-05 13:43:22 +02:00
Zaiming Shi
6f8ca4ce07
feat: allow disable listener from environment variable
2021-08-05 12:58:03 +02:00
Zaiming Shi
ce24696329
refactor(emqx_app): start quic listener condition
...
when the app is present, and when listners are configured
2021-08-05 12:58:03 +02:00
Zaiming Shi
bdb871cb9a
refactor(emqx_listeners): simplify listing logic
2021-08-05 12:07:10 +02:00
DDDHuang
e7cb9491c6
Merge pull request #5306 from DDDHuang/sys_info
...
chore: sys uptime by millisecond
2021-08-05 13:51:06 +08:00
zhanghongtong
dba37513a1
fix(emqx_ctl): fix an error when "~" in the print content
2021-08-05 10:45:40 +08:00
Zaiming Shi
e6232665a3
refactor(emqx): ensure app shutdown and reboot order
...
make use of application dependency to ensure start order.
also the same dependency top-sorted for shutdown and reboot order
2021-08-04 08:40:03 +02:00
Zaiming Shi
3cda69fa3f
fix(logging): text log formatter avoid binary literals
2021-08-04 08:36:10 +02:00
Zaiming Shi
58d0717b2f
fix: add debug log for apps stop
2021-08-04 08:36:10 +02:00
Zaiming Shi
e6907478ba
test: move emqx_global_gc_SUITE to emqx_machine app
2021-08-04 08:36:10 +02:00
Zaiming Shi
5b5006e8ab
refactor(emqx_sup): move global gc to emqx_machine app
2021-08-04 08:36:10 +02:00
Zaiming Shi
522d8e0a4a
refactor(config): split config and schema
2021-08-04 08:36:10 +02:00
Zaiming Shi
4bbd398550
refactor(emqx): create emqx_machine app
2021-08-04 08:36:10 +02:00
Zaiming Shi
b10fb4e95d
refactor: unify all io:format calls to use the same macro
2021-08-01 09:36:59 +02:00
Zaiming Shi
683974e1c8
refactor(log/textfmt): print mfa metadata in text formatter
2021-08-01 09:36:59 +02:00
Zaiming Shi
2998a87a8d
fix(log/jsonfmt): log map() reports at top level JSON fields
2021-08-01 09:36:59 +02:00
Zaiming Shi
5d59ac1f02
refactor(logging): delete log headers from all modules
2021-08-01 09:36:59 +02:00
Zaiming Shi
e57f99168b
refactor(logger): delete log header parse-transform
...
because now we have MFA in log
2021-08-01 09:36:59 +02:00
Zaiming Shi
0f5c5db841
refactor(logger): stop using anonymous fun for logging
2021-08-01 09:36:59 +02:00
Zaiming Shi
df69a9c031
chore: upgrade to hocon 0.11.0
2021-08-01 09:36:59 +02:00
zhanghongtong
9a03138e53
feat(hooks): emqx hooks support put
2021-07-30 19:01:24 +08:00
zhanghongtong
1f4ce31010
chore(release): update emqx release version
2021-07-30 17:52:35 +08:00
Shawn
054623bd56
fix(authz): update the post_config_update callback
2021-07-30 15:37:09 +08:00
Shawn
dc1ba51935
fix(emqx_config): always check config files using richmap at emqx bootup
2021-07-30 15:37:09 +08:00
Shawn
35032e1d44
refactor(emqx_config): call MOD:post_config_update/3 after checking hocon schema
2021-07-30 15:37:09 +08:00
Turtle
ef1b591532
chore: Dynamically get the app that starts by default
2021-07-30 13:43:25 +08:00
Zaiming Shi
729f89f514
chore(rebar.config): update hocon version 0.10.5
2021-07-30 09:18:43 +08:00
Zaiming Shi
cf1246f026
feat(emqx_config): allow loading configs from binary
...
This will be helpful for tests
2021-07-30 09:18:43 +08:00
Zaiming Shi
82df49d165
fix(emqx_config): handle default value correctly
2021-07-29 12:18:45 +02:00
Zaiming Shi
8d2f9d4e1c
refactor(emqx_config): store configs per root name
...
Prior to this change, the global (a big map) config is saved
to persistent_term as one single term.
With this change, configs are keyed by their name spaces,
i.e. the root struct names in hocon schema.
This is to allow loading configs with more dynamic scope,
so we can start emqx app independently (without all merged configs),
and to allow external plugins to load their configs incrementally
at run-time.
2021-07-29 12:18:45 +02:00
Zaiming Shi
085d6c9ba0
fix(emqx_schema): resolve os env in translation
...
default value is a part of schema which should be static and
deterministic between different run-time or build-time environment
2021-07-29 12:18:45 +02:00
Turtle
cdc8000493
chore(modules): presence/delayed/telemetry/rewrite/topic_metrics independent conf
2021-07-29 16:57:14 +08:00
zhanghongtong
4c6739161d
chore(emqx authz): rename root name for authz conf
...
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-29 16:44:40 +08:00
Turtle
4afae79be9
chore(statsd): update statsd conf root
2021-07-29 10:08:07 +08:00
Turtle
61c11b8e3f
chore(config): delete presence/subscription/rewrite config
2021-07-28 18:58:18 +08:00
Zaiming Shi
cecc3bb899
chore(config): delete lager config
...
the only lib used lager was amqp client which is now updated
with lager droped from its dependencies
2021-07-28 18:06:59 +08:00
Shawn
90b20aae2b
fix(dialyzer): nowarn_function extra_schema_fields/1
2021-07-28 14:51:02 +08:00
Shawn
e7ced477a9
feat(config): read schemas for apps from file at build time
2021-07-28 14:51:02 +08:00
Zaiming (Stone) Shi
f93ee2ca17
Merge pull request #5330 from zmstone/feat-support-sname
...
feat: support short node name (sname)
2021-07-28 07:14:46 +02:00
Zaiming Shi
e6110b0e9e
fix(emqx_app): stop listeners in application prep_stop callback
...
Application:stop is call after the root supervisor is stopped,
in our case, prior to this fix, emqx_sup is stopped before
the listeners (hence the emqx_connection processes).
This causes shutdown to emit a lot of error logs
e.g. emqx_broker pool is down, but emqx_connection process is still
trying to call the pool
2021-07-28 08:53:49 +08:00
Zaiming Shi
d628d37a93
fix(emqx_os_mon): log info level for unexpected message
...
also reply error for unexpected gen_server call
and refine log message for unexpected gen_server cast
2021-07-28 08:53:36 +08:00
Zaiming Shi
d68589e0cb
feat(boot): make possible to boot on short name
2021-07-27 22:16:10 +02:00
Zaiming Shi
0ab713050d
fix(emqx_schema): call new hocon_schema API to get field value
2021-07-27 09:26:37 +02:00
Turtle
7a24878436
feat(prometheus): Support swagger prometheus API
2021-07-27 08:57:40 +08:00
Shawn
c0c5bcc698
feat(config): support deleting a config entry
2021-07-26 18:50:24 +08:00
zhanghongtong
4c5b75f281
chore: rename acl to authz
...
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-26 16:10:33 +08:00
Turtle
569d54a4c0
feat(dashboard): Update the configuration file to hocon
2021-07-26 15:00:40 +08:00
turtleDeng
cafed47da6
refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2
...
refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2
2021-07-26 09:14:13 +08:00
Zaiming (Stone) Shi
2e6b5a0d34
Merge pull request #5305 from zmstone/chore-add-notice-files
...
chore: add notice files
2021-07-24 09:49:52 +02:00
Shawn
935ef0db20
fix(config): rename callback functions for emqx_config_handler
2021-07-23 18:56:30 +08:00
DDDHuang
ec88e3a404
chore: sys uptime by millisecond
2021-07-23 18:32:38 +08:00
turtleDeng
29826000f0
Merge branch 'master' into update_config
2021-07-23 18:09:01 +08:00
turtleDeng
6bc096d22e
Merge pull request #5292 from turtleDeng/statsd
...
feat(statsd): optimize default value & add statsd http API
2021-07-23 18:05:58 +08:00
zhanghongtong
4b50bfb4c2
chore(config): rename acl to authorize in emqx.conf
...
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-23 17:56:15 +08:00
Zaiming Shi
79c550dc54
chore: add notice files
2021-07-23 11:47:04 +02:00
Turtle
6617ba2772
feat(statsd): add statsd http API
2021-07-23 17:41:53 +08:00
Shawn
2ddcfdf365
refactor(config): rename emqx_config:update_config/2 to emqx_config:update/2
2021-07-23 17:25:39 +08:00
Shawn
d205a88f2a
refactor(config): change alarm.validity_period to ms
2021-07-23 17:06:28 +08:00
Shawn
67f76c009a
refactor(config): change sysmon.os.mem_check_interval to ms
2021-07-23 17:06:28 +08:00
Shawn
41820e3bbd
refactor(config): change sysmon.os.cpu_check_interval to ms
2021-07-23 17:06:28 +08:00
Shawn
14da108443
fix(mqtt): mqtt5 property session expiry interval not working
2021-07-23 17:06:28 +08:00
Shawn
0704cbc986
refactor(config): change mqtt.session_expiry_interval to ms
2021-07-23 17:06:28 +08:00
Shawn
684e46c45d
refactor(config): change mqtt.await_rel_timeout to ms
2021-07-23 17:06:28 +08:00
Shawn
c5bc7e7e57
fix(test): update testcases for retry_interval
2021-07-23 17:06:28 +08:00
Shawn
93e1257045
refactor(config): change mqtt.retry_interval to ms
2021-07-23 17:06:28 +08:00
Shawn
048ba1e067
refactor(config): change global_gc_interval to ms
2021-07-23 17:06:28 +08:00
DDDHuang
e96bac87ce
refactor: alarms api; add: alarms format function
2021-07-23 13:56:23 +08:00
DDDHuang
9642bcce88
refactor: listeners api; add: listeners list function; fix: listener
...
already start error
2021-07-23 13:52:19 +08:00
Shawn
7c5caee89c
fix(trie): export set_compact/1
2021-07-23 10:56:20 +08:00
Shawn
327a464844
fix(test): reload emqx_plugins after updating the config
2021-07-23 10:56:20 +08:00
Shawn
c2e7acc1f1
fix(test): change application:set_env/3 to emqx_config:put/2
2021-07-23 10:56:20 +08:00
Shawn
5fd54d13d2
fix(test): cannot get trie_compaction config
2021-07-23 10:56:20 +08:00
Shawn
0a3b77f65d
fix(config): write configs to emqx_override.conf failed
2021-07-23 10:56:20 +08:00
Shawn
2666c06232
refactor(config): load emqx.conf before all other tasks in emqx_app
2021-07-23 10:56:20 +08:00
Shawn
1433a7e0fe
refactor(config): remove emqx:get_env/1,2
2021-07-23 10:56:20 +08:00
Turtle
709f6a535b
feat(telemetry): telemetry API support swagger
2021-07-22 16:21:05 +08:00
Zaiming (Stone) Shi
fd2c3fe37b
Merge pull request #5282 from zmstone/upgrade-ekka-0.10.4
...
fix(rebar.config): upgrade to ekka 0.10.4
2021-07-21 15:24:28 +02:00
Zaiming Shi
051ac91299
fix(rebar.config): upgrade to ekka 0.10.4
2021-07-21 11:54:32 +02:00
William Yang
de387c4c8e
chore: gitignore erlang_ls.config
2021-07-21 17:51:49 +08:00
William Yang
7521d09079
feat(quic): toggle QUIC listener and fix ci test
2021-07-21 17:51:49 +08:00
Shawn
f913cf9617
fix(rpc): read tcp_client_num from emqx_config
2021-07-21 17:34:01 +08:00
Shawn
29bb4c2a01
fix(configs): correct the default value of some configs
2021-07-21 17:34:01 +08:00
JianBo He
74db04f1c0
chore(emqx): enrich version type
2021-07-21 16:09:48 +08:00
JianBo He
26ba1b630c
test(session): fix test cases
2021-07-21 09:47:49 +08:00
JianBo He
b782d4c53a
refactor(emqx): strip the side effects of emqx_session module
2021-07-21 09:47:49 +08:00
Shawn
98c7f9edb2
refactor(configs): make mqtt related configs only in zone
2021-07-20 11:41:16 +08:00
Shawn
af5470cb30
refactor(configs): make acl related configs only in zone
2021-07-20 11:41:16 +08:00
Shawn
e0e9b7ec5b
fix(emqx_congestion): read congestion config only from zone
2021-07-20 11:41:16 +08:00
Shawn
2898e9c6dc
refactor(config): make rate_limit only in listeners for now
2021-07-20 11:41:16 +08:00
Shawn
e6424d63d8
refactor(config): don't allow inheritable config entries
2021-07-20 11:41:16 +08:00
Shawn
31f016fa22
refactor(config): remove emqx_zone
2021-07-19 14:47:43 +08:00
zhanghongtong
2476664385
chore(release): update emqx release version
2021-07-17 18:12:40 +08:00
Shawn
a0f8ca2c3f
fix(config): delete the emqx.conf.old
2021-07-17 17:36:01 +08:00
Turtle
7b38ae7f47
fix(test): fix check paho test cases fail
2021-07-17 17:09:16 +08:00
Shawn
c9cf8b66e7
fix(docker): cannot set log_level using os env
2021-07-17 15:25:18 +08:00
Shawn
7a77f4f54e
fix(emqx_schema): start emqx as standalone app failed
2021-07-17 10:19:06 +08:00
Shawn
4d279e47d8
chore(merge): merge code from master
2021-07-17 01:20:57 +08:00
Shawn
b82693cc0b
fix(authz): support config hot upgrading
2021-07-17 01:18:14 +08:00
turtleDeng
fc13c59d7b
chore: use hocon to replace cuttlefish
2021-07-16 23:52:43 +08:00
turtleDeng
8c9be070b4
chore: update hocon tag
2021-07-16 19:59:06 +08:00
Shawn
6d871cc52f
fix(authz): resources not created when authz started
2021-07-16 18:06:10 +08:00
Shawn
bb6d7c4e0b
Merge branch 'master' into emqx_config
2021-07-16 16:49:50 +08:00
k32
9d9d9f2ce3
Merge pull request #5227 from k32/dev/bump_ekka
...
chore(ekka): Bump version to 0.10.3
2021-07-15 17:09:59 +02:00
Shawn
543f2c78c5
fix(ekka): cluster cannot get started with the new config
2021-07-15 20:28:12 +08:00
Shawn
a1488b3946
fix(test): merge conflicts
2021-07-15 18:54:31 +08:00
Shawn
ba166967c9
Merge branch 'master' into emqx_config
2021-07-15 18:44:56 +08:00
Shawn
a16a15e3a9
fix(test): remove tlsv1.3 provisionally to make test pass
2021-07-15 18:34:27 +08:00
Shawn
d5756ecd52
fix(test): update the testcases
2021-07-15 17:19:46 +08:00
Shawn
6fbf20b930
fix(test): update the testcases
2021-07-15 16:19:26 +08:00
Shawn
3c47ab92d7
fix(listeners): update the default tls ciphers
2021-07-15 15:11:54 +08:00
Shawn
f6702b020e
fix(hocon): update hocon version to 0.10.1
2021-07-15 13:57:24 +08:00
Shawn
533f4cf63e
fix(dialyzer): some dialyzer complains
2021-07-15 13:52:06 +08:00
Shawn
4da59a5785
fix(dialyzer): some dialyzer problems
2021-07-15 11:56:13 +08:00
Shawn
7d66760c1e
fix(hocon): start emqx failed using os env configs
2021-07-15 11:55:31 +08:00
zhouzb
beecc4c5a2
test(authn): fix test case for authn
2021-07-15 11:36:49 +08:00
k32
3bb41ae367
chore(ekka): Bump version to 0.10.3
2021-07-14 17:49:31 +02:00
zhouzb
6a8e35ce3a
feat(one authn): merge simple authn and enhanced authn
2021-07-14 16:54:13 +08:00
Shawn
8e32d5314d
Merge branch 'master' into emqx_config
2021-07-14 09:33:58 +08:00
Shawn
25d7616881
fix(test): update the testcases for emqx_ws_connection_SUITE
2021-07-13 19:58:54 +08:00
Shawn
7d9321a141
fix(test): apply default configs for emqx_session_SUITE
2021-07-13 18:39:57 +08:00
Shawn
e4e7eb81e4
fix(test): update the testcases for emqx_mqtt_caps_SUITE
2021-07-13 17:42:44 +08:00
Shawn
3aaf7041a6
fix(test): update the testcases for emqx_os_mon_SUITE
2021-07-13 17:41:15 +08:00
Shawn
01c4c655fb
fix(config): make emqx_caps work with the new config struct
2021-07-13 16:42:32 +08:00
Shawn
a0bddfc834
fix(config): start quic connection with zone and listener names
2021-07-13 16:41:20 +08:00
Shawn
b123299c70
fix(config): make flapping work with the new config
2021-07-13 16:39:59 +08:00
Shawn
871353704a
fix(test): update the testcases for emqx_channel_SUITE
2021-07-13 16:38:06 +08:00
Shawn
868b31d123
fix(test): update the testcases for emqx_mqtt_protocol_v5_SUITE
2021-07-13 16:37:18 +08:00
Shawn
6d9918d3e5
fix(test): update the testcases for emqx_vm_mon_SUITE
2021-07-13 13:52:29 +08:00
Shawn
400e08e229
fix(flapping): make the flapping work with the new config structure
2021-07-12 20:43:11 +08:00
zhanghongtong
9081a22b8c
chore(deps): deps in rebar must not be use branch
...
Can use tags or commit ids in rebar deps
Signed-off-by: zhanghongtong <rory-z@outlook.com>
2021-07-12 18:28:47 +08:00
Shawn
499ab5d9c4
fix(config): configure a plain map for mqueue_priorities
2021-07-12 18:10:47 +08:00
Shawn
88638da287
fix(test): always init session with zone and listener names
2021-07-12 16:00:04 +08:00
Shawn
ea68beeef6
fix(test): update test cases for emqx_client_SUITE
2021-07-12 15:41:43 +08:00
Shawn
042ff2e0d7
fix(test): update test cases for emqx_connection_SUITE
2021-07-10 18:01:45 +08:00
Shawn
4c122d0722
fix(test): update test cases for emqx_channel_SUITE
2021-07-10 14:29:45 +08:00
Zaiming (Stone) Shi
6b3cfd7c5d
fix(boot): boot exit on config error ( #5200 )
...
* fix(hocon): fail on hocon command errors
call_hocon bash function respects exit code
* fix(bin/emax): get dist_port config from hocon
after config file refactoring (to hocon format) the grep pattern
no longer works
* fix(bin/emqx): set -o pipefail
* feat(bin/emqx): add a DEBUG option
2021-07-10 08:51:35 +08:00
Shawn
9cda6ab3c8
feat(alarm): update the validity_period timer
2021-07-09 19:09:44 +08:00
Shawn
14af90d0c3
fix(test): update test cases for emqx_acl_cache_SUITE
2021-07-09 15:38:51 +08:00
Shawn
fb78e510ca
fix(test): update test cases for emqx_access_control_SUITE
2021-07-09 15:04:54 +08:00
Zaiming Shi
e990220e83
fix(emqx.conf): default wss max_connection from 16 to 102400
2021-07-09 07:34:04 +02:00
Shawn
0ac2492b36
fix(config): read app env 'config_files' to get the path to emqx.conf
2021-07-08 19:27:36 +08:00
Shawn
27d5c5b2d9
feat(config): make quic listener start with the new config
2021-07-08 15:05:07 +08:00
William Yang
79d169b3ff
chore(quic): bump emqtt vsn to 1.4.2
2021-07-07 13:41:47 +02:00
William Yang
660d16e84b
feat(config): set the endpoint to "" to disable listener
2021-07-07 13:41:47 +02:00
William Yang
1f20bae392
feat(quic): conditionally build/start quicer app
2021-07-07 13:41:47 +02:00
William Yang
6adb76cf27
ci: try 32bit fix from quicer
2021-07-07 13:41:43 +02:00
Shawn
477097c062
chore(project): merge code from master
2021-07-07 19:32:52 +08:00
Shawn
4dd72e59fa
feat(listeners): make the APIs and CLIs work with the new listener
2021-07-07 16:22:38 +08:00
Shawn
630b54f6ee
feat(acl): make mqtt over websocket work with the new config
2021-07-07 14:43:54 +08:00
Shawn
707851c36f
refactor(force_shutdown): force shutdown the connection if it don't kill itself
2021-07-06 20:11:49 +08:00
Shawn
7c0fd642bb
feat(acl): make acl cache work with the new config
2021-07-06 19:24:54 +08:00
Shawn
5efd5c8d3b
refactor(emqx_connection): make the mqtt tcp connection work with new config
2021-07-06 18:26:54 +08:00
Shawn
969e72c82b
refactor(connection): remove active_n from state
2021-07-05 19:13:55 +08:00
Shawn
10b01a34ef
refactor(listeners): reformat the code for starting stopping listeners
2021-07-05 19:12:26 +08:00
Shawn
6d92d87ae7
feat(map_lib): support emqx_map_lib:deep_merge/2
2021-07-05 19:11:05 +08:00
Shawn
807bbb391c
feat(map_lib): support emqx_config:get_listener_conf/3,4
2021-07-05 16:40:00 +08:00
Shawn
0aec496886
feat(map_lib): support emqx_map_lib:deep_find/2
2021-07-05 16:02:03 +08:00
Shawn
30c2a76dae
refactor(emqx_config): move helper funcs to emqx_map_lib
2021-07-05 15:16:01 +08:00
DDDHuang
ce1e6ce89d
fix: start jiffy by emqx
2021-07-05 14:41:33 +08:00
Shawn
a884d215e1
fix(connection): start connection failed
2021-07-05 13:50:37 +08:00
Shawn
fb809a5c08
fix(active_n): revert the changes to active_n
2021-07-05 11:28:21 +08:00
Shawn
8b3fcde380
feat(config): make the listeners up
2021-07-02 22:17:22 +08:00
JianBo He
8ee86f2fbe
fix(gw): start emqx-gateway after emqx restarted
2021-07-02 20:41:46 +08:00
JianBo He
56cdd469ff
feat(gateway): The prototype for emqx-gateway application
...
* feat(gateway): add gateway application
* chore(gateway): add normalize confs function
* refactor: move emqx-stomp to emqx-gateway subdir
* chore(gateway): fix some bad function defination
* chore(gateway): rename type to gwid
* chore(gw-stomp): upgrade the implementation to suppport gateway instance
* feat(gw-stomp): add reconnect mechanism
* refactor(stomp): upgrade connection&channel module to latest
* refactor(stomp): more details for handle_in/out
* refactor(stomp): get it up and running
* chore(gw): load some modules by default
* refactor: upgrade the emqx-gateway schema module
* test(stomp): fix testcases for stomp gateway
* chore(gw): remove needless lines
* chore(gateway): correct a lot of specs
* chore(gw): add a draft for metrics
* chore(gw): add metrics process
* fix(gw): fix cm process monitor
* test(gw): add test cases for gateway-regitry
* feat(gw): add metrics/cli for gateway
* fix(gw): fix xref errors
* chore(gw): pretty gateway metrics print format
* chore(gw-stomp): generate clientid by default
* chore(gw): more reliable
* chore(gw): rename gwid -> type
* chore(gw): impl the update logic
* chore(gw): some format improvement
* chore(gw): adapts the hocon configs
* fix(gw): fix xref errors
* test(gw): update configurations for tests
* chore(gw): ignore diaylzer warnings
* fix(gw): fix bad function call
* chore(gw): remove needless comments
2021-07-02 20:17:40 +08:00
zhanghongtong
4313e37994
chore(release): update emqx release version
2021-07-02 19:11:02 +08:00
Turtle
24292f4f4e
chore: delete plugins related configuration
2021-07-02 18:12:06 +08:00
William Yang
5ae8cd2fa3
fix(quic): dialyzer errors
2021-07-02 17:10:56 +08:00
William Yang
72117f3f1d
feat(quic): bump emqtt and quicer version
...
emqtt: 1.4.1
quicer: 0.0.5
2021-07-02 17:10:56 +08:00
William Yang
82d0f2b016
feat(quic): Add tests and support more listener option
...
- support option `active_n`
- add quic group in emqx_mqtt_protocol_v5_SUITE
- fix rate limit
2021-07-02 17:10:56 +08:00
Turtle
390b28a25d
fix: join cluster fail
2021-07-02 17:01:16 +08:00
Turtle
918a26e921
feat(conf): merge all conf to emqx.conf
2021-07-02 17:01:16 +08:00
Turtle
fb2f2741a4
fix: fix test cases fail
2021-07-02 14:41:28 +08:00
Turtle
4b87594839
feat(conf): sys、mon、alarm、plugins、broker、mqtt conf to hocon
2021-07-02 14:41:28 +08:00
zhouzb
c7cbe819ed
feat(hocon): convert config format of rpc and log to hocon
2021-07-02 14:41:28 +08:00
Shawn
092c5455c8
feat(config): change configs of zone and listener to hocon format
2021-07-02 14:41:28 +08:00
Turtle
8266a79867
feat(conf): cluster/node conf to hocon
2021-07-02 14:41:28 +08:00
Shawn
8dcb5ceb86
fix(config): get config problems in sysmon
2021-07-01 18:01:38 +08:00
Shawn
aad393f8d7
feat(config): apply new config struct to emqx_sys_mon
2021-07-01 16:27:59 +08:00
Shawn
db38137d5c
feat(config): apply new config struct to emqx_alarm
2021-07-01 15:00:59 +08:00
Shawn
66aaed1f87
feat(config): update emqx_schema for logger
2021-07-01 11:47:33 +08:00
lafirest
860aea50db
chore(emqx_retainer): change config of emqx_retainer to use hocon
2021-06-30 21:42:34 +08:00
Shawn
d2c50baf93
fix(config): set console_handler.enable to turewhen start from console
2021-06-30 19:24:37 +08:00
Shawn
02c9a3163b
refactor(config): emqx.conf for 5.0
2021-06-30 09:39:03 +08:00
k32
dae4c771d0
Merge pull request #5126 from k32/dev/delayed-mod-shard
...
chore(mod_delayed): Add RLOG shard
2021-06-29 13:05:41 +02:00
zhanghongtong
c9acf423ba
chore: rename authorze_cache function name to check_authorization_cache
2021-06-29 10:09:15 +08:00
zhanghongtong
e1b0f44a8a
chore: rename check_authz to authorize
2021-06-29 10:09:15 +08:00
zhanghongtong
c63bdc355a
chore: rename check_acl to check_authz
...
update emqx_coap vsn
rename OnClientCheckAcl to OnClientCheckAuthz in exhook
2021-06-29 10:09:15 +08:00
k32
e8e956b074
chore(mod_delayed): Add RLOG shard
2021-06-28 21:35:10 +02:00
k32
73ec8c47cc
chore(rule_engine): Add an RLOG shard
2021-06-28 20:29:08 +02:00
k32
26b2216e25
chore(shared_sub): Add shared_sub shard
2021-06-28 17:52:57 +02:00
k32
ce4800e6ae
chore(alarm): Alarm shard
2021-06-28 17:52:57 +02:00
k32
7c9861dbaa
chore(banned): Add banned shard
2021-06-28 14:05:35 +02:00
k32
ca1b789ef6
Merge pull request #5100 from k32/dev/authn-shard
...
Create authN shard
2021-06-28 12:57:36 +02:00
zhanghongtong
64ce0d0e4f
chore(acl): delete acl nomatch config item
2021-06-28 17:47:44 +08:00
William Yang
5571c54607
Merge pull request #5002 from qzhuyan/dev/william/quic-support-centos7
...
Quic support part 1
2021-06-28 10:49:44 +02:00
k32
dc1deff3f3
refactor(rlog): Fix initialization of emqx_cm_registry table
2021-06-28 10:35:36 +02:00
Rory Z
1f7291380b
chore: delete internal acl code
2021-06-28 11:44:01 +08:00
turtleDeng
89529ec4fa
chore: reset plugin conf generate ( #5094 )
...
* chore: reset plugin conf generate
* fix(plugin): check dialyzer fail
* chore: rm emqx_management_schema.erl file
* fix(plugin): check dialyzer fail
* fix(plugin): fix check ct fail
* fix(plugin): check dialyzer fail
2021-06-28 11:43:48 +08:00
Turtle
c9ac851d27
feat(prometheus): Update the configuration file to hocon
2021-06-28 11:43:48 +08:00
Shawn
cc1f57ff01
Add some APIs for emqx_config ( #5095 )
2021-06-28 11:43:48 +08:00
Shawn
d77352168f
Reference to foreign schema definitions in emqx_schema ( #5090 )
2021-06-28 11:43:48 +08:00
Shawn
36c7785fd0
The config handler phase2 ( #5052 )
...
* refator(config_handler): handle and validate the updates to raw_configs
* fix(hocon): update hocon to 0.8.0
* refactor(config_handler): check and apply envs only in top-level handler
* refactor(config_handler): update config from top level to bottom level
* refactor(emqx_data_bridge): move configs to emqx.conf
* fix(emqx_schema): remove the extra config path
* fix(config_handler): load the emqx.conf when starting emqx_config_handler
* fix(data_bridge): API not working
* feat(config_handler): save updated configs to emqx_override.conf
* fix(config_handler): cannot find the emqx.conf and emqx_override.conf
* fix(emqx_config): cannot find the correct path for etc dir
* fix(test): load load emqx_schema foreign refereced apps
* refactor(emqx_plugin): do not generate configs before load plugins
All configs (including the configs for plugins) now should go into
the `emqx.conf`.
* fix(tests): update the test cases for plugins
* fix(tests): don't include schema from apps when testing
* fix(tests): use emqx-ct-helper branch hocon
2021-06-28 11:43:48 +08:00
k32
198e3c03e0
feat(emqx_management): mqtt_app shard
2021-06-28 11:43:48 +08:00
Zaiming Shi
871f23f047
build: do not allow user override PKG_VSN
...
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-28 11:43:48 +08:00
Turtle
205e588b22
fix(plugins): fix load plugin generate hocon configs fail
2021-06-28 11:43:31 +08:00
Shawn
e2d96e46a0
change resource,connectors,data_bridges as normal apps ( #5034 )
2021-06-28 11:43:31 +08:00
Turtle
f004e36e28
feat(plugins): Support load plugins of hocon configuration format
2021-06-28 11:43:31 +08:00
Rory Z
87cc94ad28
chore(hooks): update type
2021-06-28 11:43:31 +08:00
Rory Z
0dd068135d
chore(hooks): delete is_function()
2021-06-28 11:43:31 +08:00
Rory Z
b21959b0c3
test: fix tests error
2021-06-28 11:43:31 +08:00
Rory Z
46fe77687c
chore(dialyzer): fix dialyzer error
2021-06-28 11:43:31 +08:00
zhanghongtong
64a63ab892
chore(hooks): emqx_hooks no longer accept anonymous functions
2021-06-28 11:43:31 +08:00
Zaiming Shi
62df9f03ad
fix(emqx_schema): add 'sensitive' flag for passowrd configs
2021-06-28 11:43:31 +08:00
Zaiming Shi
1fca3cd1b5
chore(rebar.config): use hocon 0.6.0
...
hocon 0.6.0 added supports for sensitive config flagging
sub-struct type checking, and remote struct referencing
2021-06-28 11:43:31 +08:00
Shawn
ff54fbd1d1
fix(shared_sub): discard all unexpected msgs
2021-06-28 11:43:14 +08:00
Shawn
95e7a4dd7b
chore(appup): update the appup for 4.3.5
2021-06-28 11:43:13 +08:00
Shawn
8f15a41f54
fix(shared_sub): failed to clean the emqx_shared_subscription tab
...
A trick that fixes the issue that we demonitored the shared subscriber
too early if it not unsubscribed all of the topics.
2021-06-28 11:42:56 +08:00
Turtle
22f1e8d7ed
chore(review): review 4.3.4
2021-06-28 11:42:39 +08:00
JianBo He
8da6d5cf16
fix(emqx_cm): catch noproc exception from rpc_call ( #5048 )
2021-06-28 11:42:39 +08:00
JianBo He
2bc586b930
fix(ws): avoid funcation_clause for un-inited websocket
2021-06-28 11:40:43 +08:00
Zaiming Shi
0451f89c22
chore(conf): change default number of gen_rpc connections to 1
2021-06-28 11:40:24 +08:00
JianBo He
8352fa6f31
fix(mqttsn): fix proto_name to MQTT-SN instead of MQTT ( #4961 )
2021-06-28 11:40:22 +08:00
Rory Z
c79e478c42
chore: delete internal acl code
2021-06-25 18:45:34 +08:00
turtleDeng
c9c6b69cc9
chore: reset plugin conf generate ( #5094 )
...
* chore: reset plugin conf generate
* fix(plugin): check dialyzer fail
* chore: rm emqx_management_schema.erl file
* fix(plugin): check dialyzer fail
* fix(plugin): fix check ct fail
* fix(plugin): check dialyzer fail
2021-06-25 17:06:30 +08:00
Turtle
2582fdcfe8
feat(prometheus): Update the configuration file to hocon
2021-06-25 16:31:18 +08:00
Shawn
d5eb37c537
Add some APIs for emqx_config ( #5095 )
2021-06-25 15:40:28 +08:00
Shawn
9977d836bc
Reference to foreign schema definitions in emqx_schema ( #5090 )
2021-06-25 12:46:57 +08:00
Shawn
704af9f3b1
The config handler phase2 ( #5052 )
...
* refator(config_handler): handle and validate the updates to raw_configs
* fix(hocon): update hocon to 0.8.0
* refactor(config_handler): check and apply envs only in top-level handler
* refactor(config_handler): update config from top level to bottom level
* refactor(emqx_data_bridge): move configs to emqx.conf
* fix(emqx_schema): remove the extra config path
* fix(config_handler): load the emqx.conf when starting emqx_config_handler
* fix(data_bridge): API not working
* feat(config_handler): save updated configs to emqx_override.conf
* fix(config_handler): cannot find the emqx.conf and emqx_override.conf
* fix(emqx_config): cannot find the correct path for etc dir
* fix(test): load load emqx_schema foreign refereced apps
* refactor(emqx_plugin): do not generate configs before load plugins
All configs (including the configs for plugins) now should go into
the `emqx.conf`.
* fix(tests): update the test cases for plugins
* fix(tests): don't include schema from apps when testing
* fix(tests): use emqx-ct-helper branch hocon
2021-06-25 11:47:18 +08:00
k32
a14ab5f90a
Merge pull request #5053 from k32/dev/mgmt-shard
...
feat(emqx_management): mqtt_app shard
2021-06-23 19:42:47 +02:00
Zaiming Shi
d7ed66f234
build: do not allow user override PKG_VSN
...
We have an assertion in code, allowing user to override
will compile but not run.
2021-06-22 18:56:31 +08:00
k32
239255f251
feat(emqx_management): mqtt_app shard
2021-06-21 18:02:11 +02:00
Turtle
bc71a1e2c6
fix(plugins): fix load plugin generate hocon configs fail
2021-06-19 16:47:09 +08:00
Shawn
8978464269
change resource,connectors,data_bridges as normal apps ( #5034 )
2021-06-19 16:27:21 +08:00
Turtle
ffcbcaed3c
feat(plugins): Support load plugins of hocon configuration format
2021-06-19 13:42:21 +08:00
Rory Z
186094d2ab
chore(hooks): update type
2021-06-18 18:59:52 +08:00
Rory Z
1fa55f5a4e
chore(hooks): delete is_function()
2021-06-18 18:59:52 +08:00
Rory Z
1a09d636ae
test: fix tests error
2021-06-18 18:59:52 +08:00
Rory Z
536c7256da
chore(dialyzer): fix dialyzer error
2021-06-18 18:59:52 +08:00
zhanghongtong
bbf6b4e64e
chore(hooks): emqx_hooks no longer accept anonymous functions
2021-06-18 18:59:52 +08:00
Zaiming Shi
36cd03cc98
fix(emqx_schema): add 'sensitive' flag for passowrd configs
2021-06-18 09:02:25 +08:00
Zaiming Shi
6865f36d90
chore(rebar.config): use hocon 0.6.0
...
hocon 0.6.0 added supports for sensitive config flagging
sub-struct type checking, and remote struct referencing
2021-06-18 09:02:25 +08:00
William Yang
d1978aaaf2
chore(quic): fix format
2021-06-17 09:03:10 +02:00
William Yang
b4a9d663ae
feat(quic): quic conn idle_timeout default 1min
2021-06-17 09:03:10 +02:00
William Yang
4e2e2d5635
feat(quic): update emqx_schema for quic
2021-06-17 09:03:10 +02:00
William Yang
fd785240f5
feat(quic): bump quicer to 0.0.3
2021-06-17 09:03:10 +02:00
William Yang
e34470f9f2
feat(quic): remove unsupported configs.
2021-06-17 09:03:10 +02:00
William Yang
af2faed107
feat(quic): switch to deps on emqx quicer repo
2021-06-17 09:03:10 +02:00
k32
6505340cb8
feat(rlog): Introduce routing RLOG shard
2021-06-16 16:05:10 +02:00
turtleDeng
0515ef6e45
feat(connector): add more connector ( #4985 )
2021-06-16 11:28:26 +08:00
Shawn
8b0a6d955b
fix(test): ci failed due to existing subscriptions
2021-06-16 11:27:34 +08:00
Shawn
444c721f93
fix(config): change handler name to emqx_data_bridge_config_handler
2021-06-16 11:27:34 +08:00
Shawn
b11afc6997
fix(config): start the top level config handler at emqx bootup
2021-06-16 11:27:34 +08:00
Shawn
378a2b7b9e
feat(config): update config to the sub config handler
2021-06-16 11:27:34 +08:00
Shawn
ccba714cd6
feat(config): add emqx_config_handler
2021-06-16 11:27:34 +08:00
William Yang
68844cefd9
feat(quic): update emqx_schema for quic
2021-06-15 15:36:04 +02:00
William Yang
bb6459ba3a
build: add quic dep in app/emqx/rebar.config
2021-06-15 15:36:04 +02:00
William Yang
14614fbe33
feat(quic): adapt to new quicer API.
2021-06-15 15:36:04 +02:00
William Yang
5356668eac
feat(quic): adapt to hocon schema
2021-06-15 15:36:04 +02:00
William Yang
1ffd2cf245
chore(config): adapt to new config format
2021-06-15 15:36:04 +02:00
William Yang
f9a113477e
feat(quic): use quicer:getstat instead.
2021-06-15 15:36:04 +02:00
William Yang
e062be2b0e
feat(quic): reload quicer lib before start listener
2021-06-15 15:36:04 +02:00
William Yang
14057c033d
feat(quic): support stop/start quic listeners.
2021-06-15 15:36:03 +02:00
William Yang
06f9674ce3
feat(quic): add quicer to application deps list.
2021-06-15 15:36:03 +02:00
William Yang
9570d01792
fix(quic): error handling for getstats.
...
- return {error, closed} instead
- quicer demo/3 branch.
2021-06-15 15:36:03 +02:00
William Yang
570e096b56
fix(quic): return empty list for dead 'Socket'
2021-06-15 15:36:03 +02:00
William Yang
087aa1dd53
feat(quic): handle stream close.
2021-06-15 15:36:03 +02:00
William Yang
70f22d2c1b
feat(quic): reuse emqx_connection module for quic.
2021-06-15 15:36:03 +02:00
William Yang
899ba579fc
feat(quic): compile and start quicer listener.
2021-06-15 15:36:03 +02:00
Zaiming Shi
c84af95190
chore: ensure new env override prefix variable
2021-06-15 12:35:08 +02:00
Zaiming Shi
9a78f812e1
fix(emqx_resource): fix schema schema definition
2021-06-15 12:35:08 +02:00
Zaiming Shi
bde5d11078
fix(hocon): call new schema definition functions
2021-06-15 12:35:07 +02:00
Zaiming Shi
909814a34d
fix(hocon): pin hocon 0.5.1
2021-06-15 12:35:07 +02:00
k32
13803f9159
feat(rlog): Add RLOG to EMQX
2021-06-14 15:05:36 +02:00
Zaiming Shi
b92a6837d7
build(emqx): fix emqx standalone dialyzer
2021-06-07 09:09:28 +02:00
Zaiming Shi
7da34b80e5
chore(emqx): bump app version to 5.0.0
2021-06-07 09:09:28 +02:00
Zaiming Shi
13b7dcef4b
chore(emqx): emqtt as test dependency
2021-06-07 09:09:28 +02:00
Zaiming Shi
045a944192
chore(ci): check emqx app standalone
2021-06-07 09:09:28 +02:00
Zaiming Shi
36e3675d54
test(emqx_listeners_SUITE): fix etc dir path
2021-06-07 09:09:28 +02:00
Zaiming Shi
311cb7b659
build: relocate BUILT_ON template
2021-06-07 09:09:28 +02:00
Zaiming Shi
1715b87dce
chore: move root level src, test, include, priv and etc to apps/emqx
2021-06-07 09:09:28 +02:00