Releases: awslabs/aws-c-mqtt
Releases · awslabs/aws-c-mqtt
Crash fix related to request pool, Rhel5 build fixes, and allowing s2n to auto-detect Post Quantum Assembly support
Pre-release
v0.4.31 Adding mutex for requests pool, adding mutex lock for outstanding req…
Proxy connect crash fix
Fixes a crash when connecting to a proxy with basic authentication
Updates for read-back pressure
v0.4.29 Updated server mock tests to be compatible with aws-c-io api changes.…
Fix shutdown crash
Fix crash-on-shutdown due to double-free (#125) Changed MQTT channel-handler so it completes its shutdown after sending disconnect packet. It no longer waits until the disconnect packet finishes writing. This behavior was resulting in a double-free in the TLS channel handler. The bug worked like this: 1) MQTT sends aws_io_message with disconnect in it, the message's write-complete callback will cause MQTT to say it's done shutting down. 2) TLS receives messages and completes it synchronously. MQTT immediately finishes its own shutdown. TLS finishes its own shutdown and frees ALL of its memory. Callstack looks like this: `MQTT shutdown() -> send aws_io_message -> TLS encrypt message -> TLS encrypt complete cb -> aws_io_message complete cb -> MQTT finish shutdown -> TLS finish shutdown and free ALL its memory` But then we pop our way down the callstack until we're back in the "TLS encrypt complete cb", which goes to free some memory it used to encrypt the message. BUT TLS has already deleted ALL its memory. Double free. 💣 It should be the duty of TLS and Socket handlers to finish writing queued messages before completing their shutdown anyway. MQTT shouldn't have needed to wait.
Lower default MQTT keep-alive time
Lower default MQTT keep-alive. (#123) AWS IoT maxes out at (and defaults to) 1200 seconds, so let's use that.
Timeouts on receiving CONNACK, memory management fixes, better testing of connections.
Pre-release
Connection testing harness (#119) Connection State Management testing harness connection state tests bug fixes for memory cleanup on error conditions added timeout for receiving CONNACK on a connection.
Stats and other fixes
Stat (#96) * Base statistics gathering and monitoring
Fix cmake config template
v0.4.24 Fix cmake config template. (#118)
Make build friendly to in-source builds.
v0.4.23 enabled in-source build. (#117)
Fix secondary leak from not cleaning up failed websocket requests.
Release web socket request in the correct place this time. (#115) * move the websocket request clean up to websocket setup completion