Commit Graph

1131 Commits

Author SHA1 Message Date
Feng Lee
465963fec3
Merge branch 'emqx30' into emqx30-feng 2018-08-29 17:36:38 +08:00
Feng Lee
1a7d60a7e3 Improve the hooks design for emqx 3.0 2018-08-29 17:27:56 +08:00
terry-xiaoyu
c967db409f EMQX 3.0 UT 2018-08-29 15:50:56 +08:00
turtled
dae81037bf Update share_sub dispatch 2018-08-29 12:58:55 +08:00
turtled
9711892f73 Fix share_sub disconnect not clear route bug 2018-08-29 10:58:34 +08:00
turtled
af21cdfd1b Rm tmp var 2018-08-29 10:08:15 +08:00
turtled
00cb26c4e0 Support ws mqtt any version 2018-08-29 10:00:41 +08:00
turtled
013a5a9c7c Fix emqx_protocol:clientid undefined 2018-08-29 09:30:18 +08:00
Feng Lee
594819b752 Upgrade the publish sequence of QoS1/2 messages 2018-08-29 02:53:22 +08:00
Feng Lee
1cf4532947 Add emqx_mountpoint module 2018-08-28 20:40:31 +08:00
周子博
545e80cd6b Add some test suites 2018-08-28 17:53:03 +08:00
Feng Lee
8e11845f87 Remove ignore_loop_deliver option 2018-08-28 07:36:22 +08:00
terry-xiaoyu
c92eba4a5e bug fixes during UT 2018-08-28 00:27:45 +08:00
Gilbert
88d867b256
Merge pull request #1750 from Gilbert-Wong/emqx30
update emqx_broker_suite to adapt emqx 3.0 broker
2018-08-27 21:56:00 +08:00
Feng Lee
475319b907 Merge emqx30-feng branch 2018-08-27 21:36:43 +08:00
Feng Lee
1607e576de Update connection, session, stats modules 2018-08-27 21:34:11 +08:00
Gilbert Wong
ce3f2e4d9e fix emqx_broker test suite 2018-08-27 21:18:00 +08:00
Gilbert Wong
015901050f change return tuple of close_session 2018-08-27 18:19:28 +08:00
Gilbert Wong
224aaaf8a7 unsubscribe function should have two params 2018-08-27 17:11:54 +08:00
Gilbert Wong
c5da439313 wrong unsubscribe call 2018-08-27 16:41:58 +08:00
Feng Lee
d167a5c99a
Merge pull request #1748 from emqtt/emqx30-feng
Improve the emqx_listeners module
2018-08-27 16:24:59 +08:00
Feng Lee
a19daee353 Improve the print of listener startup 2018-08-27 16:19:58 +08:00
turtled
35d821a62e Add WS stats 2018-08-27 16:15:23 +08:00
Feng Lee
42288ac412 The ACL file should not be undefined 2018-08-27 15:57:13 +08:00
Feng Lee
dca292f538 Replace 'Client' with 'Credentials' map 2018-08-27 15:54:41 +08:00
Gilbert
a183693ac8
Merge pull request #1747 from Gilbert-Wong/emqx30
fix subscribe bugs and update emqx_mock_client
2018-08-27 15:36:13 +08:00
Gilbert Wong
087bfe80c8 fix unsubscribe emqx_mock_client error 2018-08-27 15:24:40 +08:00
turtled
91eb79967c Add syslog 2018-08-27 13:50:38 +08:00
Gilbert Wong
28e22825ba fix emqx subscriptions error 2018-08-27 12:35:36 +08:00
Gilbert Wong
f0f1456168 fix duplicated subscribers with same topic 2018-08-27 11:21:16 +08:00
Feng Lee
6d2b31911a
Merge pull request #1746 from emqtt/emqx30-feng
Use map to replace #state{} record
2018-08-27 10:35:43 +08:00
turtled
6478f811bf Fix conflicts 2018-08-27 10:29:22 +08:00
Feng Lee
6e8635394e Use map to replace #state{} record 2018-08-27 10:25:15 +08:00
turtled
95d36d0204 Fix share sub bug 2018-08-27 10:15:41 +08:00
turtled
1448515e64 Fix websocket bug 2018-08-27 10:14:58 +08:00
Feng Lee
5f65335835
Merge branch 'emqx30' into emqx_30_acl_cache_v2 2018-08-27 09:42:42 +08:00
Feng Lee
3f811aa9ca Add credentials/1 function 2018-08-27 09:28:49 +08:00
Gilbert Wong
a369fb6960 fix subscribe bug 2018-08-26 22:02:39 +08:00
terry-xiaoyu
9d29dd0e10 use config enable_acl_cache 2018-08-26 18:25:17 +08:00
Feng Lee
397179bbda Merge branch 'emqx30' of github.com:emqtt/emqttd into emqx30 2018-08-26 16:25:02 +08:00
Feng Lee
0e3728c940 Add emqx_types module and 'credentials' type 2018-08-26 16:24:51 +08:00
terry-xiaoyu
9717f9b83e add module emqx_acl_cache 2018-08-26 15:46:22 +08:00
terry-xiaoyu
8cd20744be improve cache datastruct using keys-queue 2018-08-26 13:33:00 +08:00
terry-xiaoyu
a904031979 acl cache using proc_dict 2018-08-26 13:30:18 +08:00
terry-xiaoyu
737fe19331 update acl test cases 2018-08-26 12:48:32 +08:00
Gilbert Wong
ee11627828 delete duplicated subscribe function 2018-08-25 18:36:17 +08:00
Gilbert Wong
8b4be236e5 fix list_to_subid error 2018-08-25 17:10:51 +08:00
Feng Lee
36129073e8 Merge branch 'emqx30-dev' of github.com:emqtt/emqttd into emqx30-dev 2018-08-25 16:08:27 +08:00
Feng Lee
b7c2821326 Make reason codes of SUBACK be compatible with MQTT V3.1.1 2018-08-25 16:07:57 +08:00
Feng Lee
c2c1320083 Update compat/2 for suback reason codes 2018-08-25 16:05:58 +08:00
Feng Lee
612c88e71e Add 'rc' and 'subid' fields 2018-08-25 16:04:21 +08:00
Feng Lee
1aee05ce16 Fix unsubscribe bug 2018-08-25 16:03:28 +08:00
turtled
892483891a Merge branch 'emqx30-dev' of https://github.com/emqtt/emqttd into emqx30-dev 2018-08-25 14:32:48 +08:00
turtled
fc0f57073d Fix share sub dispatch fail 2018-08-25 14:32:32 +08:00
Feng Lee
5f42f88401 Pass paho zero_length_clientid test case 2018-08-25 11:51:36 +08:00
Feng Lee
68cfcf6e0e Pass paho mqtt interoperability tests 2018-08-24 23:19:11 +08:00
Feng Lee
694485252a Merge branch 'emqx30-dev' of github.com:emqtt/emqttd into emqx30-dev 2018-08-24 18:43:36 +08:00
Feng Lee
0f052ce352 Upgrade connection, protocol and session modules for MQTT 5.0 2018-08-24 18:39:59 +08:00
turtled
36647b641f Fix select emqx_shared_subscription fail 2018-08-24 11:38:54 +08:00
Petr Gotthard
d4176461ff Send client_pid to distinguish multiple clients
When a controlling process starts multiple clients that make multiple
subscriptions it may be desirable to identify from which client a
message is comming from. The topic id may not be sufficient.
2018-08-20 11:58:19 +02:00
turtled
22e8b07a3d Receive/send messages by bridge 2018-08-19 20:31:44 +08:00
Feng Lee
c9d604ed02 Fix the badmatch error of packet_to_msg/1 2018-08-13 16:49:53 +08:00
Feng Lee
9145fb9ec8 Use os:timestamp/1 to get now millseconds 2018-08-12 19:14:14 +08:00
Feng Lee
f80cd2d986 Improve the MQTT over Websocket connection 2018-08-11 17:57:19 +08:00
Gilbert Wong
3d05954d5b Optimize emqx_time module 2018-08-11 16:17:39 +08:00
turtled
d516b8c241 mochiweb -> cowboy 2018-08-09 15:19:45 +08:00
Feng Lee
919eb9fa1e Use cowboy to replace minirest 2018-08-09 14:27:49 +08:00
Feng Lee
e23a6e87d8 Merge listeners, zones, bridges config 2018-08-08 19:37:57 +08:00
Feng Lee
4005d58166 Move the 'rate_limit' option from zone to listener 2018-08-08 19:31:25 +08:00
turtled
b5a1960b63 Stop emqx_ws 2018-08-08 18:42:11 +08:00
turtled
4d9e03a803 Refactor websocket conn using cowboy 2018-08-08 18:36:14 +08:00
Feng Lee
8418be0a5b Use the new emqx_session:unsubscribe/2 API 2018-08-07 11:00:04 +08:00
Gilbert Wong
96d251ec3c Add encode and decode options and test suites 2018-08-07 10:27:04 +08:00
Gilbert Wong
79481db659 Enhance base62 encode/decode Funs 2018-08-06 23:45:27 +08:00
Feng Lee
645c971a07 Fix QoS tuning 2018-08-06 17:09:14 +08:00
Feng Lee
7d0cba9427 Add MQTT 5.0 supports for connection, protocol and session modules 2018-08-06 16:33:10 +08:00
Feng Lee
83dee0e340 Rename emqx_alarm to emqx_alarm_mgr 2018-07-19 10:53:41 +08:00
Feng Lee
eeeed35e2a Remove the alarm_fun arg from emqx_mqueue:new/3 2018-07-19 10:46:05 +08:00
Feng Lee
4297033415 Fix undefined emqx_vm:schedulers/1 2018-07-19 10:19:25 +08:00
Feng Lee
7ee54aac28 Add 'qos' field to message record 2018-07-18 23:41:00 +08:00
Feng Lee
6c58bbab2b Remove emqx_lager_backend module 2018-07-18 23:29:38 +08:00
Feng Lee
ca4cdfe4ee Move the passwd_hash/2 function to emqx-passwd project 2018-07-18 23:29:20 +08:00
Feng Lee
62aa072f2f Upgrade for MQTT Version 5.0 and Erlang/OTP R21 2018-07-18 13:43:17 +08:00
chenyy
6f405dc128 remove ?MODULE because we don’t need it 2018-06-29 15:10:12 +08:00
Feng Lee
385c7cd3e6 Remove 'tuple call' and be compatible with Erlang/OTP R21 2018-06-29 12:26:30 +08:00
Feng Lee
1de94b6858 Register the default ACL module in emqx_access_control 2018-06-21 22:40:30 +08:00
Feng Lee
b733a3bcfb Throw mqtt_frame_too_large exception if the sent frame is too large 2018-06-12 12:10:53 +08:00
Feng Lee
5d45d40db5 Rename emqx_mqtt module to emqx_listeners 2018-06-12 10:04:01 +08:00
Feng Lee
055de617fc Add emqx_message:make/4 and fix whitespace 2018-05-31 21:57:17 +08:00
Feng Lee
bffdd2ba74 Upgrade esockd and add more test cases 2018-05-22 13:01:19 +08:00
Feng Lee
bf253ab9b3 Support batch delete 2018-05-10 22:03:59 +08:00
Feng Lee
c11e8f453b Add test cases for MQTT 5.0 frame 2018-05-09 00:42:41 +08:00
Feng Lee
31bc091873 Implement MQTT Version 5.0 client 2018-05-06 17:45:18 +08:00
Feng Lee
1fe28a7aef Update merge_opts/2 function 2018-04-30 12:36:17 +08:00
Feng Lee
1630f7c9b8 Add validate/1 function 2018-04-30 12:33:29 +08:00
Feng Lee
dc7804a2dc Support MQTT Version 5.0 Client 2018-04-30 12:27:39 +08:00
Feng Lee
16426346bb Fix whitespace 2018-04-24 17:31:31 +08:00
Feng Lee
2a4ffc6645 Add more service modules for MQTT Version 5.0 2018-04-18 16:34:23 +08:00
Feng Lee
bbb66ff92e Refactor the broker, router modules 2018-04-10 18:17:07 +08:00
Feng Lee
bcdcb30af5 Merge branch 'emqx30' of github.com:emqtt/emqttd into emqx30 2018-04-09 14:32:58 +08:00
Feng Lee
a902f508b5 Use emqx_config:get_env/1 to read env 2018-04-09 14:32:49 +08:00
Feng Lee
c194e82807 Export dispatch/2, dispatch/3 for RPC 2018-04-09 14:31:34 +08:00
Feng Lee
71acf91ace Replace lager with emqx_log 2018-04-09 12:34:53 +08:00
Feng Lee
5f32f3c560 Pass the paho interoperability tests 2018-04-08 16:37:30 +08:00
Feng Lee
bfb23ff0b2 Improve the design of MQTT session management 2018-04-08 15:16:05 +08:00
Feng Lee
39548cc399 Improve the session management 2018-04-04 15:28:01 +08:00
Feng Lee
6459481024 Add multicall/4 function 2018-04-03 20:22:01 +08:00
Feng Lee
2eed46310c Misc fix for the MQTT Version 5.0 2018-03-30 17:18:08 +08:00
Feng Lee
9976327c8d Add emqx_mqtt module 2018-03-23 18:13:09 +08:00
Feng Lee
f007f69abe Update emqx.app.src 2018-03-23 16:45:50 +08:00
Feng Lee
56b88dd7f7 Improve the design of session management 2018-03-23 16:39:23 +08:00
Feng Lee
282e341433 EMQ X R3.0 - Improve the design of pubsub and router 2018-03-21 16:48:52 +08:00
Feng Lee
f218c6a35d Add a locker module 2018-03-10 13:28:14 +08:00
Feng Lee
22350f9117 Depends on canel-lock library 2018-03-09 13:26:46 +08:00
Feng Lee
6a957e1b33 Support MQTT Version 5.0 2018-03-02 20:18:27 +08:00
Feng Lee
d7eae533ac Merge the emqx-mqtt5 library 2018-02-28 21:22:39 +08:00
Feng Lee
f7f0f27e4d Parse and serialize MQTT 5.0 protocol packets 2018-02-27 23:45:55 +08:00
Feng Lee
a8aeb5ac17 Rename the 'mqtt_route' record to 'route' 2018-02-27 09:13:14 +08:00
Feng Lee
f4fd6efe16 Merge the emqx-common, emqx-router libraries 2018-02-26 23:29:53 +08:00
Feng Lee
d5893ba2be Replace gen_server2 with gen_server for we cannot trace the size of drain queue 2018-02-26 13:24:29 +08:00
Feng Lee
fcb2ec8427 Merge the latest enterprise branch 2018-02-24 15:56:32 +08:00
Feng Lee
b63c34ab14 Merge the latest master branch 2018-02-24 11:27:09 +08:00
Feng Lee
a22e225e67
Merge pull request #1475 from HJianBo/develop
Fix #1473 for supporting special chars in URL path
2018-01-28 15:32:56 +08:00
Feng Lee
707d338b0e
Merge branch 'develop' into ws-proxy 2018-01-28 15:11:08 +08:00
HeeeJianBo
3146cdda92 Fix #1473 for supporting special chars in URL path 2018-01-28 14:25:41 +08:00
Feng Lee
0f717e5b3b Merge branch 'develop' of github.com:emqtt/emqttd into develop 2018-01-23 11:10:27 +08:00
Feng Lee
701c632e07 Fix issue #1461 - keep the retain flag for new subscription 2018-01-23 11:09:42 +08:00
Feng Lee
a3e97f798b Update Copyright to 2018 2018-01-16 08:57:46 +08:00
Feng Lee
56195670c6 Misc fix 2018-01-12 10:45:36 +08:00
Feng Lee
bfa9fc675c
Merge pull request #1420 from HJianBo/issue_1216
Fix issue #1216
2018-01-07 14:02:54 +08:00
Feng Lee
fdc55de509 Change the type of 'mqtt.bridge.ping_down_interval' to ms duration 2018-01-04 16:09:45 +08:00
Feng Lee
86fc80b983 Change the type of 'mqtt.broker.sys_interval' to ms duration 2018-01-04 16:09:10 +08:00
turtled
0a7e93ea90 Export funtion fix #1428 2018-01-03 10:29:51 +08:00
turtled
ad26eff421 Format print log 2018-01-03 10:27:51 +08:00
HeeeJianBo
5fbbff46b1 Fix issue #1216, redeliver pubrel packet now 2017-12-28 17:57:32 +08:00
Feng Lee
953a7628a3 Version 2.3.3 2017-12-28 11:34:29 +08:00
HeeeJianBo
4c8b43e05d Improve impletament of emqttd_topic:match/2 2017-12-27 15:11:55 +08:00
HeeeJianBo
d5c54276e2 Fix issue #1398 2017-12-27 14:55:36 +08:00
Feng Lee
bcec25092b Merge version 2.3.2 to X edition 2017-12-26 21:09:24 +08:00
Feng Lee
db954aeb6d Support X.509 certificate based authentication with HAProxy 2017-12-15 19:23:50 +08:00
Feng Lee
6f64eb469c Remove emqttd_ssl.erl 2017-12-07 17:58:24 +08:00
Feng Lee
b98007659e Merge the master branch 2017-12-07 17:57:18 +08:00
Feng Lee
73836939c8 Support for TLS with client certificate based authentication 2017-12-07 17:42:32 +08:00
Feng Lee
6e5134a8b2 Merge with the enterprise edition 2017-12-07 16:24:48 +08:00
Feng Lee
f1640f5b85 Merge emq24 to X branch 2017-12-07 11:02:44 +08:00
Feng Lee
9f1c3a5899 Compatible with esockd 4.x 2017-12-06 14:42:26 +08:00
turtled
bcf345efbe Fix compile fail 2017-12-06 10:27:55 +08:00
turtled
ddf2965651 Rm emqttd.app.src 2017-12-06 10:26:19 +08:00
turtled
24f05adb1a Fix compile fail 2017-12-06 10:19:46 +08:00
Feng Lee
c3c5589452 Version 2.3.2 2017-12-06 10:01:42 +08:00