]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix for #628: fix rpz-passthru for qname trigger by localzone type.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 16 Feb 2022 08:51:25 +0000 (09:51 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 16 Feb 2022 08:51:25 +0000 (09:51 +0100)
doc/Changelog
services/rpz.c
testdata/rpz_passthru.rpl

index 7dea5002e7d85c3f188c4ebe6a41d4de9bec0386..00d65d283828b2b2cdf3b01c9326a70362ce94e8 100644 (file)
@@ -1,3 +1,6 @@
+16 February 2022: Wouter
+       - Fix for #628: fix rpz-passthru for qname trigger by localzone type.
+
 15 February 2022: Wouter
        - Fix #628: A rpz-passthru action is not ending RPZ zone processing.
 
index 2d8b06922d209bd1788952909f6ffdb0c9b51a35..309fda22f9489bbf00f921d8213b406bb99c816b 100644 (file)
@@ -2374,7 +2374,8 @@ rpz_callback_from_worker_request(struct auth_zones* az, struct module_env* env,
        } else {
                lzt = rpz_action_to_localzone_type(r->action_override);
        }
-       if(r->action_override == RPZ_PASSTHRU_ACTION) {
+       if(r->action_override == RPZ_PASSTHRU_ACTION ||
+               lzt == local_zone_always_transparent /* RPZ_PASSTHRU_ACTION */) {
                *passthru = 1;
        }
 
index cc7a6af89207b081ab8cf0afbe3d407f1f796226..5c8557547692804ef1601d2a60cb41768bbd59b4 100644 (file)
@@ -23,6 +23,22 @@ c.a  TXT     "local data 1st zone"
 d.a    A 127.0.0.1
 TEMPFILE_END
 
+rpz:
+       name: "wl.example.com."
+       rpz-log: yes
+       rpz-log-name: "wl.example.com"
+       zonefile:
+TEMPFILE_NAME wl.example.com
+TEMPFILE_CONTENTS wl.example.com
+$ORIGIN example.com.
+wl     3600    IN      SOA     ns1.wl.example.com. hostmaster.wl.example.com. (
+               1379078166 28800 7200 604800 7200 )
+       3600    IN      NS      ns1.wl.example.com.
+       3600    IN      NS      ns2.wl.example.com.
+$ORIGIN wl.example.com.
+e.a    CNAME rpz-passthru.
+TEMPFILE_END
+
 rpz:
        name: "rpz2.example.com."
        rpz-log: yes
@@ -72,6 +88,16 @@ d.a. IN A
 SECTION ANSWER
 d.a. IN A 1.2.3.4
 ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+e.a. IN A
+SECTION ANSWER
+e.a. IN A 1.2.3.4
+ENTRY_END
 RANGE_END
 
 STEP 10 QUERY ADDRESS 192.0.5.1
@@ -108,4 +134,21 @@ SECTION ANSWER
 d.a. IN A 1.2.3.4
 ENTRY_END
 
+STEP 30 QUERY ADDRESS 192.0.2.1
+ENTRY_BEGIN
+REPLY RD
+SECTION QUESTION
+e.a.   IN      A
+ENTRY_END
+
+STEP 31 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA NOERROR
+SECTION QUESTION
+e.a.   IN      A
+SECTION ANSWER
+e.a. IN A 1.2.3.4
+ENTRY_END
+
 SCENARIO_END