Skip to content

Releases: awslabs/aws-c-mqtt

Crash fix related to request pool, Rhel5 build fixes, and allowing s2n to auto-detect Post Quantum Assembly support

07 May 15:29
45e054d
Compare
Choose a tag to compare
v0.4.31

Adding mutex for requests pool, adding mutex lock for outstanding req…

Proxy connect crash fix

13 Mar 23:07
b578a68
Compare
Choose a tag to compare
Pre-release

Fixes a crash when connecting to a proxy with basic authentication

Updates for read-back pressure

10 Mar 17:33
414d39d
Compare
Choose a tag to compare
Pre-release
v0.4.29

Updated server mock tests to be compatible with aws-c-io api changes.…

Fix shutdown crash

20 Feb 00:06
5ed5ee0
Compare
Choose a tag to compare
Fix shutdown crash Pre-release
Pre-release
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

18 Feb 23:13
e10660d
Compare
Choose a tag to compare
Pre-release
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.

14 Feb 20:07
b21808e
Compare
Choose a tag to compare
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

11 Feb 01:32
cd0217d
Compare
Choose a tag to compare
Stats and other fixes Pre-release
Pre-release
Stat (#96)

* Base statistics gathering and monitoring

Fix cmake config template

28 Jan 21:40
4d22db8
Compare
Choose a tag to compare
Pre-release
v0.4.24

Fix cmake config template. (#118)

Make build friendly to in-source builds.

03 Jan 00:57
9895e4d
Compare
Choose a tag to compare
v0.4.23

enabled in-source build. (#117)

Fix secondary leak from not cleaning up failed websocket requests.

13 Dec 03:59
c6544b6
Compare
Choose a tag to compare
Release web socket request in the correct place this time. (#115)

* move the websocket request clean up to websocket setup completion