]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] fixed clientinfo version check
authorEvan Hunt <each@isc.org>
Fri, 11 Jan 2013 03:57:21 +0000 (19:57 -0800)
committerEvan Hunt <each@isc.org>
Fri, 11 Jan 2013 03:57:21 +0000 (19:57 -0800)
3466. [contrib] Corrected the DNS_CLIENTINFOMETHODS_VERSION check
in DLZ example driver. [RT #32275]

CHANGES
bin/tests/system/dlzexternal/driver.c
contrib/dlz/example/Makefile
contrib/dlz/example/dlz_example.c

diff --git a/CHANGES b/CHANGES
index da861f06b83b2f1b13410f0e85b74d545c5b9c76..c1b9b1858b6b701b356fda66f94c12a5c0257734 100644 (file)
--- 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
index ddc658903c73771f915eaf52504f3fd601f8a1da..5845e161f3596453a9087a4daf37925e2ab20ec6 100644 (file)
@@ -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));
index b8509aaf11d27b9a81d548d538c47e5b09e69e18..5e84043fa60f4543da7471b394ff68631a63f6e7 100644 (file)
@@ -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
 
index 021007d83e754c716924cce6c735e01926677a48..0212f884f3b84cf619185e813b5ef019c1db9886 100644 (file)
@@ -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));