Commit Graph

310 Commits

Author SHA1 Message Date
JianBo He 17e0409c09 feat(ssl): supports configuration of keyfile password 2020-12-14 11:24:07 +08:00
Shawn d00ea48752 feature(tcp): alarm when tcp connection congested 2020-12-07 14:35:38 +08:00
zhanghongtong ef19e8a08b feat(listener): add depth for ssl listener 2020-12-05 17:01:24 +08:00
zhanghongtong a3cdae3b42 feat(listener): add depth for ssl listener 2020-11-30 18:51:02 +08:00
Shawn cc69225b6d feature(tcp): alarm when tcp connection congested (#3818) 2020-11-10 23:36:11 +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
turtled 048e510dde fix(force-shutdown-policy): default to enable force_shutdown_policy 2020-09-30 08:35:24 +08:00
turtleDeng edcbdcce87 improve: module_acl_internal load/unload api (#3706) 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 2b603bfd11 feature(gen_rpc): support a stateless port discovery 2020-08-28 17:10:26 +08:00
zhouzb ec12acc4ef feature(mqtt piggyback): transporting mutli MQTT packets at once or single 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
wangwenhai aca3053a7d fix(ipv6): fix wss ipv6 problem 2020-08-14 16:58:08 +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
JianBo He 83a2af812f feat(ratelimit): refactor ratelimit 2020-07-31 18:07:20 +08:00
tigercl 1b6a586948
feature(mqtt): support response information (#3533) 2020-06-20 15:07:37 +08:00
terry-xiaoyu ac82ad12e3 Add log overload protection parameters 2020-05-28 21:18:32 +08:00
turtleDeng d49f4118fe
Mgmt emqx modules (#3376) 2020-04-10 19:55:21 +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
tigercl 55a8b1b173
Support topic metrics (#3341)
Support topic metrics
2020-03-27 13:33:10 +08:00
JianBo He 9e6966110d
Move emqx_delay_publish here (#3323)
Move emqx_delay_publish here
2020-03-26 18:32:24 +08:00
张奇怪 2ab6ec418e
Add subscription option for proxy subscribing 2020-03-24 11:31:25 +08:00
JianBo He 1a1f348aca Fix mountpoint data type error 2020-03-05 14:14:22 +08:00
JianBo He 3f6f0eca40
Add an option to allow client bypass auth plugins 2020-02-21 09:42:26 +08:00
Feng Lee d532b5f2e3 Remove the unused 'hibernate_after' config 2020-02-04 15:14:52 +08:00
terry-xiaoyu 36b3a443b7 Reduce default tcp client nums to schedulers/2 2020-01-17 17:00:55 +08:00
Feng Lee 3ae3d8a40d Tune and optimize the Erlang VM (#3195) 2020-01-17 09:58: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 a71486cac7 Tuning the number of threads in async thread pool (#3193) 2020-01-17 09:32:01 +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
zhouzb 40ed0ce7ad Defaults to disable force_shutdown_policy 2020-01-15 20:16:58 +08:00
JianBo He 0c3e863ac1
Enlarge performance args for internal zone (#3154) 2020-01-06 09:51:55 +08:00
Feng Lee bbcd2bffc5 Improve the session module (#3082)
Improve the session module
2019-12-07 15:54:02 +08:00
Feng Lee 9c3273a2c6 Improve the process of handling MQTT control packets (#3079) 2019-12-06 19:51:06 +08:00
turtleDeng a540958846 Add mqtt.strict_mode configuration (#3069)
Add mqtt.strict_mode configuration
2019-12-04 10:54:52 +08:00
Feng Lee 4c9dda105f Add 'active_n' option for WebSocket listener 2019-11-01 08:00:11 +08:00
Feng Lee a0e72fd040 Breaking change of listener's rate_limit config 2019-10-18 18:52:57 +08:00
Feng Lee 8c1e452b6e Add 'hibernate_after' option for zone 2019-10-12 16:56:18 +08:00
zhouzb d004a5b68e Rename 'client_id' field to 'clientid' 2019-09-29 16:46:27 +08:00
Feng Lee 0a1679b122
Implement a new flapping module (#2884) 2019-09-10 15:21:08 +08:00
turtled 91a8dbda56 Fix conflicts 2019-08-09 16:41:11 +08:00
GilbertWong ddc25be915 Rename node.proto_dist to cluster.proto_dist 2019-08-09 15:56:33 +08:00
GilbertWong 4a70cf0e9f Support ekka without epmd 2019-08-09 15:56:33 +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
terry-xiaoyu 20a7ed6f53 RPC batch 2019-07-29 09:35:06 +08:00
terry-xiaoyu b0e2b7db0c Support inter-node messages via RPC cast 2019-07-27 12:59:07 +08:00
terry-xiaoyu b61d72cdcd Add options for gen_rpc 2019-07-26 11:22:25 +08:00
turtled 01f8ce1dc7 Add default k8s.suffix 2019-07-19 18:03:53 +08:00
turtled caf6dab808 Support K8S hostname auto discovery cluster 2019-07-19 18:03:53 +08:00
terry-xiaoyu 86333802b9 Add configuration for sys_heartbeat 2019-07-19 17:33:24 +08:00
terry-xiaoyu 96fff39535 Change default logger level to warning 2019-06-28 21:34:21 +08:00
Gilbert 9df6345a6c Remove bridge functions from emqx (#2652)
* Remove bridge functions from emqx
2019-06-26 19:33:17 +08:00
terry-xiaoyu c4de0b1792 No chars limit by default 2019-06-13 13:53:59 +08:00
Gilbert 0857b976ed Better zone (#2548) 2019-05-25 22:29:23 +08:00
turtled 54f2a768a8 Rm start logger:set_primary_config 2019-05-23 10:51:21 +08:00
tigercl 7e0ac5bd34
Fix bad config type of long_gc (#2504) 2019-05-08 10:19:49 +08:00
terry-xiaoyu 7b356e80f4 Rename varibles 2019-05-07 17:27:06 +08:00
terry-xiaoyu a1eb7ca7d2 Adapt max-heap-size to Arch-32 systems
The erlang:process_flag(max_heap_size, MaxHeapSize) can only set a MaxHeapSize of `small integer`, which is smaller than 2^59 on 64-bit systems, and 2^27 on 32-bit systems.
2019-05-07 17:27:06 +08:00
terry-xiaoyu 0ea6697a57 Enlarge chars_limit to 8192 2019-05-05 21:28:59 +08:00
turtled 6dd09ef681 Optimize log configuration 2019-05-05 14:35:43 +08:00
Gilbert eaa1deab20 Refactor flapping code (#2476)
* Refactor flapping code
2019-04-24 10:42:26 +08:00
terry-xiaoyu a8d2497480 Truncate logs that is too long 2019-04-19 16:49:17 +08:00
Gilbert Wong bcbb4b68e9 Add flapping detect feature 2019-04-19 16:34:33 +08:00
spring2maz 8821cfcfc7 Fix typo round_robbin -> round_robin in emqx.schema 2019-04-17 10:24:48 +08:00
YoukiLin fee94525db Add etcd client certificate configuration (#2367)
* Add etcd client certificate
2019-03-27 13:53:40 +08:00
Gilbert 2534b8dc64 Support to pass ws compressing options (#2356)
Add new config entries about websocket
2019-03-27 10:19:35 +08:00
spring2maz a72a914fb8 Fix issue #2312 (#2313)
* Fix SSL option parser

* Fix bridge disconnect log formatting

* Set no headers if new headers is undefined
2019-03-16 19:28:57 +08:00
Shawn 111b66121c
Support TLS/DTLS PSK (#2297)
* Improve filter functions for emqx-hook

* Add PSK hook

* Reset hook args for filter functions
2019-03-13 22:24:19 +08:00
spring2maz 48450d1d37 Move request response out of emqx client (#2293)
* Delete response_topic_prefix

The Response-Infomation in CONNACK was misinterpreated, it should
not be a broker's global config, instead, it should be per-client
or even per-session prefix/suffix mechanism

* Delete request-response code from emqx_client

* Add request-response test code

* meck as default dependency --- temp workaround for dep-vsn-check
2019-03-13 11:27:25 +08:00
Gilbert Wong 076f3e3068 Fix schema bug 2019-03-13 10:14:31 +08:00
Gilbert 93162c52b6
Fix conf parse bug (#2296)
Prior to this change, there are some config entry which is not parsed
correctly. So if user modify config such as reconnect_interval for
bridge, the new config can not be taken into effect.
2019-03-11 16:31:21 +08:00
tigercl da755b88c7 Add monitors and alarm handler (#2266)
* Add monitors and alarm handler
2019-02-28 18:25:17 +08:00
Gilbert Wong 7efd7b3ec0 Rename portal to bridge 2019-02-28 15:31:54 +08:00
Gilbert Wong d18f4ba550 Fix wrong config entries 2019-02-28 11:18:12 +08:00
Gilbert 796fc3b1ba Fix app config generation (#2245) 2019-02-28 11:17:27 +08:00
spring2maz 086a1d56b9 Drop unused config schema
bridge.$name.transport was added before we decided to derive
transport portocol based on the 'address' config.
i.e. when it's a remote erlang node, use gen_rpc
otherwise (must be IP or hostnmae), we should estabilish mqtt connection
2019-02-28 11:17:27 +08:00
spring2maz fbe67e6784 Introduce new bridge impl 2019-02-28 11:17:27 +08:00
tigercl a0fd9e63e0 Add data_dir to emqx.conf (#2271)
* Add data_dir to emqx.conf
2019-02-28 09:28:37 +08:00
张奇怪 44d3eff094 Auto-pull-request-by-2019-02-19 (#2232)
* Update Copyright to 2019 (#2191)

* Disable bridges by default (#2189)

* Fix warning logger args emqx#2195

* Ambiguity elimination (#2217)

* Fix emqx_ws_connection: prevent crashes on pong (#2210)

* Issue#2184 (#2194)

* Delete dep-vsn-check

* Format app.src
2019-02-19 14:00:34 +08:00
terry-xiaoyu de65e21270 Disable lager
This PR removes lager handlers and the `crash.log`, in case of some dependencies or plugins of emqx use lager.
2019-01-09 12:21:20 +08:00
Frank 981d785c06 Fix data type of mountpoint from string to binary 2019-01-09 10:31:38 +08:00
turtleDeng 6a1ebe299a
Merge emqx32 to emqx30 (#2112) 2018-12-28 19:44:41 +08:00
turtled 7d3357e0f3 Merge emqx32 2018-12-21 16:01:32 +08:00
Gilbert 7d9e350bbe Add option to disconnect client in case acl deny (#2059)
* Add option to disconnect client in case acl deny
2018-12-19 10:34:06 +08:00
Shawn c7fa4b1b15 Revert vm args in emqx conf b (#2070)
* Revert changes in emqx.conf for backward compatibility
2018-12-18 16:50:47 +08:00
Feng Lee 721b72b96a Add 'active_n' option to optimize the CPU usage of emqx_connection (#2060)
* Add 'active_n' option to optimize the CPU usage of emqx_connection

* Supports batch processing 'DOWN' events
2018-12-17 19:53:29 +08:00
terry-xiaoyu 68a6a88eb9 Move all vm args into separate file vm.args 2018-12-14 09:53:13 +08:00
terry-xiaoyu d445c17e6c Move some vm args to file vm.args 2018-12-14 09:53:13 +08:00
Feng Lee abe9aff062 Add 'enable_session_registry' config 2018-12-13 18:28:32 +08:00
周子博 ea62b15c87 Alter apis provided by emqx_metrics, and use existing timer to commit metrics 2018-11-30 17:44:29 +08:00
周子博 194dbc02c8 Add batch commit for metrics 2018-11-30 17:44:29 +08:00
Shawn 76d5dedb3b
Remove simple log handler at startup (#2000)
The simple logger handler is not removed if we set the `log.to=file` in
emqx.conf.

This might be an issue of OTP logger:
https://bugs.erlang.org/browse/ERL-788

I set the error_logger to silent as a workaround.
2018-11-30 14:29:34 +08:00
Shawn 6fa183f847 Add CLI for log level (#1977) 2018-11-23 11:04:33 +08:00
tigercl 14b8036576 Use username replace id(issue#1737) (#1961)
* Use username replace id(issue#1737)

* Add test case for issue#1737

* Make with_connection/2 support batch connect
2018-11-21 22:51:33 +08:00