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
Feng Lee
f60f127681
Improve the moudules and fix the bugs found in new test cases
...
- Fix the bug that emqx_mountpoint:unmount/2 will throw exception
- Add emqx_banned:info/1 for test cases
- Rename macro TRIE in emqx_trie module to TRIE_TAB
- Rename macro TRIE_NODE in emqx_trie module to TRIE_NODE_TAB
- Rename macro ROUTE in emqx_router module to ROUTE_TAB
2019-08-06 09:05:55 +08:00
Feng Lee
4afa02ee48
Update all the test cases
2019-08-06 09:04:37 +08:00
Feng Lee
f8e28e39ed
Improve the channel modules and fix the extension mods
2019-08-02 18:04:38 +08:00
Feng Lee
32795321f5
Improve the rewrite mod using the new hooks
2019-08-02 11:14:42 +08:00
Feng Lee
cf9caf3c32
Add conn/0 type
2019-08-02 11:14:42 +08:00
Feng Lee
2fdda99d6d
Improve the pipeline design of protocol and session
2019-08-02 11:14:42 +08:00
周子博
ef9cbe51eb
Fix conflict
2019-08-02 10:41:46 +08:00
Feng Lee
c95a89ed1e
Merge branch 'nchannel' into develop
2019-07-31 14:03:48 +08:00
Feng Lee
0a6468cf48
Introduce the 'pipeline' design pattern
...
- Introduce the 'pipeline' design pattern in emqx_protocol module
- Reame the '{dispatch, ...' to '{deliver, ...' in emqx_broker module
- Rename type 'credentials' to 'client'
2019-07-31 08:09:47 +08:00
Feng Lee
b32156bd68
Rename the type 'credentials' to 'client'
2019-07-31 08:08:11 +08:00
Feng Lee
41dfbd4165
Add 'packets.pubrec.inuse' counter
2019-07-30 19:12:42 +08:00