summaryrefslogtreecommitdiff
path: root/libunbound
diff options
context:
space:
mode:
Diffstat (limited to 'libunbound')
-rw-r--r--libunbound/libworker.c3
-rw-r--r--libunbound/unbound.h7
2 files changed, 9 insertions, 1 deletions
diff --git a/libunbound/libworker.c b/libunbound/libworker.c
index b42ba0bd8e78..f6a1d1d1c47b 100644
--- a/libunbound/libworker.c
+++ b/libunbound/libworker.c
@@ -294,6 +294,7 @@ libworker_do_cmd(struct libworker* w, uint8_t* msg, uint32_t len)
log_err("unknown command for bg worker %d",
(int)context_serial_getcmd(msg, len));
/* and fall through to quit */
+ /* fallthrough */
case UB_LIBCMD_QUIT:
free(msg);
comm_base_exit(w->base);
@@ -749,7 +750,7 @@ libworker_bg_done_cb(void* arg, int rcode, sldns_buffer* buf, enum sec_status s,
{
struct ctx_query* q = (struct ctx_query*)arg;
- if(q->cancelled) {
+ if(q->cancelled || q->w->back->want_to_quit) {
if(q->w->is_bg_thread) {
/* delete it now */
struct ub_ctx* ctx = q->w->ctx;
diff --git a/libunbound/unbound.h b/libunbound/unbound.h
index d7667d104a0e..ac747a7cc6cc 100644
--- a/libunbound/unbound.h
+++ b/libunbound/unbound.h
@@ -622,6 +622,7 @@ struct ub_shm_stat_info {
long long subnet;
long long ipsecmod;
long long respip;
+ long long dnscrypt_shared_secret;
} mem;
};
@@ -704,6 +705,8 @@ struct ub_server_stats {
long long ans_bogus;
/** rrsets marked bogus by validator */
long long rrset_bogus;
+ /** number of queries that have been ratelimited by domain recursion. */
+ long long queries_ratelimited;
/** unwanted traffic received on server-facing ports */
long long unwanted_replies;
/** unwanted traffic received on client-facing ports */
@@ -735,6 +738,10 @@ struct ub_server_stats {
long long num_query_dnscrypt_cleartext;
/** number of malformed encrypted queries */
long long num_query_dnscrypt_crypted_malformed;
+ /** number of queries which did not have a shared secret in cache */
+ long long num_query_dnscrypt_secret_missed_cache;
+ /** number of dnscrypt shared secret cache entries */
+ long long shared_secret_cache_count;
};
/**