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