diff --git a/ChangeLog.txt b/ChangeLog.txt index da32add2..770a3003 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -80,6 +80,7 @@ Broker: - Add `listener_auto_id_prefix` option. - Add support for systemd watchdog. - Remove support for TLS v1.1. +- Allow seconds when defining persistent_client_expiration. Plugins / plugin interface: - Add persist-sqlite plugin. diff --git a/man/mosquitto.conf.5.xml b/man/mosquitto.conf.5.xml index c6aa7aed..678a8585 100644 --- a/man/mosquitto.conf.5.xml +++ b/man/mosquitto.conf.5.xml @@ -1019,16 +1019,26 @@ log_timestamp_format %Y-%m-%dT%H:%M:%S removed if they do not reconnect within a certain time frame. - The expiration period should be an integer followed - by one of h d w m y for hour, day, week, month and year - respectively. For example: + + The expiration period should be an integer followed + by one of s h d w m y for second, hour, day, week, month and year + respectively. For example: + persistent_client_expiration 2m persistent_client_expiration 14d persistent_client_expiration 1y - As this is a non-standard option, the default if not - set is to never expire persistent clients. + + Although it is possible to specify the expiration time in seconds, this is not a + suggestion that you should use a short expiration interval. If you have a system + where you think the clients should be automatically expired in a short time you + should see about fixing the clients instead where possible. + + + As this is a non-standard option, the default if not + set is to never expire persistent clients. + This option applies globally. diff --git a/src/conf.c b/src/conf.c index d62c0864..383c679a 100644 --- a/src/conf.c +++ b/src/conf.c @@ -2090,6 +2090,9 @@ static int config__read_file_core(struct mosquitto__config *config, bool reload, time_t expiration_mult; switch(token[strlen(token)-1]){ + case 's': + expiration_mult = 1; + break; case 'h': expiration_mult = 3600; break;