From b3d116c299722ed7b27550744fff789a61ad3d2b Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Thu, 10 Jan 2013 19:57:21 -0800 Subject: [PATCH] [master] fixed clientinfo version check 3466. [contrib] Corrected the DNS_CLIENTINFOMETHODS_VERSION check in DLZ example driver. [RT #32275] --- CHANGES | 3 +++ bin/tests/system/dlzexternal/driver.c | 8 +++++--- contrib/dlz/example/Makefile | 2 +- contrib/dlz/example/dlz_example.c | 8 +++++--- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index da861f06b8..c1b9b1858b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3466. [contrib] Corrected the DNS_CLIENTINFOMETHODS_VERSION check + in DLZ example driver. [RT #32275] + 3465. [bug] Handle isolated reserved ports. [RT #31778] 3464. [maint] Updates to PKCS#11 openssl patches, supporting diff --git a/bin/tests/system/dlzexternal/driver.c b/bin/tests/system/dlzexternal/driver.c index ddc658903c..5845e161f3 100644 --- a/bin/tests/system/dlzexternal/driver.c +++ b/bin/tests/system/dlzexternal/driver.c @@ -329,7 +329,8 @@ dlz_findzonedb(void *dbdata, const char *name, strcpy(addrbuf, "unknown"); if (methods != NULL && methods->sourceip != NULL && - methods->version - methods->age >= DNS_CLIENTINFOMETHODS_VERSION) + methods->version - methods->age <= DNS_CLIENTINFOMETHODS_VERSION && + DNS_CLIENTINFOMETHODS_VERSION <= methods->version) { methods->sourceip(clientinfo, &src); fmt_address(src, addrbuf, sizeof(addrbuf)); @@ -398,8 +399,9 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, strcpy(buf, "unknown"); if (methods != NULL && methods->sourceip != NULL && - methods->version - methods->age >= - DNS_CLIENTINFOMETHODS_VERSION) + (methods->version - methods->age <= + DNS_CLIENTINFOMETHODS_VERSION) && + DNS_CLIENTINFOMETHODS_VERSION <= methods->version) { methods->sourceip(clientinfo, &src); fmt_address(src, buf, sizeof(buf)); diff --git a/contrib/dlz/example/Makefile b/contrib/dlz/example/Makefile index b8509aaf11..5e84043fa6 100644 --- a/contrib/dlz/example/Makefile +++ b/contrib/dlz/example/Makefile @@ -5,7 +5,7 @@ # this means this Makefile is not portable, so the testsuite # skips this test on platforms where it doesn't build -CFLAGS=-fPIC -g +CFLAGS=-Wall -fPIC -g all: dlz_example.so diff --git a/contrib/dlz/example/dlz_example.c b/contrib/dlz/example/dlz_example.c index 021007d83e..0212f884f3 100644 --- a/contrib/dlz/example/dlz_example.c +++ b/contrib/dlz/example/dlz_example.c @@ -317,7 +317,8 @@ dlz_findzonedb(void *dbdata, const char *name, strcpy(addrbuf, "unknown"); if (methods != NULL && methods->sourceip != NULL && - methods->version - methods->age >= DNS_CLIENTINFOMETHODS_VERSION) + methods->version - methods->age <= DNS_CLIENTINFOMETHODS_VERSION && + DNS_CLIENTINFOMETHODS_VERSION <= methods->version) { methods->sourceip(clientinfo, &src); fmt_address(src, addrbuf, sizeof(addrbuf)); @@ -388,8 +389,9 @@ dlz_lookup(const char *zone, const char *name, void *dbdata, strcpy(buf, "unknown"); if (methods != NULL && methods->sourceip != NULL && - methods->version - methods->age >= - DNS_CLIENTINFOMETHODS_VERSION) + (methods->version - methods->age <= + DNS_CLIENTINFOMETHODS_VERSION) && + DNS_CLIENTINFOMETHODS_VERSION <= methods->version) { methods->sourceip(clientinfo, &src); fmt_address(src, buf, sizeof(buf));