You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1575668662: New client connected from 127.0.0.1 as def (p5, c0, k60).
1575668662: No will message specified.
1575668662: Sending CONNACK to def (1, 0)
1575668662: Received SUBSCRIBE from def
1575668662: # (QoS 0)
1575668662: def 0 #
1575668662: Sending SUBACK to def
1575668662: Received DISCONNECT from def
1575668662: Client def disconnected.
1575668668: Expiring client def due to timeout.
1575668867: New client connected from 127.0.0.1 as abc (p5, c0, k60).
1575668867: No will message specified.
1575668867: Sending CONNACK to abc (1, 0)
1575668867: Received SUBSCRIBE from abc
1575668867: # (QoS 0)
1575668867: abc 0 #
1575668867: Sending SUBACK to abc
1575668868: Received DISCONNECT from abc
1575668868: Client abc disconnected.
1575668871: New connection from 127.0.0.1 on port 1883.
1575668871: New client connected from 127.0.0.1 as def (p5, c0, k60).
1575668871: No will message specified.
1575668871: Sending CONNACK to def (0, 0)
1575668871: Received SUBSCRIBE from def
1575668871: # (QoS 0)
1575668871: def 0 #
1575668871: Sending SUBACK to def
1575668872: Received DISCONNECT from def
1575668872: Client def disconnected.
...
NO EXPIRING HAPPENING HERE
session_expiry.c
uses an ordered list to check periodically for expired sessions.The list is supposed to be ordered by
session_expiry_time
.The
cmp
function used does return an int, but subtracts two UINT32s, which does not givethe expected result if the operands are very different.
Example:
unsigned
4294967295 - 3 = 4294967292
, converted to in int is-4
Reproduce:
mosquitto_sub -t '#' -v -d -i def -c -D connect session-expiry-interval 5
mosquitto_sub -t '#' -v -d -i abc-c -D connect session-expiry-interval 4294967295
mosquitto_sub -t '#' -v -d -i def -c -D connect session-expiry-interval 5
because it
The text was updated successfully, but these errors were encountered: