From: Vladimír Čunát Date: Thu, 19 Jan 2017 10:00:01 +0000 (+0100) Subject: better libknot-2.4 fixup X-Git-Tag: v1.2.0-rc2~2^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b4def593d6546066c2b22501b9fb22ad7af83fe2;p=thirdparty%2Fknot-resolver.git better libknot-2.4 fixup --- diff --git a/lib/utils.c b/lib/utils.c index 4c196a067..76e01b7e6 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "lib/defines.h" #include "lib/utils.h" @@ -509,9 +510,17 @@ char *kr_module_call(struct kr_context *ctx, const char *module, const char *pro void kr_rrset_print(const knot_rrset_t *rr) { +#if KNOT_VERSION_HEX < ((2 << 16) | (4 << 8)) char rrtext[KNOT_DNAME_MAXLEN * 2] = {0}; knot_rrset_txt_dump(rr, rrtext, sizeof(rrtext), &KNOT_DUMP_STYLE_DEFAULT); printf("%s", rrtext); +#else + size_t size = 4000; + char *rrtext = malloc(size); + knot_rrset_txt_dump(rr, &rrtext, &size, &KNOT_DUMP_STYLE_DEFAULT); + printf("%s", rrtext); + free(rrtext); +#endif } void kr_pkt_print(knot_pkt_t *pkt) diff --git a/modules/cookies/cookiemonster.c b/modules/cookies/cookiemonster.c index fcc0489f2..92c170d8b 100644 --- a/modules/cookies/cookiemonster.c +++ b/modules/cookies/cookiemonster.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -259,7 +260,11 @@ int check_response(kr_layer_t *ctx, knot_pkt_t *pkt) return KR_STATE_FAIL; } +#if KNOT_VERSION_HEX >= ((2 << 16) | (4 << 8)) // just renamed function since 2.4.0 uint16_t rcode = knot_pkt_ext_rcode(pkt); +#else + uint16_t rcode = knot_pkt_get_ext_rcode(pkt); +#endif if (rcode == KNOT_RCODE_BADCOOKIE) { struct kr_query *next = NULL; if (!(qry->flags & QUERY_BADCOOKIE_AGAIN)) { diff --git a/modules/cookies/cookies.mk b/modules/cookies/cookies.mk index 59496bcb6..37c1df2b6 100644 --- a/modules/cookies/cookies.mk +++ b/modules/cookies/cookies.mk @@ -1,8 +1,4 @@ cookies_CFLAGS := -fvisibility=hidden -fPIC -# Compat with libknot < 2.4; the identifier got renamed since 2.4.0. -cookies_CFLAGS += $(shell pkg-config --atleast-version=2.4.0 libknot \ - || echo -Dknot_pkt_ext_rcode=knot_pkt_get_ext_rcode) - cookies_SOURCES := \ modules/cookies/cookiectl.c \ modules/cookies/cookiemonster.c \