Commit Graph

734 Commits

Author SHA1 Message Date
JianBo He 80c503fd64 refactor(conn): not saving anonymous func 2020-12-04 22:33:29 +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 18d6647b03 feature(project): move test to apps/emqx/test 2020-10-31 10:17:47 +08:00
JianBo He b373c0cf1b fix(json): fix decoding/encoding empty object error 2020-10-24 15:49:15 +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
turtled eb4b9936dc fix(modules): fix conflicts 2020-10-11 11:12:39 +08:00
tigercl da4d71917f fix(ignore-loop-deliver): fix issue#3738 (#3741) 2020-09-29 15:35:16 +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 9985e2675c fix(logger): resolve issues when starting and stopping log handlers 2020-08-28 17:10:26 +08:00
zhouzb e232032ec0 fix(mqtt-piggyback): fix test case 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
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
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 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
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
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
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 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
JianBo He ea2a424ce2
Add ensure/2 funcs to avoid needless logs (#3483) 2020-06-04 10:46:53 +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
zhouzb 83b1f3e6c8 Fix unexpected packet before connected 2020-05-22 18:18:52 +08:00
tigercl 7a0ad0f8af
Update certs (#3447)
* Update certs

* Update certs

* Fix test cases fail

Co-authored-by: turtleDeng <deng@emqx.io>
2020-05-12 10:37:26 +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
zhouzb d5f405259d Fix test case 2020-04-17 20:46:57 +08:00
zhanghongtong dccf3560f0 Add hook to auth packet 2020-04-16 16:07:01 +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
zhanghongtong e5a6e0dcce Fix test case error 2020-03-27 19:40:30 +08:00
JianBo He 85f0ced88a Ensure delayed test case 2020-03-27 18:01:00 +08:00
zhouzb 792a14aaf7 Fix plugin test case 2020-03-27 15:31:11 +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
JianBo He 9e6966110d
Move emqx_delay_publish here (#3323)
Move emqx_delay_publish here
2020-03-26 18:32:24 +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 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
JianBo He 47720b906f Fix `peer_cert_as_username` option not working
see #3281
2020-03-05 15:55:39 +08:00
JianBo He 750b088922 Fix testcase 2020-03-05 14:14:22 +08:00
JianBo He 369db50ff6 Fix testcase 2020-03-05 14:14:22 +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
zhanghongtong 7bc6a29f4e Receive for the EXIT message on test cases 2020-02-07 16:23:02 +08:00
张奇怪 f29a8b0d5c
Mqtt protocol tests (#3237)
Add more test cases for MQTT
2020-02-07 10:07:36 +08:00
JianBo He b9bdb03005 Decode/Encode json from nested proplist 2020-02-06 12:00:18 +08:00
JianBo He 3c459e8e74
Compatible jsx encode/decode (#3230) 2020-02-04 16:18:19 +08:00
JianBo He 7ab3da399d
Fix testcase (#3216) 2020-01-20 09:41:46 +08:00
Feng Lee eea377eb8f Replace 'jsx' with 'jiffy' and add more test cases 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
turtleDeng 7a2234c608 Improve emqx_mqtt_caps:get_caps/1 (#3198) 2020-01-17 16:29:46 +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
turtleDeng 0362a28557
Update mqtt_protocol_v5_SUITE.erl 2020-01-10 17:48:44 +08:00
zhanghongtong 4dde1fcf7c Fix error for test case 2020-01-09 20:01:46 +08:00
zhanghongtong 7bd6b249da Increased wait time for test cases 2020-01-09 20:01:46 +08:00
zhanghongtong 16f829a345 Increased wait time for test cases 2020-01-09 20:01:46 +08:00
zhanghongtong 693bd493f0 Fix error for test case 2020-01-09 20:01:46 +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 40758fb693 Workflow (#3163)
Add workflows
2020-01-09 11:53:20 +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 7f807c0b11 Fix test cases fail 2019-12-30 11:18:26 +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
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
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 721dd5d8a2 Update the test cases of emqx_ws_connection module 2019-12-16 12:46:48 +08:00
Feng Lee f46cfbaa62 Fix the 'badmatch' error 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 78fe1166b9 Fix test case 2019-12-13 18:36:40 +08:00
zhanghongtong 496bd7ed56 Add more test cases 2019-12-13 18:15:38 +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
Feng Lee d1c3dec730 Optimize emqx_session and add more test cases 2019-12-11 13:44:52 +08:00
Feng Lee fff737d32a Add emqx_limiter_SUITE 2019-12-11 13:40:44 +08:00
turtled 73e666ac8c Fix test cases fail 2019-12-11 13:40:31 +08:00
zhouzb ec2f758c9f Use erlang:system_time/1 2019-12-10 09:25:39 +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 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
zhanghongtong 81b1c5872c Fix error foe test/emqx_mod_presence_SUITE 2019-12-07 14:55:34 +08:00
张奇怪 7895432b7d Add more test cases (#3080) 2019-12-07 13:38:56 +08:00
Feng Lee 9c3273a2c6 Improve the process of handling MQTT control packets (#3079) 2019-12-06 19:51:06 +08:00
turtled 4b59db62fa Optimize caps 2019-12-04 13:52:01 +08:00
turtled 13b625f729 Fix compile warning 2019-12-03 19:15:04 +08:00
zhouzb 62484ba84e Fix test cases and update certs 2019-11-18 16:08:51 +08:00
Feng Lee 045216bd4c Remove the the test case 't_check_flapping/1' 2019-11-18 13:56:42 +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 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
Feng Lee d6ebbb7cce Merge branch 'develop' of github.com:emqx/emqx into develop 2019-11-12 15:46:48 +08:00
Feng Lee 6682eca19a Add test cases for emqx_misc module 2019-11-12 15:46:27 +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
zhanghongtong 63fb6f2fd0 Add more test cases for emqx 2019-11-07 16:17:17 +08:00
zhanghongtong c3d07dbf80 Add more test cases for emqx_shared_sub 2019-11-07 15:05:41 +08:00
zhanghongtong 718dc40421 Add more test cases for emqx_sys_mon 2019-11-06 10:23:38 +08:00
zhanghongtong bca723e1b5 Add more test cass for emqx_access_rule 2019-11-05 17:07:39 +08:00
zhanghongtong 0dd45aeb3c Add more test cases for emqx_mod_acl_internal 2019-11-05 15:14:31 +08:00
zhanghongtong cc9ad392af Add more test cases for emqx_cm_locker 2019-11-05 14:11:09 +08:00
zhanghongtong 434f937921 Add more test cases for emqx_mod_subscription 2019-11-05 11:47:57 +08:00
zhanghongtong 53caec8504 Add more test cases for emqx_access_control 2019-11-05 11:32:35 +08:00
terry-xiaoyu b17a54d392 Fix testcases for emqx_ws_connection 2019-11-01 20:25:43 +08:00
zhouzb 422c3525d8 Move test case of checking oom to emqx_misc_SUITE 2019-11-01 20:12:18 +08:00
terry-xiaoyu 3cc2bf2bfa Merge branch 'develop' into make_test_cases_pass 2019-11-01 20:05:52 +08:00
terry-xiaoyu 865192c631 Fix testcases for emqx_connection 2019-11-01 19:57:14 +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
Shawn 19033b38d9
Merge pull request #3014 from emqx/add_more_test_cases
Add test case for logger parse transform
2019-11-01 17:38:47 +08:00
terry-xiaoyu 0f2609b56d Add test case for logger parse transform 2019-11-01 17:36:56 +08:00
zhanghongtong 3e70143518 Fix error test case for emqx 2019-11-01 17:07:32 +08:00
zhouzb e3ddd4ebe9 Make test cases pass temporarily 2019-11-01 16:58:53 +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
zhanghongtong 0e81924034 Add more test cases for emqx 2019-11-01 16:37:20 +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
zhanghongtong 48f944a9c8 Add more test cases for emqx_listeners 2019-11-01 09:23:45 +08:00
Feng Lee 4c9dda105f Add 'active_n' option for WebSocket listener 2019-11-01 08:00:11 +08:00
zhanghongtong bf82c5a1fe Add more test cases for emqx_tracer 2019-10-30 15:48:32 +08:00
zhanghongtong d444d1c61c Add more test cases for emqx_vm_mon 2019-10-30 14:48:17 +08:00
zhanghongtong 3009eeb270 Add more test cases for emqx_zone 2019-10-29 15:43:09 +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
zhanghongtong 9ef4e62219 Add more test cases for emqx_alarm_handler 2019-10-28 20:37:15 +08:00
terry-xiaoyu f7d3c01308 Merge branch 'develop' into clean_acl_cache 2019-10-28 18:02:41 +08:00