summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2014-12-05 16:20:34 -0200
committerRenato Botelho <garga@FreeBSD.org>2014-12-05 16:20:34 -0200
commit6d744cc842058a2ff35c82700cce71a2f5eaae41 (patch)
tree2238218800d17fe2968ac52ccdd86027b0bb4c4b /etc
parent8da00522eab811be29823223c93c9764f72a21bc (diff)
downloadpfsense-6d744cc842058a2ff35c82700cce71a2f5eaae41.zip
pfsense-6d744cc842058a2ff35c82700cce71a2f5eaae41.tar.gz
Fix #4066:
Make sure pf is configured before other services are restarted when WAN IP changes. The way it was before, 'pass out' rules with route-to still have old IP set as 'from' and some Dynamic DNS ended up not being updated.
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.newwanip15
1 files changed, 12 insertions, 3 deletions
diff --git a/etc/rc.newwanip b/etc/rc.newwanip
index 28b7090..864d987 100755
--- a/etc/rc.newwanip
+++ b/etc/rc.newwanip
@@ -197,6 +197,15 @@ if (!is_ipaddr($oldip) || $curwanip != $oldip || !is_ipaddrv4($config['interface
}
}
+ /*
+ * XXX: Some services (e.g. dyndns, see ticket #4066) depends of
+ * filter_configure() to be called before, otherwise pass out
+ * route-to rules have the old ip set in 'from' and connection
+ * do not go through correct link
+ */
+ filter_configure();
+ sleep(1);
+
/* reconfigure static routes (kernel may have deleted them) */
system_routing_configure($interface);
@@ -229,9 +238,9 @@ if (!is_ipaddr($oldip) || $curwanip != $oldip || !is_ipaddrv4($config['interface
services_snmpd_configure();
restart_packages();
+} else {
+ /* signal filter reload */
+ filter_configure();
}
-/* signal filter reload */
-filter_configure();
-
?>
OpenPOWER on IntegriCloud