Commit Graph

1540 Commits

Author SHA1 Message Date
terry-xiaoyu 09dd65b9fa Add logger header validation 2019-06-18 14:37:32 +08:00
terry-xiaoyu 7092748266 Improve log messages using logger header 2019-06-18 14:37:32 +08:00
terry-xiaoyu c64751a53c Support module level logger header 2019-06-18 14:37:32 +08:00
terry-xiaoyu 3f1b788fe8 Remove unused PSK TAB macro 2019-06-14 16:58:46 +08:00
GilbertWong 19822c15bd Add websocket_info to match {stop, Reason} msg 2019-06-14 16:22:57 +08:00
Feng Lee 1d88f8fd9e Improve the emqx_connection, emqx_ws_connection and emqx_frame modules (#2611)
* Adopt channel architecture and improve the MQTT frame parser

* Update the test cases for emqx_channel, emqx_protocol

- Improve emqx_client to Use the new emqx_frame:parse/2
- Update the ct suites for emqx_channel, emqx_ws_channel

* Fix test case
2019-06-14 12:44:27 +08:00
Gilbert d3e7d1f0c9 Fix websocket bug (#2615)
Fix websocket bug.

Prior to this change, websocket connection would be closed directly
without sending connack packet when acl check fails.

This change fix this bug.
2019-06-14 11:33:44 +08:00
turtleDeng a3103cec7b Revert "Fix websocket bug. Prior to this change, websocket connection would be closed directly without sending connack packet when acl check fails."
This reverts commit e73c4c64d0.
2019-06-12 15:51:20 +08:00
GilbertWong e73c4c64d0 Fix websocket bug.
Prior to this change, websocket connection would be closed directly
without sending connack packet when acl check fails.

This change fix this bug.
2019-06-12 15:49:48 +08:00
turtleDeng 76525cc703
Fix acl deny action logic (#2613) 2019-06-12 15:49:18 +08:00
tigercl 3462bbd619 Fix retain in will message (#2607)
* Fix retain in will message

* Only handle retain available flag in MQTT v5
2019-06-12 15:43:52 +08:00
Feng Lee f801ff1e53 Optimize metrics using counters and persistent_term (#2597)
* Optimize emqx_metrics module using persistent_term and counters in OTP 22
2019-06-05 23:16:35 +08:00
turtled f46205daff Restart mnesia application 2019-06-05 11:50:09 +08:00
Gilbert Wong f3fcd16dee Fix wrong default value in protocol module 2019-06-03 16:25:04 +08:00
Gilbert Wong e7cd32edb7 Update esockd deps and fix compile warning 2019-05-31 15:21:59 +08:00
Gilbert Wong 47f9d0e90f Adjust format 2019-05-31 11:16:50 +08:00
Gilbert Wong 365832f945 Use new ranch api to elimate warning log for deprecated apis 2019-05-31 11:16:50 +08:00
Feng Lee 9715234626 Optimize the emqx_zone module using persistent_term
- Don't reload the zone options for updating persistent_term is
expensive
- Use '{?MODULE, Zone, Key}' as the key to avoid name collision
2019-05-31 08:53:42 +08:00
terry-xiaoyu be7de756c6 Stop alarm before emqx stops 2019-05-28 17:11:31 +08:00
Gilbert 0857b976ed Better zone (#2548) 2019-05-25 22:29:23 +08:00
HeeeJianBo 87ffa77ade Fix lookup_session_pids return data type error 2019-05-25 22:28:34 +08:00
turtled 54f2a768a8 Rm start logger:set_primary_config 2019-05-23 10:51:21 +08:00
Gilbert Wong 1c83270184 Add case clause for emqx_sn and emqx_coap plugin 2019-05-21 11:19:52 +08:00
HeeeJianBo caa582a028 Revert the PR #2355
- Add anonymous field for credentials
2019-05-15 15:04:27 +08:00
JianBo He 1a92f3259f Enable cert_as_username to pass value to username_as_clientid (#2536) 2019-05-15 10:20:04 +08:00
JianBo He 79c1b7eb78
Put sockname to credentials (#2532)
* Add sockname to credentials

* Explicit credentials type define
2019-05-14 10:22:30 +08:00
JianBo He 97cca1a5ba Set {active, N} for ssl connection (#2531) 2019-05-13 10:18:01 +08:00
turtleDeng 311f1e6df1
Merge pull request #2521 from emqx/develop-3.2 2019-05-09 11:16:14 +08:00
Gilbert Wong fc6f54602d Fix plugin load bug 2019-05-08 14:23:12 +08:00
tigercl 7e0ac5bd34
Fix bad config type of long_gc (#2504) 2019-05-08 10:19:49 +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
tigercl b4c659fb54 Add suboptions for stats (#2507) 2019-05-06 19:17:54 +08:00
Gilbert Wong 3ece73b912 Reuse plugin filter logic to adapt to emqx rebar3 release 2019-05-06 13:34:55 +08:00
turtled ea83d2087c Optimize log configuration 2019-05-05 14:35:43 +08:00
turtled c5524e99c6 Rm emqx_rate_limiter module 2019-04-25 14:29:20 +08:00
Gilbert eaa1deab20 Refactor flapping code (#2476)
* Refactor flapping code
2019-04-24 10:42:26 +08:00
Gilbert Wong bcbb4b68e9 Add flapping detect feature 2019-04-19 16:34:33 +08:00
Gilbert Wong 5680b191ee Extend status api 2019-04-18 14:12:06 +08:00
Gilbert 94aa173858 Fix bugs of keepalive value init of emqx_client (#2443)
Fix bugs of keepalive value init of emqx_client
2019-04-17 10:43:20 +08:00
Gilbert Wong f1616c33d9 Convert value of attribute table to map 2019-04-13 10:35:59 +08:00
Gilbert Wong 81ef5b9b8d Support cookie based auth 2019-04-12 19:25:22 +08:00
Gilbert Wong 4d2bc48822 Redesign ensure_start and ensure_stop api of bridge 2019-04-11 18:17:30 +08:00
Gilbert 4fc81cef85
Change log level unexpected info in client (#2422)
Change log level for unexpected info in client and rejust code format in emqx_bridge
2019-04-11 12:20:32 +08:00
周子博 6a4c318acb Update metrics when session process terminates 2019-04-11 10:08:26 +08:00
Shawn a53320069b Fix trace logger level not work (#2408)
* Fix trace logger level not work #2385
2019-04-10 09:14:53 +08:00
Gilbert Wong eb7b1797c2 Provide bridge handler to extense emqx_bridge 2019-04-09 19:03:07 +08:00
Gilbert Wong 627ea0afe8 Add `is_bridge_exist` api in emqx_bridge_sup 2019-04-09 11:40:36 +08:00
Gilbert Wong 8cfd080a97 Fix gen_statem:reply/2 bug in emqx_client module
Prior to this change, the arguments passed to gen_statem:reply is bad
args, first arg should be a tuple, but it is a pid. So it would
trigger crash.

This change fix this bug.
2019-04-08 11:50:28 +08:00
Gilbert Wong 7e6255d4ee Set default websocket idle timeout to 2 hour 2019-04-04 17:42:52 +08:00
Gilbert e917c025d0
Fix LOG on line 231 2019-04-04 17:38:36 +08:00
JianBo He aad2d7378e Put peername into messsage headers (#2390)
* Put peername into the message.heaers
2019-04-04 13:41:03 +08:00
Gilbert Wong 287c5582a9 Fix compilation warning 2019-04-03 20:49:45 +08:00
Gilbert Wong 15f8d3208f Fix message dropped
Prior to this change, when store_qos0 option is set to false, the hook
`message.dropped` would not be triggered. It is wrong design and when
the ignore_loop is enabled or nl is set to 1, the hook
`message.dropped` also would not be triggered.
2019-04-03 20:33:58 +08:00
Shawn 2306789755 Remove bin_key_map/1 (#2393)
* Remove bin_key_map/1

* Fix Travis-CI failure
2019-04-03 19:41:21 +08:00
spring2maz 55d2d1d278 Allow boolean flag for loaded plugins
This is to simplify config templating
2019-04-03 19:35:24 +08:00
Feng Lee 60c2b8bc08 Add more functions to read fields of 'message' record
- Add id/1, topic/1, from/1, payload/1 and timestamp/1 functions
- Improve the test cases
2019-04-02 15:15:13 +08:00
HeeeJianBo 2d2520627a Fix topic 'datatype' to 'datetime' 2019-04-01 11:37:22 +08:00
Gilbert Wong 0c64da6da7 Change default log level from info to critical when shutdown 2019-03-29 10:57:52 +08:00
Gilbert b6fa4d2a3f
Fix bridge subscribe bugs 2019-03-29 10:19:11 +08:00
周子博 f14a56eb17 Fix acl bug in subscribe 2019-03-28 14:04:04 +08:00
Gilbert Wong 114b28f973 Delete function clause which would reply {error,standing_by} 2019-03-28 11:47:29 +08:00
Gilbert 0d6b937127 Support proxy protocol of websocket (#2372)
Support proxy protocol of websocket
2019-03-28 10:34:48 +08:00
HeeeJianBo 24f8c3a391 Fix drain the session process mailbox handling err 2019-03-28 10:32:03 +08:00
周子博 6e3c4b0855 Fix conflict 2019-03-27 13:59:26 +08:00
Shawn a3fd8846a5
Bin key map (#2362)
Suppport nested bin-key map
2019-03-27 11:12:28 +08:00
turtleDeng e6d90d5758
Improve mountpoint (#2363) 2019-03-27 11:10:51 +08:00
周子博 0fbf771543 Readjust log level into error when got unexpected message 2019-03-27 11:07:58 +08:00
JianBo He c223f62c5a Put cn/dn of client cert into credentials (#2357)
Put cn/dn of client cert into credentials
2019-03-27 10:20:12 +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
tigercl f5c426a2f2
Add missed case for monitors (#2353) 2019-03-27 10:18:51 +08:00
周子博 58e1b4d485 Readjust log level and unify log format 2019-03-26 22:18:31 +08:00
Shawn f0fa9a9252 Add a function converting message to binary-key map (#2360) 2019-03-26 10:35:10 +08:00
JianBo He 8d92d58b6c Fix allow_anonymous behavoir error (#2355)
EMQ should allow the anonymous connection if the allow_anonymous option is true, although it has one or more auth plugins started.
2019-03-26 10:25:51 +08:00
Shawn 9e7b3a9209
Update emqx_types.erl 2019-03-22 16:27:23 +08:00
terry-xiaoyu bd304572c9 Delete acl_mod and auth_mod 2019-03-22 16:18:42 +08:00
terry-xiaoyu c7a317afaf Add one more connack reason code 2019-03-22 15:43:21 +08:00
HeeeJianBo fc2df9aff5 Adapt to new export style 2019-03-22 14:58:24 +08:00
Gilbert e386778aca Fix typo 2019-03-22 11:31:26 +08:00
Feng Lee dba16aeea5 Add 'remove_header/2', 'get_headers/1' functions
- Adopt new 'export' style
- Add 'remove_header/2', 'get_headers/1' functions
- Remove 'remove_topic_alias/1' function
2019-03-22 11:31:26 +08:00
Feng Lee ba719a896d Call 'tokens/1' instead of 'words/1' 2019-03-22 11:31:26 +08:00
Feng Lee a4550a8fc4 Add emqx_topic:tokens/1 function 2019-03-22 11:31:26 +08:00
JianBo He 513d2bcaaa Fix reload ACL failed (#2344)
The original `reload_acl` function only parse the ACL file, not compile and rehook to 'client.check_acl'
2019-03-22 10:21:16 +08:00
turtled 416bc75d5d Sort plugin list 2019-03-22 01:02:30 +08:00
turtled 865ef864db Get the plugins list through -emqx_plugin module attributes 2019-03-22 00:03:53 +08:00
terry-xiaoyu b79bf13ae7 Rename result -> auth_result 2019-03-22 00:03:34 +08:00
HeeeJianBo 998684fc4e Fix badmatch error in the batch_process of session 2019-03-21 17:40:02 +08:00
terry-xiaoyu 36927f01e7 Add type definition for auth_result 2019-03-21 16:54:50 +08:00
tigercl e7320620c0 Fix alarm report bug (#2332) 2019-03-21 16:53:46 +08:00
linjun 3a2f6d5a6c Fix badmatch bug for reload_acl 2019-03-21 16:51:57 +08:00
tigercl 5a401c44fd Clear dup flag if message published first (#2337) 2019-03-21 10:13:41 +08:00
JianBo He 8a73c62f66 Fix followed packet parse failure (#2333)
To fix issue#2303(https://github.com/emqx/emqx/issues/2303)
It will report the following error, when a connection sends a TCP frame contained many of MQTT packet and followed a split MQTT packet.
2019-03-20 10:14:52 +08:00
turtleDeng a95ebcd7d6
Fix typo 2019-03-17 00:23:44 +08:00
YoukiLin 88c32b2c41 Fix emqx_rpc badargs bug 2019-03-16 21:27:41 +08:00
Gilbert Wong 763115e149 Delegate serialize fun into sendfun 2019-03-16 21:15:10 +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
YoukiLin 29f4faa7dd Add badtcp clause to handle gen_rpc (#2314) 2019-03-16 18:23:18 +08:00
terry-xiaoyu 901bbdedd6 Add some auth error codes 2019-03-16 16:30:25 +08:00
terry-xiaoyu 749494c277 Change default internal-rules to #{} 2019-03-16 13:08:11 +08:00
terry-xiaoyu 2912d9a41b Rename is_super -> is_superuser 2019-03-16 12:51:45 +08:00
terry-xiaoyu a7adb79f17 Allow empty zone in credentials 2019-03-16 12:25:39 +08:00