]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Drop SIGUSR2 cache stats handler main
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 29 Apr 2026 21:07:23 +0000 (21:07 +0000)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 3 Jun 2026 16:50:29 +0000 (16:50 +0000)
The same counters are now available over the auth-master UNIX socket
via 'doveadm auth cache status', which doesn't require log access and
doesn't reset the counters as a side effect. Drop the SIGUSR2 handler.

src/auth/auth-cache.c

index bd5cdcc7771046a14d07d6da57230027ec1ded61..a481261d44d68817e641782f9879be60354ae773 100644 (file)
@@ -2,7 +2,6 @@
 
 #include "auth-common.h"
 #include "array.h"
-#include "lib-signals.h"
 #include "hash.h"
 #include "str.h"
 #include "strescape.h"
@@ -202,35 +201,6 @@ auth_cache_node_destroy(struct auth_cache *cache, struct auth_cache_node *node)
        i_free(node);
 }
 
-static void sig_auth_cache_stats(const siginfo_t *si ATTR_UNUSED, void *context)
-{
-       struct auth_cache *cache = context;
-       unsigned int total_count;
-       size_t cache_used;
-
-       total_count = cache->hit_count + cache->miss_count;
-       e_info(cache->event, "Authentication cache hits %u/%u (%u%%)",
-              cache->hit_count, total_count,
-              total_count == 0 ? 100 : (cache->hit_count * 100 / total_count));
-
-       e_info(cache->event, "Authentication cache inserts: "
-              "positive: %u entries %llu bytes, "
-              "negative: %u entries %llu bytes",
-              cache->pos_entries, cache->pos_size,
-              cache->neg_entries, cache->neg_size);
-
-       cache_used = cache->max_size - cache->size_left;
-       e_info(cache->event, "Authentication cache current size: "
-              "%zu bytes used of %zu bytes (%u%%)",
-              cache_used, cache->max_size,
-              (unsigned int)(cache_used * 100ULL / cache->max_size));
-
-       /* reset counters */
-       cache->hit_count = cache->miss_count = 0;
-       cache->pos_entries = cache->neg_entries = 0;
-       cache->pos_size = cache->neg_size = 0;
-}
-
 struct auth_cache *auth_cache_new(size_t max_size, unsigned int ttl_secs,
                                  unsigned int neg_ttl_secs
 )
@@ -245,8 +215,6 @@ struct auth_cache *auth_cache_new(size_t max_size, unsigned int ttl_secs,
        cache->neg_ttl_secs = neg_ttl_secs;
        cache->event = event_create(auth_event);
 
-       lib_signals_set_handler(SIGUSR2, LIBSIG_FLAGS_SAFE,
-                               sig_auth_cache_stats, cache);
        return cache;
 }
 
@@ -255,7 +223,6 @@ void auth_cache_free(struct auth_cache **_cache)
        struct auth_cache *cache = *_cache;
 
        *_cache = NULL;
-       lib_signals_unset_handler(SIGUSR2, sig_auth_cache_stats, cache);
 
        auth_cache_clear(cache);
        hash_table_destroy(&cache->hash);