From 673c8d2b56b6fe9ec7a3b123739aa5e9afe2f71f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 6 Feb 2024 08:46:34 +0100 Subject: [PATCH] compatibility with libknot's master (3.4 WIP) I'm adding this as a function, as in knot-resolver 6.x we have one more place where it is used, and I find this more readable. --- lib/layer/validate.c | 2 +- lib/utils.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/layer/validate.c b/lib/layer/validate.c index 93f1d4fc6..17f907400 100644 --- a/lib/layer/validate.c +++ b/lib/layer/validate.c @@ -676,7 +676,7 @@ static int rrsig_not_found(const kr_layer_t * const ctx, const knot_pkt_t * cons } /* Add one extra label to cur_top, i.e. descend one level below current zone cut */ const knot_dname_t * const cut_next = rr->owner + - knot_dname_prefixlen(rr->owner, next_depth - 1, NULL); + kr_dname_prefixlen(rr->owner, next_depth - 1); /* Spawn that DS sub-query. */ struct kr_query * const next = kr_rplan_push(&req->rplan, qry, cut_next, diff --git a/lib/utils.h b/lib/utils.h index 1f30e9843..fab13fe82 100644 --- a/lib/utils.h +++ b/lib/utils.h @@ -606,3 +606,14 @@ KR_EXPORT long long kr_fssize(const char *path); /** Simply return de->dname. (useful from Lua) */ KR_EXPORT const char * kr_dirent_name(const struct dirent *de); + +/* trivial libknot versions compatibility */ +static inline size_t kr_dname_prefixlen(const uint8_t *name, unsigned nlabels) +{ + return knot_dname_prefixlen(name, nlabels + #if KNOT_VERSION_HEX < 0x030400 + , NULL + #endif + ); +} + -- 2.47.2