Shawn
eec64e440d
fix(tracer): create short handler-id if clientid is too long ( #4164 )
...
* fix(tracer): create short handler-id if clientid is too long
No need to support lists and atoms for when tracing clients/topics.
2021-02-16 14:45:33 +08:00
Zaiming Shi
a93d62ace6
refactor(cli): Print listener ID as table head
2021-02-15 10:34:47 +01:00
Zaiming Shi
f9465dda16
Merge branch 'dev/v4.3.0' into merge-e4.2.4-to-dev-4.3.0
2021-02-14 21:41:23 +01:00
Zaiming Shi
c5a02c729a
feat(listeners): Add an api to ensure all listeners are started
2021-02-14 21:30:50 +01:00
Zaiming Shi
dfa9bbc0c2
refactor(listeners): use emqx_ctl to print cli messages
...
It's better to keep cli print behaviour consistent.
It also makes tests easier as they can meck emqx_ctl:print to
validate the output.
2021-02-14 20:40:01 +01:00
Zaiming Shi
153977609e
feat(listeners): Add identifier to listeners
...
Listeners are internally identifiered by the listen-on tuple
which is not UI friendly when we have to find a listener by this
'signature'.
The listeners are actually named in configs, but the names are
discarded in the parsing functions.
This commit is to keep the name and provide an API to find
listener by name (identifier).
2021-02-14 18:12:40 +01:00
Zaiming Shi
dc184574a3
chore(style): fix elvis check for emqx_access_rule
2021-02-13 11:54:09 +01:00
Zaiming Shi
406a7d60c7
chore(style): fix elvis check for emqx_connection
2021-02-13 11:50:17 +01:00
Zaiming Shi
9b82112b7c
Merge remote-tracking branch 'origin/dev/e4.3.0' into merge-e4.2.4-to-dev-4.3.0
2021-02-13 11:10:08 +01:00
Zaiming Shi
f000b6583c
fix(tls): Ensure tls config integrity
...
For default tsl version and ciphers, we try to use otp release number
to determin if we want to use tlsv1.3
For default configs, we try to porivde both tlsv1.3 and
ciphers in config (even for commented out configs)
2021-02-09 22:56:28 +01:00
Zaiming Shi
2852ac79d4
feat(tls): Add a tls lib module
...
emqx_tls_lib is added to help ensure integrity of tls version
and cipher options.
2021-02-09 21:20:26 +01:00
Zaiming Shi
7aff861f9b
refactor(emqx_modules): Move emqx_modules to lib-opensource
...
emqx_moduels for enterprise is refactored as a lib/plugin
in order to avoid merge conflicts, we make sure they can
co-exist in the same branch, because lib-opensource is compiled
in opensource project and lib-enterprise (to be added) is
compiled in enterprise project
2021-02-08 21:35:44 +01:00
emqx-ci-robot
6c1129dc6a
Auto-pull-request-on-2021-01-29 ( #4114 )
...
* fix(share sub): fix the issue that the number of subscriptions dropped to 0 during the picking subscriber and caused a crash
* Connection Busy Alarms (#3992 )
feat(emqx_connection): improve port_busy alarm
* fix(emqx_connection): tune the congestion alarm params
* chore(deps): upgrade esockd to 5.7.5
* fix(appup): correct the appup file
2021-01-30 10:30:18 +08:00
zhanghongtong
d78b2b23c1
chore(build): update pkg version
2021-01-29 19:29:41 +08:00
tigercl
5878950dc3
feat(websocket): support for checking subprotocols ( #4099 )
2021-01-28 20:42:57 +08:00
JianBo He
02cb8d0211
chore(style): set warnings_as_errors compile option
2021-01-27 18:02:12 +08:00
Zaiming Shi
de972b3d84
fix(emqx_vm): Call recon_alloc:allocators/0 to get allocators
2021-01-23 11:42:28 +01:00
Zaiming Shi
23b2f4fa72
Merge pull request #4050 from zmstone/chore-delete-stale-code
...
chore(emqx_vm): delete stale code
2021-01-23 11:13:22 +01:00
JianBo He
7c3cd26589
chore(elvis): fix elvis wanrings
2021-01-23 18:07:58 +08:00
JianBo He
f59377adf5
fix(logs): print the correct username and clientid
2021-01-23 18:07:58 +08:00
Zaiming Shi
33c35915ca
refactor(emqx_vm): make elvis happy
2021-01-22 09:23:20 +01:00
Zaiming Shi
4680ba574c
chore(emqx_vm): Delete get_ets_object, not used
2021-01-22 09:21:45 +01:00
Zaiming Shi
47df29ae49
chore(emqx_vm): delete stale code
...
The port binary format is no longer compatible in OTP 23
2021-01-22 07:50:00 +01:00
Zaiming Shi
0087303b25
feat(shared_sub): Support hashing from source topic.
2021-01-21 21:05:56 +01:00
Zaiming Shi
5aa63ed203
fix(shared_sub): align default value and default config
...
Shared subscription default dispatch strategy is 'random' in config
but 'round_robin' in code. This commit is to make sure they are the
same: both are 'random'.
2021-01-21 21:05:56 +01:00
Zaiming Shi
598207e308
fix(ws_connection): proplists:get_bool for boolean flags
2021-01-15 14:28:22 +01:00
ayodele.akingbule
5794a708ed
feat(emqx_ws_connection): Prevent EMQX from CSWSH Cross-Site Web-Socket Hijack
2021-01-15 14:28:22 +01:00
JianBo He
32b23b9181
Revert "feat(auth_http): support for getting websocket cookies"
...
This reverts commit 5427057c2c
.
2021-01-14 15:10:48 +01:00
JianBo He
d437f9f228
chore(elvis): fix elvis warnings
2021-01-14 15:46:16 +08:00
JianBo He
f2190dd5b5
chore(mnesia): explicitly specify the copy type for table
2021-01-14 15:46:16 +08:00
JianBo He
76fc6225d3
fix(elvis): fix elvis checking
2021-01-14 15:46:16 +08:00
JianBo He
2a029b71c9
perf(mnesia): unify the copy types of all nodes
2021-01-14 15:46:16 +08:00
JianBo He
5427057c2c
feat(auth_http): support for getting websocket cookies
...
see: https://github.com/emqx/emqx-auth-http/pull/225
2021-01-11 09:21:16 +08:00
Ayodele
2b481dabe7
Fix some dialyzer warnings ( #3988 )
2021-01-05 20:49:50 +01:00
ayodele.akingbule
b9bb88d9eb
fix(emqx): fix dialyzer warnings
2021-01-04 14:14:55 +01:00
zhouzb
fbf8d3e111
fix(share sub): fix the issue that the number of subscriptions dropped to 0 during the picking subscriber and caused a crash
2020-12-31 14:03:55 +08:00
Shawn
4f82c77e7a
fix(log): improve the error log message on hook failure ( #3973 )
2020-12-31 13:55:09 +08:00
zhouzb
ac0f51fec3
fix(max topic len): use the maximum length limit by default
2020-12-28 14:48:32 +08:00
JianBo He
739e49218f
fix(cm): fix the problem of registering a channel twice ( #3831 )
2020-12-28 11:03:29 +08:00
ayodele.akingbule
b68a0b3730
fix(emqx_lua_hook): fix dialyzer warnings.
2020-12-25 07:42:01 +08:00
Zaiming Shi
7bdd093ef5
Merge remote-tracking branch 'origin/dev/v4.3.0' into umbrella-fix-build
2020-12-11 08:55:57 +01:00
ayodele.akingbule
6973837829
fix(emqx_plugins): Dialyzer warnings
2020-12-10 23:34:36 +01:00
Ayodele
56d7b3deb1
Umbrella fix build ( #8 )
2020-12-10 11:25:25 +01:00
ayodele.akingbule
59d69b730b
fix(emqx_logger): Dialyzer warnings
2020-12-10 11:22:38 +01:00
ayodele.akingbule
b9b20ba268
fix(emqx.erl): Dialyzer warnings
2020-12-10 11:22:38 +01:00
ayodele.akingbule
62e0a21ad0
fix(emqx_auth_sys, emqx_ws_connection): Dialyzer warnings
2020-12-10 11:22:38 +01:00
ayodele.akingbule
18ae158f45
fix(emqx_plugins, emqx_sys, emqx_sys_mon, emqx_ws_connection): Dialyzer warnings
2020-12-10 11:22:38 +01:00
Zaiming Shi
baaa4e847d
fix(emqx_sn_gateway): Dialyzer warnings
2020-12-10 09:49:24 +01:00
Zaiming Shi
eecd2b5f35
fix(emqx_types): Non mandatory map fields
2020-12-10 09:38:07 +01:00
Zaiming Shi
adc9cc30f6
refactor(emqx_modules): Swallow errors when write modules
2020-12-10 09:35:36 +01:00
Zaiming Shi
d47a2294ca
fix(emqx_mod_topic_metrics): Dialyzer warnings
2020-12-10 09:35:36 +01:00
Zaiming Shi
0f0ca1e9fd
fix(emqx_mod_rewrite): Dialyzer warnings
2020-12-10 09:35:36 +01:00
Zaiming Shi
ab5599b3ec
refactor(hook): Add emqx_hooks:put to hide already_exists error
...
This also fixes dialyzer warnings in emqx_mod_presence
2020-12-10 09:35:36 +01:00
Zaiming Shi
5793ef6640
fix(emqx_mod_sup): Dialyzer warning
...
All the callers of start_child API are discarding the return value.
2020-12-10 09:35:36 +01:00
Zaiming Shi
f3d973689b
fix(emqx_listeners): Dialyzer warnings
2020-12-10 09:35:36 +01:00
Zaiming Shi
7a39470200
fix(emqx_connection): Dialyzer warnings
2020-12-10 09:35:36 +01:00
Zaiming Shi
7dd67a6caf
fix(emqx_channel): Dialyzer warning
2020-12-10 09:35:36 +01:00
Zaiming Shi
cfe52cbb8d
fix(emqx_broker): Dialyzer warning
2020-12-10 09:35:36 +01:00
Zaiming Shi
0eb697fa6f
fix(emqx_app): Dialyzer warnings
2020-12-10 09:35:35 +01:00
Zaiming Shi
3fb69cc407
fix(emqx_alarm): Dialyzer warnings
2020-12-10 09:35:35 +01:00
Zaiming Shi
0d90d5c66b
fix(emqx_acl_cache): Dialyzer warnings
2020-12-10 09:35:35 +01:00
Zaiming Shi
d4aa5ebf55
fix(emqx): Fix dialyzer warnings
2020-12-10 09:35:35 +01:00
JianBo He
7f556d36d1
Merge branch 'dev/v4.3.0' into e422_to_v430
2020-12-09 11:28:36 +08:00
Zaiming Shi
6d1cd6b7ea
refactor(emqx_password): move the module to emqx application
...
Future plugins will require emqx as a dependency.
This commit also brings back bcrypt to the system which was temporary
removed when converting to umbrella project
2020-12-08 22:09:59 +01:00
Shawn
0ee489a9be
fix(congestion): change the conn congestion alarm msg body
2020-12-07 15:05:20 +08:00
Shawn
d00ea48752
feature(tcp): alarm when tcp connection congested
2020-12-07 14:35:38 +08:00
JianBo He
505257b25b
chore(appup): remeove the code_change codes
2020-12-05 17:22:44 +08:00
JianBo He
ae9449a004
chore: eliminate diaylzer warnings
2020-12-05 17:20:50 +08:00
JianBo He
f1b3bbd7bc
chore: supply the code_change logic
2020-12-05 17:20:50 +08:00
JianBo He
3b1074d11f
refactor(conn): not saving anonymous func
2020-12-05 17:11:58 +08:00
JianBo He
3f924631e4
refactor(limiter): not saving anonymous function
2020-12-05 17:03:57 +08:00
JianBo He
2e7ec25ae2
chore(appup): suspend esockd_acceptor
2020-12-05 15:04:14 +08:00
Zaiming Shi
73d02beace
refactor(apps): Merge emqx_libs back to emqx
...
And move emqx app back to root level
After realising the challenges of developing plugins in standalone
rebar projects. it is perhaps more smooth to keep using emqx as
a rebar dependency
2020-12-04 19:58:58 +01:00
JianBo He
7462ed92ba
chore: eliminate diaylzer warnings
2020-12-04 22:33:29 +08:00
JianBo He
ca0f6b69a4
chore: supply the code_change logic
2020-12-04 22:33:29 +08:00
JianBo He
80c503fd64
refactor(conn): not saving anonymous func
2020-12-04 22:33:29 +08:00
JianBo He
40d272815a
refactor(limiter): not saving anonymous function
2020-12-04 22:33:29 +08:00
Shawn
f5162562a4
chore(appup): update appup
2020-11-26 10:42:35 +08:00
Shawn
aa7124f3c9
chore(appup): use binding var 'VSN'
2020-11-25 14:40:25 +08:00
turtleDeng
3ca39cb9cb
chore(appup): update version
2020-11-25 10:27:56 +08:00
zhanghongtong
3f41adc3bd
chore(appup): update version
2020-11-25 01:07:19 +08:00
zhanghongtong
cf7c3b4f0c
fix(appup): fix syntax error
2020-11-13 17:40:36 +08:00
zhanghongtong
253c43e405
feat(emqx_metrics): add new functions to count message received
2020-11-13 16:42:48 +08:00
turtled
41a8f2f811
Merge branch 'stable/e4.2.0' of https://github.com/emqx/emqx into stable/e4.2.0
2020-11-13 10:40:28 +08:00
turtled
77d777fd11
chore(acl): rollback emqx_access_rule module
2020-11-13 10:40:14 +08:00
terry-xiaoyu
8cc69e639f
fix(congestion): change the conn congestion alarm msg body
2020-11-11 17:33:38 +08:00
turtled
26c03aaa43
feat(connection): update alarm info
2020-11-11 09:37:39 +08:00
zhanghongtong
e100b0a5e9
feat(emqx_metrics): add new functions to count message received
2020-11-10 23:36:11 +08:00
Shawn
cc69225b6d
feature(tcp): alarm when tcp connection congested ( #3818 )
2020-11-10 23:36:11 +08:00
JianBo He
139306b61c
fix(json): fix decoding/encoding empty object error
2020-11-10 23:36:11 +08:00
JianBo He
b883e238bf
fix(ws): take ws_cookie to clientinfo
...
see: https://github.com/emqx/emqx/issues/3747#issuecomment-702268570
2020-11-10 23:36:11 +08:00
terry-xiaoyu
5a8efd9d20
feature(project): move src to apps/emqx/src
2020-10-31 09:19:28 +08:00
JianBo He
b373c0cf1b
fix(json): fix decoding/encoding empty object error
2020-10-24 15:49:15 +08:00
zhouzb
8462da9652
fix(topic metrics): add appup.src
2020-10-24 11:21:39 +08:00
zhouzb
b927bb7af6
fix(topic metrics): calculate the rate correctly
2020-10-24 11:21:39 +08:00
JianBo He
2feeb4d91f
fix(ws): take ws_cookie to clientinfo
...
see: https://github.com/emqx/emqx/issues/3747#issuecomment-702268570
2020-10-24 11:21:39 +08:00
bignullnull
87ef4e4dd9
chore(types): Add the disconnected_at field definition in conninfo ( #3764 )
2020-10-24 11:21:39 +08:00
turtled
eb4b9936dc
fix(modules): fix conflicts
2020-10-11 11:12:39 +08:00
terry-xiaoyu
7b98f62f7a
fix(config): enable force_shutdown_policy by default
2020-09-30 11:36:30 +08:00
tigercl
da4d71917f
fix(ignore-loop-deliver): fix issue#3738 ( #3741 )
2020-09-29 15:35:16 +08:00
JianBo He
76ec65830c
fix: fix session_locking_strategy enum typos
2020-09-29 15:35:16 +08:00
zhanghongtong
fa31062a5e
chore(topic rewrite): export more functions
2020-09-11 12:37:47 +08:00
JianBo He
3d4eac7e7a
fix(json): fix safe_encode for utf8 string
2020-09-11 12:26:13 +08:00
turtleDeng
edcbdcce87
improve: module_acl_internal load/unload api ( #3706 )
2020-09-05 17:23:22 +08:00
JianBo He
90b33b044d
feature(ratelimit): support to set ratelimit & quota policy
2020-09-05 17:23:22 +08:00
terry-xiaoyu
4233ef4e85
fix(xref): correct the type spec of logger_handler_info()
2020-08-28 17:10:26 +08:00
terry-xiaoyu
9985e2675c
fix(logger): resolve issues when starting and stopping log handlers
2020-08-28 17:10:26 +08:00
terry-xiaoyu
faf0b5289c
feature(logger): support starting and stopping log handlers
2020-08-28 17:10:26 +08:00
JianBo He
e411b4bad3
fix(cm): fix never matching clause
2020-08-28 17:10:26 +08:00
zhouzb
261bd66a3d
refactor(alarm): refactor resource down alarm
2020-08-22 15:27:11 +08:00
zhouzb
7a2a01a4de
fix(mqtt piggyback): bad data type
2020-08-22 15:27:11 +08:00
zhouzb
ec12acc4ef
feature(mqtt piggyback): transporting mutli MQTT packets at once or single
2020-08-22 15:27:11 +08:00
zhouzb
cfcbc53a8b
refactor(alarm): remove excess case
2020-08-22 15:27:11 +08:00
zhouzb
c2cc8ab218
feature(resource-down-alarm): add resource down alarm
2020-08-22 15:27:11 +08:00
tigercl
901573c6a5
fix(topic-metrics): fix the issue that the corresponding data is not properly cleaned up when unregistering ( #3679 )
2020-08-22 15:27:11 +08:00
Rory Z
f47e10e08a
feature(emqx_mod_rewrite): separate rewrite rules for pub and sub ( #3676 )
2020-08-22 15:27:11 +08:00
zhouzb
dbeabf3de0
refactor(telemetry): remove telemetry code from emqx core
2020-08-22 15:27:11 +08:00
JianBo He
9e5e6f2e98
fix(guid): compatible with OTP 23
2020-08-22 15:27:11 +08:00
zhanghongtong
a76be8e0fa
chore: fix the compilation error when there is "/" in the branch name
2020-08-22 15:27:11 +08:00
tigercl
e37a70509b
feature(telemetry): support for collecting telemetry data and disable it by default ( #3653 )
2020-08-14 16:58:08 +08:00
JianBo He
98faa698f3
feature(quota): add quota confs to limit the number of message forwards
2020-08-14 16:58:08 +08:00
JianBo He
89377aeaa2
improve(type): refine the message header types
2020-08-14 16:58:08 +08:00
zhouzb
87780c1c1b
fix(static-cluster): fix the issue that static cluster failure caused by the wrong way of creating tables
2020-08-14 16:58:08 +08:00
zhouzb
aaf29ee164
fix(alarm): fix the issue that memory watermark were not set correctly
2020-07-31 18:07:20 +08:00
zhouzb
1ba4743213
refactor(alarm): new data structure and support regular cleaning of deactivated alarms
2020-07-31 18:07:20 +08:00
zhouzb
5676026e2a
fix(alarm): missing partition alarm
2020-07-31 18:07:20 +08:00
zhouzb
43b49edd28
feature(alarm): new design for alarm
2020-07-31 18:07:20 +08:00
zhanghongtong
0817761aee
fix(emqx_channel): EMQ X replaces MQTT properties when node connects using "topic-alias-maximum" property
2020-07-31 18:07:20 +08:00
zhouzb
00bc525d8e
refactor(add-log): log when subscription fails
2020-07-31 18:07:20 +08:00
JianBo He
83a2af812f
feat(ratelimit): refactor ratelimit
2020-07-31 18:07:20 +08:00
zhanghongtong
961e7b9818
chore: update app.src.script
2020-07-20 10:08:47 +08:00
Rory Z
492d224728
Auto-pull-request-on-2020-07-17 ( #3600 )
...
* refactor(channel): skip the ACL checking for inner subscribe
* fix(props): fix the prop_emqx_sys results of judgment
* Update esockd to 5.7.1
* test(topic-metrics): add test cases for topic metrics
* perf(emqx_vm): make emqx_vm:get_memory/0 more efficiency
2020-07-17 18:25:46 +08:00
terry-xiaoyu
211c800e24
fix(properties): downlink will msg contains non-publish properties
...
The paho test failed because the client received a will message
that has an `Will-Delay-Interval` property.
All the 7 allowed PUBLISH properties are listed as follows:
```
'Payload-Format-Indicator',
'Message-Expiry-Interval',
'Response-Topic',
'Correlation-Data',
'User-Property',
'Subscription-Identifier',
'Content-Type'
```
2020-06-21 11:27:22 +08:00
JianBo He
600b1055f3
fix(json): convert a proplists to ejson instead of map
2020-06-20 15:42:07 +08:00
tigercl
1b6a586948
feature(mqtt): support response information ( #3533 )
2020-06-20 15:07:37 +08:00
zhanghongtong
8707afa54c
fix(enhanced_auth): fix bug when "conn_props = undefined"
2020-06-20 14:29:20 +08:00
JianBo He
9a8859a44c
refactor(topic): move triples/1 func into emqx_trie module
2020-06-18 17:38:34 +08:00
JianBo He
e3489b9d46
refactor(style): improve all types declaration
...
- Add dialyzer for code analysis
- Correct all the module type declarations
- Use `-type()` to declaration a type instead of `-opaque`
(It is advantageous to the code dialyzer)
BROKEN CHANGES:
- Add a ?DEFAULT_SUBOPTS for emqx_broker:subscribe/1,2,3
- Remove the needless internal function `emqx_vm:port_info(PortTerm, Keys)`
2020-06-18 17:38:34 +08:00
terry-xiaoyu
6ad65d587e
feature(properties): add properties in message header
...
1. Add MQTT5.0 properties when invoking the hooks.
- Add a new key `properties` into the message header:
We used to put all of the properties into the `#message.headers`:
```erlang
#message{headers = #{'User-Property' => {<<"reason">>,<<"normal">>},
'Message-Expiry-Interval' => 60,
allow_publish => true}
```
I put them instead under a single key:
```erlang
#message{headers = #{properties =>
#{'User-Property' => {<<"reason">>,<<"normal">>},
'Message-Expiry-Interval' => 60},
allow_publish => true}
```
Note that the column `properties` may contain all the properties for
Publish and Will messages.
- Add `disconn_props` into the `Channel.conninfo`
- Add `puback_props` also into the message header:
```erlang
#message{headers = #{puback_props =>
#{'User-Property' => {<<"reason">>,<<"normal">>}},
allow_publish => true}
```
2. Change the data type of `#message.headers` and `#message.flags` to map.
It used to support `undefined`.
2020-06-17 18:46:26 +08:00
JianBo He
ea2a424ce2
Add ensure/2 funcs to avoid needless logs ( #3483 )
2020-06-04 10:46:53 +08:00
zhouzb
f456f40c59
Subscribe or unsubscribe via HTTP API skip ACL checking
2020-06-04 10:45:58 +08:00
JianBo He
42fc81338c
Fix(modules): correct the bad return value for emqx_modules:load/0
2020-06-04 10:38:28 +08:00
JianBo He
3fb82f7234
Fix(connect): fix the race condition for openning session
...
- Remove the register_channel/1,2 functions
2020-06-02 17:21:06 +08:00
terry-xiaoyu
59f95f8421
Helpful message when no commands available
2020-05-23 09:41:25 +08:00
zhouzb
83b1f3e6c8
Fix unexpected packet before connected
2020-05-22 18:18:52 +08:00
JianBo He
18ae15ef9a
Fix typos
2020-05-21 17:51:22 +08:00
terry-xiaoyu
1f07700930
Print helpful messages when no commands available
2020-05-16 08:48:05 +08:00
zhouzb
80e2bd19b9
Fix case_clause in issue#3455
2020-05-12 10:39:22 +08:00
JianBo He
48d6acdb25
Replace peercert with cn/dn feilds in ClientInfo
2020-04-30 16:35:15 +08:00
zhanghongtong
c35a40a6b6
Fix some error for reauthentication
2020-04-28 11:48:07 +08:00
qingchuwudi
7ba801c8d4
Fix reload acl module and clean acl caches ( #3409 )
2020-04-26 15:45:55 +08:00
zhouzb
7cf97acddd
Delete expiried client
2020-04-26 15:38:29 +08:00
zhanghongtong
021520315a
Update enhanced auth hooks
2020-04-24 10:21:22 +08:00
tigercl
b37c61fdb5
Merge pull request #3392 from emqx/print
...
Optimize cli print
2020-04-17 18:05:37 +08:00
tigercl
5922f5358e
Merge pull request #3396 from emqx/add_hook_to_auth_packet
...
Add hook to auth packet
2020-04-17 18:05:25 +08:00
zhouzb
6cab60b6ab
Export emqx_modules:find_module/1
2020-04-17 11:02:40 +08:00
zhanghongtong
dccf3560f0
Add hook to auth packet
2020-04-16 16:07:01 +08:00
zhouzb
fb661b1d92
Support return all registered topics
2020-04-16 10:35:35 +08:00
zhouzb
eebc5e4b0a
Optimize cli print
2020-04-15 18:05:30 +08:00
terry-xiaoyu
e806a96031
Change timestamps to millisecond
2020-04-15 09:03:52 +08:00
张奇怪
9ba938b9d9
EMQX failed to start when the listening port was occupied ( #3354 )
2020-04-11 10:18:35 +08:00
turtleDeng
d49f4118fe
Mgmt emqx modules ( #3376 )
2020-04-10 19:55:21 +08:00
张奇怪
d4932533ca
Auth packet ( #3374 )
2020-04-10 19:45:18 +08:00
JianBo He
1790cde942
Get client's addr/port from proxy header if enable proxy_protocol
2020-04-10 19:40:10 +08:00
zhouzb
49440bd2e3
Export functions
2020-03-27 18:22:59 +08:00
JianBo He
edb42b1b0f
Set topic alias on v5 only
2020-03-27 17:02:38 +08:00
zhouzb
792a14aaf7
Fix plugin test case
2020-03-27 15:31:11 +08:00
tigercl
55a8b1b173
Support topic metrics ( #3341 )
...
Support topic metrics
2020-03-27 13:33:10 +08:00
张奇怪
78144c0ca5
Update error log ( #3342 )
...
Optimize content of error log
2020-03-27 10:10:23 +08:00
tigercl
5eadca1782
Merge pull request #3335 from emqx/reload_plugin
...
Read new configuration items when plugins is loaded
2020-03-26 18:35:49 +08:00
tigercl
5c5267c96b
Merge pull request #3327 from emqx/fix_json_encode
...
Fix emqx_json encode return types error
2020-03-26 18:33:16 +08:00
JianBo He
9e6966110d
Move emqx_delay_publish here ( #3323 )
...
Move emqx_delay_publish here
2020-03-26 18:32:24 +08:00
zhouzb
9398865741
Fix the issue that configuration was not loaded when plugin started
2020-03-25 10:30:08 +08:00
张奇怪
59adb9a652
Supports broker-to-client topic aliases ( #3325 )
2020-03-24 15:23:01 +08:00
张奇怪
2ab6ec418e
Add subscription option for proxy subscribing
2020-03-24 11:31:25 +08:00
zhouzb
3b537760d5
Read new configuration items when plugins is loaded
2020-03-23 15:23:38 +08:00
JianBo He
95baee8c8e
Fix emqx_json encode return types error
2020-03-21 13:38:48 +08:00
JianBo He
7e00b58db5
Remove the CONNACK's `Maximum-QoS` key if it equal to 2 ( #3321 )
2020-03-17 17:56:34 +08:00
JianBo He
b2e5b523dd
Change global_gc to major mode ( #3317 )
2020-03-17 14:28:58 +08:00
terry-xiaoyu
1221b8eb00
Force utf8 json encoding by default #3287
2020-03-11 11:18:12 +08:00
JianBo He
47720b906f
Fix `peer_cert_as_username` option not working
...
see #3281
2020-03-05 15:55:39 +08:00
zhouzb
ad7cbb4428
Fix einval after socket was closed
2020-03-05 14:28:12 +08:00
zhouzb
caed16f57b
Fix `acl_deny_action`
2020-03-05 14:27:41 +08:00
terry-xiaoyu
6b5a8949c5
Change rate limit pausing logs to warning
2020-03-02 18:26:37 +08:00
JianBo He
9b6a8ebe84
Fix emqx_json:to_ejson
2020-02-21 13:17:12 +08:00
JianBo He
3f6f0eca40
Add an option to allow client bypass auth plugins
2020-02-21 09:42:26 +08:00
JianBo He
f6b0ad8873
Ignore some discarded exceptions
2020-02-17 09:40:44 +08:00
张奇怪
f29a8b0d5c
Mqtt protocol tests ( #3237 )
...
Add more test cases for MQTT
2020-02-07 10:07:36 +08:00
zhouzb
839465fbd8
Enhance security
2020-02-07 09:19:21 +08:00
JianBo He
b9bdb03005
Decode/Encode json from nested proplist
2020-02-06 12:00:18 +08:00
zhouzb
368b85027e
Fix issue#3228
2020-02-04 16:30:38 +08:00
JianBo He
3c459e8e74
Compatible jsx encode/decode ( #3230 )
2020-02-04 16:18:19 +08:00
terry-xiaoyu
367398e965
Remove jsx from app.src
2020-01-19 19:41:13 +08:00
Feng Lee
eea377eb8f
Replace 'jsx' with 'jiffy' and add more test cases
2020-01-19 16:58:51 +08:00
Feng Lee
b3e2cc5a18
Replace 'jsx' with 'jiffy' to optimize json encode/decode
2020-01-19 16:58:51 +08:00
JianBo He
e17241884c
Send DISCONNECT packet for mqttv5 ( #3183 ) ( #3208 )
2020-01-17 19:48:39 +08:00
Feng Lee
f4081b5885
Tune the global GC
2020-01-17 18:32:00 +08:00
turtleDeng
7a2234c608
Improve emqx_mqtt_caps:get_caps/1 ( #3198 )
2020-01-17 16:29:46 +08:00
tigercl
8734922abb
Fix rap handling and keep the value of retain flag in bridge mode ( #3189 )
2020-01-17 11:37:28 +08:00
turtleDeng
2897e4fa06
Fix the bug that cannot add a second MQTT-WS TCP Port ( #3196 )
2020-01-17 10:08:34 +08:00
Feng Lee
a318532bb0
Tuning the 'force_gc_policy' of MQTT connections ( #3192 )
...
Tuning the 'force_gc_policy' of MQTT connections
2020-01-17 09:42:16 +08:00
Feng Lee
2b3003b323
Move the global GC server from 'emqx-recon' to 'emqx' project ( #3190 )
2020-01-16 23:45:17 +08:00
turtleDeng
f6b2c9a69f
Correct timestamp for banned ( #3188 )
2020-01-16 23:11:19 +08:00
Feng Lee
2ba624ac31
Add 'compose/1', 'compose/2' functions
2020-01-13 21:00:40 +08:00
zhanghongtong
fdeade3212
Add more test cases
2020-01-09 20:01:46 +08:00
JianBo He
b1a22931f4
Add testcase for takeover ( #3160 )
2020-01-09 12:26:24 +08:00
JianBo He
7d3a08dc13
Improve 'client.connect', 'client.connack' hooks ( #3153 )
2020-01-04 10:44:17 +08:00
turtleDeng
6b8ffc386a
Fix WS reason code ( #3149 )
2020-01-04 10:06:50 +08:00
zhouzb
7ea75f4289
Update copyright
2020-01-03 18:31:08 +08:00
turtled
f33217c049
Fix unexpected timeout
2019-12-31 09:06:58 +08:00
zhouzb
597558fee8
Fix unexpected timeout
2019-12-30 21:27:47 +08:00
Feng Lee
46ca3f2f82
Add metrics for session's lifecircle
...
- session.created
- session.resumed
- session.takeovered
- session.discarded
- session.terminated
2019-12-30 09:29:41 +08:00
Feng Lee
12c6d5fe2c
Add more metrics for client's lifecircle
...
- client.connect
- client.connack
- client.connected
- client.authenticate
- client.check_acl
- client.subscribe
- client.unsubscribe
- client.disconnected
2019-12-30 09:28:55 +08:00
Feng Lee
9a3d16c654
Add 'emqx_packet:info/2' function and test cases
2019-12-30 09:28:38 +08:00
Feng Lee
b7ca3905a6
Breaking Change: Add new hooks for client and session lifecircle ( #3138 )
2019-12-27 16:31:06 +08:00
JianBo He
d000284a40
Merge branch 'caps' into develop
2019-12-21 16:04:41 +08:00
turtleDeng
b612674ffa
Update emqx_mqtt_caps.erl
2019-12-21 14:16:37 +08:00
JianBo He
b3eed9123f
Fix typo
2019-12-21 10:39:02 +08:00
Feng Lee
578355442b
Add more metrics and improve the 'channel', 'session' modules ( #3128 )
2019-12-20 21:47:32 +08:00
张奇怪
2cf3af12ef
Update test cases for emqx_connection ( #3116 )
2019-12-20 19:15:45 +08:00
tigercl
116c593178
Fix returned value of plugin reloading ( #3126 )
2019-12-20 16:34:07 +08:00
JianBo He
9b9df46718
Add sockport to ClientInfo ( #3122 )
2019-12-19 13:34:24 +08:00
zhouzb
70ae3c75a0
Remove emqx_time module
2019-12-17 09:38:33 +08:00
turtled
eea5e14b0c
Fix event/message out of order
2019-12-16 22:12:56 +08:00
Feng Lee
814f103e34
Fix issue#3109 - remove the 'sessions.persistent.count', 'sessions.persistent.max' stats
2019-12-16 16:41:42 +08:00
Feng Lee
1f25f4439f
Remove the 'stop_reason' field
2019-12-16 12:45:46 +08:00
Feng Lee
635c3f75fe
Improve the 'emqx_connection' module for CT
2019-12-16 11:25:47 +08:00
Feng Lee
ad9e0fc311
Support the 'clean_start = false' websocket connection
2019-12-16 11:25:47 +08:00
Feng Lee
2ef52828bc
Improve 'emqx_connection' module and update test cases
2019-12-16 11:25:47 +08:00
zhouzb
7ac60678de
Add test cases for emqx_cm and emqx_router_helper modules
2019-12-13 18:09:48 +08:00
Feng Lee
c5c99b7c4e
Improve 'emqx_ws_connection' module and add more test cases
2019-12-13 18:07:59 +08:00
tigercl
2a3baed7e0
Merge pull request #3103 from emqx/ws-conn-ct
...
Rename 'channel.gc.cnt' to 'channel.gc'
2019-12-13 18:04:54 +08:00
Feng Lee
d193b5fa0d
Rename 'channel.gc.cnt' to 'channel.gc'
2019-12-11 20:39:51 +08:00
Feng Lee
d1c3dec730
Optimize emqx_session and add more test cases
2019-12-11 13:44:52 +08:00
zhouzb
e30c0ac31d
Change log level for existing metric
2019-12-10 17:20:21 +08:00
zhouzb
ec2f758c9f
Use erlang:system_time/1
2019-12-10 09:25:39 +08:00
JianBo He
08e234f61e
Fix typo
2019-12-10 09:24:33 +08:00
Feng Lee
0f9f1258b6
Improve the emqx_message module and add more test cases
...
- Add 'emqx_message:clean_dup/1' function
- Clean dup flag before publishing a message
- Add more test cases for emqx_message module
2019-12-10 09:22:38 +08:00
Feng Lee
cd94ba71b4
Remove the 'try' ... 'catch'
2019-12-10 09:01:55 +08:00
Feng Lee
0c377c67cd
Use 'erlang:system_time' to replace 'os:timestamp' ( #3088 )
...
Use 'erlang:system_time/1' to replace 'os:timestamp/0'
2019-12-09 16:27:25 +08:00
zhouzb
dace882667
Fix will message
2019-12-07 17:06:22 +08:00
Feng Lee
dc3e7dc21c
Ignore the expired messages
2019-12-07 16:51:20 +08:00
Feng Lee
bbcd2bffc5
Improve the session module ( #3082 )
...
Improve the session module
2019-12-07 15:54:02 +08:00
zhouzb
32500685a1
Export emqx_cm:kick_session/2
2019-12-07 13:35:55 +08:00
zhouzb
5b949fda2c
Add emqx_cm:kick_session/1
2019-12-07 13:31:33 +08:00
Feng Lee
9c3273a2c6
Improve the process of handling MQTT control packets ( #3079 )
2019-12-06 19:51:06 +08:00
tigercl
98b109b6b2
Merge pull request #3074 from emqx/emqx_desc
...
Add emqx.app.src.script
2019-12-05 18:01:24 +08:00
turtled
dceb087039
Format code
2019-12-04 13:54:59 +08:00
turtled
4b59db62fa
Optimize caps
2019-12-04 13:52:01 +08:00
turtled
691c6aa182
Add emqx.app.src.script
2019-12-04 13:50:31 +08:00
turtleDeng
a540958846
Add mqtt.strict_mode configuration ( #3069 )
...
Add mqtt.strict_mode configuration
2019-12-04 10:54:52 +08:00
zhouzb
8bf06b9c63
Fix typo
2019-11-23 10:53:27 +08:00
tigercl
f44b8ce607
Avoid emqx crashes due to auth plugins ( #3047 )
...
Avoid emqx crashes due to auth plugins
2019-11-23 10:11:48 +08:00
zhouzb
790c729b1f
Optimize code
2019-11-21 16:26:50 +08:00
JianBo He
d7ddc406fa
Fix ConnInfo of client.connected hook
2019-11-21 15:01:57 +08:00
Feng Lee
1af1fc4f6a
Fix the check of limiter
2019-11-18 11:51:58 +08:00
Feng Lee
39dbb03629
Fix the 'undefined function' call
2019-11-18 11:11:20 +08:00
zhouzb
c9963b1df5
Replace esockd_net with inet
2019-11-18 10:58:15 +08:00
tigercl
6288cd1345
Merge branch 'develop' into bump-version
2019-11-18 10:53:33 +08:00
tigercl
d793c4256f
Merge pull request #3034 from emqx/rm-vm-module
...
Improve the emqx_vm module and update test cases
2019-11-18 10:51:54 +08:00
tigercl
b10cd85ba3
Merge pull request #3033 from emqx/flapping2
...
Optimize flapping and banned modules
2019-11-18 10:50:35 +08:00
tigercl
2ad701361d
Merge pull request #3031 from emqx/more_test_cases
...
Add more test cases
2019-11-18 10:49:56 +08:00
Feng Lee
4935ba11a8
Upgrade deps to ekka v0.7.0 and esockd v5.6.0
2019-11-18 10:40:53 +08:00
zhouzb
73275a2b4d
Replace inflight with inflight_cnt in STATS_KEYS
2019-11-18 10:24:23 +08:00
Feng Lee
17332b0465
Improve the emqx_vm module and update test cases
2019-11-14 10:40:55 +08:00
Feng Lee
d3107facf9
Validate packet id if strict mode.
2019-11-14 09:46:56 +08:00
zhouzb
2fb4d66496
Optimize flapping and banned modules
2019-11-14 09:37:37 +08:00
zhanghongtong
1072536382
Add more test cases for emqx_sup
2019-11-13 18:30:02 +08:00
zhanghongtong
b22a1a87ba
Add more test case for emqx_plugins
2019-11-09 21:26:15 +08:00
zhanghongtong
f1ae430d43
Add more test cases for emqx_sys
2019-11-08 17:01:10 +08:00
terry-xiaoyu
df3d7b628b
Update emqx_ws_connection for clientinfo
2019-11-01 21:36:30 +08:00
terry-xiaoyu
3cc2bf2bfa
Merge branch 'develop' into make_test_cases_pass
2019-11-01 20:05:52 +08:00
zhouzb
0be06a93d6
Fix test cases
2019-11-01 18:38:30 +08:00
terry-xiaoyu
d946848d42
Improve testcases for emqx_logger
2019-11-01 18:21:46 +08:00
tigercl
1a901942f7
Merge pull request #3007 from emqx/improve-connection
...
Improve the 'connection', 'channel' and 'zone' modules
2019-11-01 16:40:20 +08:00
tigercl
81a507c6fa
Merge pull request #3012 from emqx/add_more_test_cases
...
Add more test cases
2019-11-01 16:40:00 +08:00
tigercl
b3731aaff4
Merge pull request #3010 from emqx/test_cases_zhou
...
Add test cases and fix bugs
2019-11-01 16:29:00 +08:00
zhouzb
c5ad674dd7
Add test cases and fix bugs
2019-11-01 15:48:28 +08:00
Feng Lee
2b1b58fc66
Add the new 'emqx_limiter' module
2019-11-01 08:10:58 +08:00
Feng Lee
6f30dca4ba
Add more option APIs
2019-11-01 08:10:26 +08:00
Feng Lee
d256387cee
Ensure the 'inc_sent/1', 'inc_recv/1' to return 'ok'
2019-11-01 08:09:45 +08:00
Feng Lee
30adfc18e6
Remove 'gc_state' and 'pub_stats' from channel's state
2019-11-01 08:08:38 +08:00
Feng Lee
605a03453e
Remove the 'emqx_time' module and use 'erlang:system_time/1'
2019-11-01 08:07:34 +08:00
Feng Lee
223163d5b9
Remove the 'emqx_oom' module
2019-11-01 08:00:35 +08:00
Feng Lee
4c9dda105f
Add 'active_n' option for WebSocket listener
2019-11-01 08:00:11 +08:00
zhanghongtong
971a361ea9
Add more test cases for emqx_logger and fix bug for emqx_logger
2019-10-29 14:27:47 +08:00
terry-xiaoyu
3405dbaf5c
Ordered messaging via multiple gen_rpc clients
2019-10-28 21:01:53 +08:00
terry-xiaoyu
f7d3c01308
Merge branch 'develop' into clean_acl_cache
2019-10-28 18:02:41 +08:00
terry-xiaoyu
c1d768ff74
Add API for clean and get acl cache
2019-10-28 17:53:53 +08:00
Feng Lee
ebef0ec554
Add zone_options module
2019-10-28 07:51:09 +08:00
张奇怪
c713d619da
Add more test cases ( #2992 )
...
* Add more test cases for emqx_stats and emqx_os_mon
Fix test case error for emqx_ws_connection
* Add more test cases for emqx_sys_mon
* Update erlang otp to 22.1 for travis ci
* Delete readable=false for make ct
* Add unset_all_env for emqx_zone and update test cases
2019-10-24 15:41:26 +08:00
turtled
1dfbe8e166
Fix WS badmatch
2019-10-22 09:11:42 +08:00
Feng Lee
fca7a7e761
Merge branch 'connection-test-using-meck' into develop
2019-10-21 19:53:53 +08:00
terry-xiaoyu
cb77b229b8
Add testcase for emqx_logger_formatter
2019-10-21 18:35:32 +08:00
Feng Lee
7117dde879
Add more test cases for connection, channel and session modules
2019-10-21 17:14:50 +08:00
Feng Lee
26eab630b3
Add test cases for emqx_channel module
2019-10-20 19:20:38 +08:00
Feng Lee
aecda09b9a
Add more test cases
2019-10-19 20:18:34 +08:00
Feng Lee
cd4adbada0
Add more test cases for connection, channel and session modules
2019-10-18 18:53:31 +08:00
Feng Lee
53dda48833
Fix the 'function_clause' error when session is undefined
2019-10-14 17:01:41 +08:00
Feng Lee
a1877f3f42
Return the '{enter, connected}' event first
2019-10-14 13:04:49 +08:00
Feng Lee
6233aa7d46
Ensure the 'conn_state' be 'disconnected' after socket closed
2019-10-12 19:14:33 +08:00
Feng Lee
932821360f
Merge branch 'new-connection-module' into develop
2019-10-12 17:08:48 +08:00
Feng Lee
cce0dbd3cf
Improve the connection, ws_connection and channel modules
2019-10-12 17:05:37 +08:00
terry-xiaoyu
47a192ee34
Avoid process crash report for arbitrary exit reason
2019-10-12 14:48:39 +08:00
terry-xiaoyu
ebea3cc392
Defend the ssl upgrade failure
2019-10-12 09:34:28 +08:00
zhouzb
7512d6cb03
Check topic level for publish packet and optimize the handling of rap
2019-10-12 09:33:47 +08:00
Feng Lee
0c37c65a59
Add a new type 'sockstate/0'
2019-10-10 13:59:34 +08:00
Feng Lee
e718fa8249
Rewrite the 'emqx_connection' module using a raw erlang process
2019-10-08 17:59:11 +08:00
zhouzb
ddd68e600d
Fix missing cases
2019-09-29 15:32:53 +08:00
Feng Lee
fe2a72c664
Add 'state' field to channel info
2019-09-29 11:47:31 +08:00
Feng Lee
977b551bbf
Fix the test cases for session, channel and connection modules
2019-09-29 10:53:59 +08:00
Feng Lee
8ab682151d
Improve the connection and channel modules
...
- Rename the 'client_id' field to 'clientid'
- Support publish stats in channel module
- Update test cases for frame and channel modules
2019-09-29 10:22:02 +08:00
Feng Lee
7b1a80c265
Rename 'mailbox_len' to 'message_queue_len'
2019-09-27 20:26:54 +08:00
Feng Lee
89b03eb9a6
Add function specs
2019-09-24 17:08:06 +08:00
Feng Lee
609f442ea9
Add function 'get_counters/1'
2019-09-24 17:07:32 +08:00
Feng Lee
20ddd498fc
Rename the 'client_id' field to 'clientid'
2019-09-24 17:06:25 +08:00
Feng Lee
98b7e3d948
Rename the type 'client()' to 'client_info()'
...
- Rename tye type 'client()' to 'client_info()'
- Rename the 'client' field of channel to 'client_info'
- Fix the function specs
2019-09-21 15:27:05 +08:00
terry-xiaoyu
eb0826ef3f
Fix testcases for new object field protocol
2019-09-21 12:37:08 +08:00
terry-xiaoyu
18edf5cec3
Add protocol in client object
2019-09-21 12:20:20 +08:00
terry-xiaoyu
ab9d7232a9
Reset peerport
2019-09-20 22:57:01 +08:00
terry-xiaoyu
464746e9a5
Add peerport
2019-09-20 22:42:07 +08:00
terry-xiaoyu
0bd69ba059
Fix connack reason code when crash
2019-09-20 22:30:16 +08:00
terry-xiaoyu
b29ceb9f6b
Fix connack reason code when crash
2019-09-20 22:27:02 +08:00
terry-xiaoyu
d0908bc70f
Improve the pipeline error msg
2019-09-20 21:40:15 +08:00
terry-xiaoyu
9e1f1b22c3
Fix typo
2019-09-20 21:35:02 +08:00
terry-xiaoyu
1decab9369
Fix channel crash before CONNECT
2019-09-20 21:30:18 +08:00
zhouzb
db1cf4469b
Fix crash
2019-09-20 20:27:08 +08:00
tigercl
b72a82e50b
Merge pull request #2919 from emqx/fix-test-cases
...
Add 'unregister_channel/1' function and test cases
2019-09-20 19:57:47 +08:00
Feng Lee
d0a8086d73
Add 'unregister_channel/1' function and test cases
2019-09-20 19:42:59 +08:00
terry-xiaoyu
4d214fb6e2
Fix session not saved after maybe_resume_session
2019-09-20 18:28:44 +08:00
zhouzb
f0a1ffc3b1
Fix test case
2019-09-20 17:58:31 +08:00
Feng Lee
6aac73f51f
Fix the test case 't_handle_disconnect'
2019-09-20 16:48:21 +08:00
Feng Lee
a9daa3c821
Fix the merge conflicts
2019-09-20 16:38:02 +08:00
terry-xiaoyu
b5c9def06a
Add testcases for print and usage
2019-09-20 16:18:24 +08:00
Feng Lee
1a3261b186
Merge branch 'develop' into remove-protocol-module
2019-09-20 16:17:44 +08:00
zhouzb
24bfaa768d
Call emqx_flapping:detect and generate alarm when flapping is detected
2019-09-20 15:01:51 +08:00
zhouzb
a9dd94b2b5
Improve mechanism of waiting for session to expire
2019-09-20 15:01:51 +08:00
terry-xiaoyu
bd33441720
Fix the type specs for cmd usage
2019-09-20 14:55:11 +08:00
Feng Lee
3202ed2392
Improve the 'channel' module and add more test cases
...
- Rename the 'Client' field to 'ClientInfo'
- Remove the 'expiry_interval' from session record
- Add more test cases for emqx_zone module
- Add more test cases for emqx_banned module
- Add more test cases for emqx_message module
- Remove 'sockname', 'conn_mod' fields from type 'client'
2019-09-20 14:38:16 +08:00
Feng Lee
81e2f47126
Add test cases for emqx_ctl module
2019-09-20 13:47:05 +08:00
Feng Lee
3d6b96d321
Add function 'get_flags/1' for test
2019-09-19 11:19:10 +08:00
Feng Lee
65cb9dbf38
Add test cases for 'reason/1'
2019-09-19 11:16:13 +08:00
Feng Lee
3705f4f929
Rewrite the test cases for extended modules
2019-09-19 11:04:29 +08:00
Feng Lee
1d429dad8d
Update the 'attrs/1' and 'handle_timeout/3' functions
2019-09-18 20:01:22 +08:00
Feng Lee
981afd38e3
Rewrite the 'presence' extended module
2019-09-18 19:58:12 +08:00
Feng Lee
8404fce6a6
Remove the function 'update_expiry_interval/2'
2019-09-18 19:49:34 +08:00
Feng Lee
a313d1c722
Improve the 'open_session/3' API
2019-09-18 19:48:55 +08:00
Feng Lee
94c324d7a3
Rename 'get|set_property' fuctions to 'get|set'
2019-09-18 19:47:44 +08:00
Feng Lee
cc79802d6c
Add function 'get_caps/3'
2019-09-18 19:46:18 +08:00
Feng Lee
ad7e0ae436
Use 'peerhost' to replace 'peername'
2019-09-18 19:44:28 +08:00
Feng Lee
c8acd55afa
Export type 'opts/0'
2019-09-18 19:19:42 +08:00
Feng Lee
50f392b295
Add more functions
2019-09-18 19:18:56 +08:00
Feng Lee
00f3a2f939
Use 'peerhost' to replace 'peername'
2019-09-18 19:17:30 +08:00
zhouzb
decdce2ae2
Fix unused variable
2019-09-16 18:54:34 +08:00
zhouzb
600cd11f1f
Rename connection to conninfo
2019-09-16 17:22:50 +08:00
zhouzb
1667cbd359
Fix test cases
2019-09-16 16:05:06 +08:00
tigercl
fc553b8cee
Merge pull request #2803 from emqx/fix_msg_expiry
...
Fix Message-Expiry-Interval not working
2019-09-16 14:45:22 +08:00
Feng Lee
4764a7707c
Rewrite the emqx_packet module and improve channel pipeline ( #2903 )
...
Add use_username_as_clientid/1 function and Improve function 'pipeline/3'
2019-09-16 14:17:36 +08:00
Feng Lee
681ae511a8
Introduce the 'strict_mode' option and validate MQTT header ( #2898 )
...
Introduce the 'strict_mode' option and validate MQTT header
2019-09-16 14:02:31 +08:00
tigercl
35822ff97a
Fix handling for MQTT spec ( #2892 )
...
Fix invalid QoS and protocol name, fix handling for Topic-Alias-Maximum and Maximum-Packet-Size, and send DISCONNECT Packet to client when the session is taken over
2019-09-16 13:51:50 +08:00
Shawn
59309e6c11
Add print and usage APIs for CLI ( #2893 )
2019-09-12 09:35:05 +08:00
Feng Lee
80621ec9be
Fix the test cases for emqx_banned, emqx_flapping modules
...
- Remove the 'is_enabled/1' function of 'emqx_banned' module
- Remove the 'is_enabled/1' function of 'emqx_flapping' module
- Add 'enable_acl/1', 'enable_banned/1' and 'enable_flapping_detect/1'
2019-09-11 09:14:58 +08:00
Feng Lee
fa516626a6
Inlining is enabled for encode, decode functions.
2019-09-11 09:13:42 +08:00
Feng Lee
594153c0fb
Merge branch 'boot' into develop
2019-09-10 16:26:20 +08:00
Feng Lee
2bf951d953
Fix the spec of function 'is_enabled/1'
2019-09-10 16:24:38 +08:00
Feng Lee
a3daa533e7
Add a test case for the new flapping module
2019-09-10 16:20:56 +08:00
Feng Lee
0a1679b122
Implement a new flapping module ( #2884 )
2019-09-10 15:21:08 +08:00
Feng Lee
88321fe6fe
Remove the emqx_config module
...
- Remove the emqx_config module
- Move get_env/1, get_env/2 to emqx module
2019-09-09 10:18:10 +08:00
Feng Lee
6972cbb36e
Fix the operator precedence bug
2019-09-06 19:04:11 +08:00
Feng Lee
b97f04ceae
Add emqx_boot module
2019-09-06 17:37:50 +08:00
Feng Lee
6e18f8543d
Add emqx_boot module
2019-09-06 17:36:13 +08:00
zhouzb
5a3645c97e
Remove proto_ver field stored in the headers of message
2019-09-06 14:51:52 +08:00
Michael Schmidt
3038bd4570
Add support for logger per module filtering ( #2873 )
...
Add mfa to the meta data to suppor the Erlang Logger's per module / per app filtering
2019-09-06 11:03:47 +08:00
zhouzb
066763248c
Fix dup flag
2019-09-05 18:35:29 +08:00
zhouzb
de44a89c21
Fix the issue that protocol is undefined
2019-09-05 18:28:17 +08:00
terry-xiaoyu
1e4c51f080
Send DISCONNECT on packet parse error
2019-09-05 18:16:15 +08:00
zhouzb
cc4ee065a4
Remove debug print
2019-09-05 16:16:19 +08:00
terry-xiaoyu
983973c841
Fix set_chan_stats incorrect
2019-09-05 15:59:18 +08:00
Feng Lee
451f0451ce
Add type/1, qos/1 functions
2019-09-05 15:00:54 +08:00
Feng Lee
847375d2fb
Improve connection and channel modules ( #2860 )
...
Improve the connection and channel modules
2019-09-05 14:17:15 +08:00
tigercl
811e85f8b7
Merge pull request #2841 from emqx/init_stats
...
Set stats at connection time
2019-09-05 14:03:51 +08:00
Feng Lee
2d6c7e41a5
Remove emqx_cli module
2019-09-02 09:04:34 +08:00
Feng Lee
62f0f0ccbc
Add more test cases for 'emqx_misc' module
2019-08-28 14:29:44 +08:00
Feng Lee
08ab350fec
Move the 'pipeline' function to 'emqx_misc' module
2019-08-28 14:29:44 +08:00
GilbertWong
783e29d6f7
Add test case for emqx_mod_rewrite
2019-08-28 11:19:51 +08:00
Feng Lee
a4e9142979
Updat app file
2019-08-27 09:27:25 +08:00
zhouzb
98072dd3d1
Set stats at connection time
2019-08-26 16:43:08 +08:00
turtled
29d49b4073
Fix get connected_at is undefined
2019-08-23 20:37:04 +08:00
zhouzb
5cfd8b74bc
Fix a bug that crash when protocol is undefined
2019-08-23 17:29:48 +08:00
zhouzb
9c171f5d9c
Fix a bug that session terminates immediately when received DISCONNECT packet
2019-08-23 16:08:26 +08:00
zhouzb
970d243d94
Fix function clause
2019-08-23 15:23:00 +08:00
tigercl
7151ae9823
Merge pull request #2836 from emqx/fix-discard
...
Fix case clause error
2019-08-23 15:18:24 +08:00
Feng Lee
710302f377
Fix case clause error
2019-08-23 14:52:11 +08:00
tigercl
ebc1bd77a9
Send the will message immediately when the network connection is closed by the client ( #2834 )
...
Send the will message immediately when the network connection is closed by the client
2019-08-23 14:41:52 +08:00
Feng Lee
738145677a
Handle the 'discard' cast.
2019-08-23 14:31:33 +08:00
tigercl
9f7cc80c1a
Merge pull request #2833 from emqx/update_code
...
Update emqx_channel.erl
2019-08-23 14:09:42 +08:00
Feng Lee
82b9a7c301
Improve session takeover ( #2831 )
...
Implement the session takover/resumption across nodes
2019-08-23 14:09:00 +08:00
zhouzb
44d53ecb33
Update emqx_channel.erl
2019-08-23 13:48:17 +08:00
zhouzb
f3a92f35f6
Handle will message correctly
2019-08-23 13:37:35 +08:00
zhouzb
cff120c6d0
Handle session expiry interval correctly
2019-08-23 13:37:35 +08:00
Zhiwei Yu
8710df31b2
Monitor cluster partition event ( #2814 )
2019-08-23 09:42:55 +08:00
Feng Lee
c69a2b1b48
Ensure session expiration ( #2825 )
...
Ensure session expiration
2019-08-23 09:35:29 +08:00
Feng Lee
41e9dad70a
Rename `reason` field to `stop_reason`
2019-08-22 23:24:16 +08:00
zhouzb
7454e46934
Fix compile error
2019-08-22 16:59:13 +08:00
Feng Lee
8b03371a4a
Improve the keepalive, connection, channel and session modules ( #2813 )
2019-08-22 16:38:25 +08:00
Mousse
bf942e4bec
Handle the retained flag correctly ( #2811 )
...
Handle the retained flag correctly
2019-08-22 16:21:27 +08:00
tigercl
201428279b
Merge pull request #2817 from emqx/test_emqx_config
...
Remove redundant code and add test case
2019-08-22 16:13:50 +08:00
GilbertWong
3f20bcf58f
Relace emqx_client with emqtt
2019-08-22 14:27:29 +08:00
zhouzb
94c56b5e31
Remove redundant code and add test case
2019-08-21 14:12:34 +08:00
tigercl
749ef823ab
Refix code about mqtt spec ( #2806 )
...
Refix code about mqtt spec
2019-08-19 10:50:52 +08:00
Feng Lee
f2b552e29e
Ensure stats timer
2019-08-19 09:43:58 +08:00
Feng Lee
ae33b6037e
Fix the test suites.
2019-08-17 14:39:04 +08:00
Feng Lee
52b2f31ced
Merge branch 'improve-channel-design-again' into develop
2019-08-17 14:09:26 +08:00
Feng Lee
f26505d40a
Implement session takeover and resumption.
...
- Implement session takeover
- Remove `init_proc_mng_policy/1' from emqx_misc module
- Remove `conn_proc_mng_policy/1' from emqx_misc module
- Add `emqx_oom' module to monitor OOM of channel process
2019-08-17 13:37:48 +08:00
tigercl
c1fd5f89f1
Make codes compliance with mqtt protocol specifications ( #2790 )
...
* Make codes compliance with mqtt protocol specifications
* Fix test case
* Remove emqx_protocol:puback/4
2019-08-17 09:15:43 +08:00
terry-xiaoyu
fa1adf5cfb
Fix Message-Expiry-Interval not working
2019-08-16 18:27:22 +08:00
tigercl
2e26cd244a
Improve test coverage ( #2799 )
...
* Improve test coverage
* Improve test coverage for emqx_cm
* Improve test coverage for emqx_cm_registry
* Fix emqx_client_SUITE
2019-08-16 18:25:49 +08:00
Feng Lee
d63eccd8b8
Add test cases for emqx_keepalive module ( #2784 )
...
* Improve the keepalive module
2019-08-16 18:24:39 +08:00
Gilbert
79744af681
Wrapper proper test cases into common test cases ( #2785 )
...
* Wrapper proper test cases into common test cases
* Improve test cases for reason code module (#2789 )
* Split 3 proper tests into 3 ct cases
* Improve test cases for client, rpc and request-response
* Add psk suites to increase coverage
* Add sys test cases
2019-08-16 18:07:12 +08:00
JianBo He
8e401968f2
Add testcase for emqx_mod_sup
2019-08-16 17:48:37 +08:00
Shawn
b2ddcb26e2
Testcase logf ( #2800 )
...
* Add test cases for logger formatter
* Remove the unregister API
2019-08-16 15:11:38 +08:00
Feng Lee
444972968f
Improve emqx_mqtt_props module and add test cases
2019-08-12 14:29:38 +08:00
周子博
c2cd43ee18
Fix attrs
2019-08-10 00:37:45 +08:00
terry-xiaoyu
0c24bfd78c
Make emqx_tracer more reliable
2019-08-09 19:59:39 +08:00
周子博
f6d6f7f04d
Fix test case
2019-08-09 19:45:43 +08:00
terry-xiaoyu
77616f4721
Add hook client.disconnected
2019-08-09 19:25:14 +08:00
terry-xiaoyu
a19777c2e6
Add hook message.acked
2019-08-09 19:12:56 +08:00
turtled
a93f8c6788
Fix auth fail
2019-08-09 17:37:55 +08:00
turtled
31cc446818
Mountpoint support %c and %u
2019-08-09 16:54:49 +08:00
turtled
91a8dbda56
Fix conflicts
2019-08-09 16:41:11 +08:00
周子博
d8bcb1b26f
Don't check cpu util on Alpine that uses libc-musl
2019-08-09 16:10:30 +08:00
GilbertWong
6e0a269ff6
Wrap `os:type` for cpu:sup call
2019-08-09 16:04:38 +08:00
Feng Lee
439c481e35
Remove the trap_exit process_flag ( #2737 )
2019-08-09 16:02:50 +08:00
Shawn
68bf72ce04
Fix crashes when auth failed ( #2736 )
2019-08-09 16:02:04 +08:00
terry-xiaoyu
cca725db5f
Add specs for emqx_logger
2019-08-09 15:47:20 +08:00
Feng Lee
3032731a2d
Publish will msg when abnormal terminate
2019-08-09 15:28:47 +08:00
Feng Lee
03744ead30
Ensure the 'CONNACK' and 'DISCONNECT' packets delivered.
2019-08-09 15:09:17 +08:00
Feng Lee
52a85d9bb9
Export name/1
2019-08-09 15:09:17 +08:00
Feng Lee
a324965240
Add more test cases for emqx_protocol module
2019-08-09 14:29:49 +08:00
Gilbert
abb4b07665
Add session proper test cases ( #2768 )
...
* Add session proper test cases
* Remove useless mockers
2019-08-09 14:15:34 +08:00
GilbertWong
61ee889113
Fix client bug
2019-08-09 13:40:07 +08:00
Feng Lee
916afc1c74
Add test cases for emqx_protocol module
...
- Add emqx_session:info/2 for unit tests
- Add emqx_protocol:set/3 for unit tests
- Fix the `check_sub/3` of emqx_mqtt_caps
2019-08-09 11:33:52 +08:00
Feng Lee
a2d5b834da
Improve emqx_pmon module and add more test cases
2019-08-08 22:42:45 +08:00
Feng Lee
6513a32d37
Merge pull request #2766 from emqx/improve-mqtt-caps-module
...
Improve mqtt caps module
2019-08-08 22:35:32 +08:00
Feng Lee
f70da696f0
Fix the badmatch error
2019-08-08 22:33:40 +08:00
GilbertWong
1707c7a7b7
Remove replayq from app.src list
2019-08-08 17:08:19 +08:00
周子博
0d65deb9d3
Fix not registering channels in time
2019-08-08 16:59:17 +08:00
Feng Lee
bd061415c9
Rewrite the emqx_mqtt_caps module and add test cases
...
- Rename `mqtt_retain_available` to `retain_available`
- Rename `mqtt_wildcard_subscription` to `wildcard_subscription`
- Rename `mqtt_shared_subscription` to `shared_subscription`
- Add `emqx_zone:unset_env/2` API for unit test
2019-08-08 14:11:26 +08:00
Feng Lee
bfd027cf8b
Rewrite the mqtt_caps module
2019-08-07 14:01:50 +08:00
Gilbert
96b341fde5
Add proper tests for base62 ( #2761 )
...
* Add proper tests for base62
* Delete useless comment
2019-08-07 09:24:03 +08:00