Activity log for bug #880863

Date Who What changed Old value New value Message
2011-10-24 13:45:27 Rob Pridham bug added bug
2011-10-24 13:48:50 Rob Pridham description I use the Mosquitto C library as a client, and the Mosquitto server as the broker, both version 0.13. When I set the client keepalive to a higher than standard number, e.g. 20 minutes, the server decides that the client has disconnected after 90 seconds. When I set the client keepalive to the default 60 seconds, the client sends PINGRESP before the 90 second period and thus all is well. I added some output to the server code and it receives the keepalive value OK in mqtt3_handle_connect(). However when read back in mosquitto_main_loop (from the database?) it returns 60 seconds again. I use the Mosquitto C library as a client, and the Mosquitto server as the broker, both version 0.13. When I set the client keepalive to a higher than standard number, e.g. 20 minutes, the server decides that the client has disconnected after 90 seconds. When I set the client keepalive to the default 60 seconds, the client sends PINGRESP before the 90 second period and thus all is well. I added some output to the server code and it receives the keepalive value OK in mqtt3_handle_connect(). However when read back in mosquitto_main_loop (from the database?) it returns 60 seconds again. I don't have any persistence options configured beyond the defaults.
2011-10-24 14:01:43 Rob Pridham description I use the Mosquitto C library as a client, and the Mosquitto server as the broker, both version 0.13. When I set the client keepalive to a higher than standard number, e.g. 20 minutes, the server decides that the client has disconnected after 90 seconds. When I set the client keepalive to the default 60 seconds, the client sends PINGRESP before the 90 second period and thus all is well. I added some output to the server code and it receives the keepalive value OK in mqtt3_handle_connect(). However when read back in mosquitto_main_loop (from the database?) it returns 60 seconds again. I don't have any persistence options configured beyond the defaults. I use the Mosquitto C library as a client, and the Mosquitto server as the broker, both version 0.13. When I set the client keepalive to a higher than standard number, e.g. 20 minutes, the server decides that the client has disconnected after 90 seconds. When I set the client keepalive to the default 60 seconds, the client sends PINGRESP before the 90 second period and thus all is well. I added some output to the server code and it receives the keepalive value OK in mqtt3_handle_connect(). However when read back in mosquitto_main_loop (from the database?) it returns 60 seconds again. I don't have any persistence options configured beyond the defaults. Edited to add: it appears to me that in read_handle_server.c, around line 200, the database structure is populated with values but the previously set keepalive is missing, i.e. the addition of the line: db->contexts[i]->core.keepalive = context->core.keepalive; is required.
2011-10-24 16:44:56 Roger Light mosquitto: status New Fix Committed
2011-10-24 16:44:56 Roger Light mosquitto: milestone 0.14
2011-11-21 23:07:51 Roger Light mosquitto: status Fix Committed Fix Released