Implement asynchronous view matching for SIG(0)-signed queries

View matching on an incoming query checks the query's signature,
which can be a CPU-heavy task for a SIG(0)-signed message. Implement
an asynchronous mode of the view matching function which uses the
offloaded signature checking facilities, and use it for the incoming
queries.
This commit is contained in:
Aram Sargsyan
2024-05-08 18:42:48 +00:00
committed by Nicki Křížek
parent 710bf9b938
commit f0cde05e06
6 changed files with 368 additions and 132 deletions

View File

@@ -58,15 +58,21 @@ ns_server_t *sctx = NULL;
static isc_result_t
matchview(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr,
dns_message_t *message, dns_aclenv_t *env, ns_server_t *lsctx,
isc_result_t *sigresultp, dns_view_t **viewp) {
isc_loop_t *loop, isc_job_cb cb, void *cbarg,
isc_result_t *sigresultp, isc_result_t *viewmatchresultp,
dns_view_t **viewp) {
UNUSED(srcaddr);
UNUSED(destaddr);
UNUSED(message);
UNUSED(env);
UNUSED(lsctx);
UNUSED(loop);
UNUSED(cb);
UNUSED(cbarg);
UNUSED(sigresultp);
UNUSED(viewp);
*viewmatchresultp = ISC_R_NOTIMPLEMENTED;
return (ISC_R_NOTIMPLEMENTED);
}