diff options
author | Renato Botelho <garga@FreeBSD.org> | 2014-12-05 16:20:34 -0200 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2014-12-05 16:20:34 -0200 |
commit | 6d744cc842058a2ff35c82700cce71a2f5eaae41 (patch) | |
tree | 2238218800d17fe2968ac52ccdd86027b0bb4c4b /etc | |
parent | 8da00522eab811be29823223c93c9764f72a21bc (diff) | |
download | pfsense-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-x | etc/rc.newwanip | 15 |
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(); - ?> |