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