Regression #14415
Updated by Jim Pingle over 2 years ago
Enabling "Enable IPv6 over IPv4 tunneling" on @system_advanced_network.php@ results in an invalid pf rule, leading to a ruleset error:
<pre>
There were error(s) loading the rules: /tmp/rules.debug:59: syntax error - The line in question reads [59]: rdr on $WAN proto ipv6 from any to any ->
@ 2023-05-25 10:07:58
</pre>
The line in question is invalid as it lacks a destination:
<pre>
59:rdr on $WAN proto ipv6 from any to any ->
</pre>
The target system is in the config.xml and shows on @system_advanced_network.php@ but it isn't making it into the ruleset.
It appears to be due to one variable missing a letter in @filter.inc@:
<pre><code class="diff">
diff --git a/src/etc/inc/filter.inc b/src/etc/inc/filter.inc
index 7063798529..255af0903c 100644
--- a/src/etc/inc/filter.inc
+++ b/src/etc/inc/filter.inc
@@ -2490,7 +2490,7 @@ function filter_nat_rules_generate() {
(is_ipaddr($ipv6nataddr)) &&
(is_array($FilterIflist['wan']))) {
/* XXX: FIX ME! IPV6 */
- $natrules .= "rdr on \${$FilterIflist['wan']['descr']} proto ipv6 from any to any -> {$pv6nataddr}\n";
+ $natrules .= "rdr on \${$FilterIflist['wan']['descr']} proto ipv6 from any to any -> {$ipv6nataddr}\n";
}
unlink_if_exists("{$g['varetc_path']}/xinetd.conf");
</code></pre>
This affects both 23.05 and 23.01.