Commit Graph

4508 Commits

Author SHA1 Message Date
JianBo He 76ec65830c fix: fix session_locking_strategy enum typos 2020-09-29 15:35:16 +08:00
JianBo He 06b9b6e6b0 chore: update esockd version to fix ssl:getstat/2 for dtls connection 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
JianBo He f6b35d63f2 improve: rename quota option name 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
terry-xiaoyu 2b603bfd11 feature(gen_rpc): support a stateless port discovery 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 b2c0728cd7 fix(conf): add additional_configs line 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 e232032ec0 fix(mqtt-piggyback): fix test case 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 3c7ef74a7a chore(deps): upgrade ekka to 0.7.4 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
wangwenhai aca3053a7d fix(ipv6): fix wss ipv6 problem 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 1c316cb5f0 fix(test): fix badmatch error 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
turtleDeng 8e658edb76
Merge pull request #3546 from emqx/develop
Auto-pull-request-by-2020-06-21
2020-06-21 14:14:52 +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
terry-xiaoyu 66144629bf feature(json) update jiffy to 1.0.5 2020-06-20 15:00:24 +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 1700a7a98a refactor(test): put all property cases to test/props directory 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