tinyMQTT
tinyMQTT copied to clipboard
c实现的 MQTT 3.1.1 协议broker和client,支持 qos 0,1,2 消息、ACL 权限控制,支持 mongodb 消息存储。正在实现集群支持
目前我在嵌入式的设备上使用您的tinyMQTT,非常好用! 当时我想找一个轻量级的broker在资源受限的平台上跑,费了好大功夫才找到您的作品,给我提供了很大帮助,非常感谢。 但是我在使用时发现了一些点: 1. 对于所有的消息都认为是字符串 有些场景我需要把结构体直接通过mqtt发出去,因此我需要发送的参数需要为首地址+长度,而不是字符串,而项目里并没有提供带长度的发送接口。我自己对此进行了修改,增加了带长度的发布接口和接收回调。在目前我的使用场景下没有问题,但是不确定是否有其他方面的问题,还是希望本身可以提供。 2. 希望提供poll或者select的兼容 broker运行的系统使用的内核是支持epoll的,但是有些client所运行的系统是不支持epoll的,只有poll和select。目前我采取的方式是使用其他的mqtt client,没有用这个项目自带的mqtt client。我尝试对epoll的部分进行修改,但是没有成功,希望可以在编译选项中提供poll和epoll的切换,这样就可以统一管理了 3. 提供功能裁剪 我实际使用的版本commit号是a98ee48ea6e270d33d8ab17e53e9382fc8f7ad33,并在这个版本上进行的二次开发。轻量级的平台上并不需要集群、持久化等功能,但是我也不知道后续的版本是否修复了什么bug,更希望在cmake里提供裁剪选项
你好,在broker里发现一个问题,该输入可以触发broker崩溃。 ```bash echo 101b00044d5154540402003c000f746573745f345f375f335f3273756232080003313100000133| xxd -p -r | nc 127.0.0.1 1883 ``` 
1.build完之后tinymqtt.conf配置了读取pwd.conf,提示打开失败 2.创建pwd.conf文件,还是打开失败 3.只能注释配置 #password_file=pwd.conf 4.这个时候就正常了 5.看了源码感觉没问题,不知道哪里出错
mqtt5.0希望支持一下
When I successfully complie and run the broker, many memory leaks occurs:
Hi, we've identified several potential protocol violations in the tinyMQTT implementation. We have compiled our findings into a detailed report below, which we hope you will find helpful. Please let...
Hi,JustDoIt0910!I found two bugs in tinyMQTT # Memory-Leak in tinymqtt ## Describe the Bug TinyMQTT’s parse_subscribe_packet does not validate that topic filters are well-formed UTF-8 strings per MQTT v3.1.1 [MQTT-3.8.3-1]....