summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-07-06 00:37:49 -0500
committerChris Buechler <cmb@pfsense.org>2016-07-06 00:37:49 -0500
commite55810246439f22523cfd13846749aae34c3b700 (patch)
tree949db1c8993531db81844c921ee4a252286cecbf /src
parent42d9ae11df5f8bb548f9468c041b8030c175c208 (diff)
downloadpfsense-e55810246439f22523cfd13846749aae34c3b700.zip
pfsense-e55810246439f22523cfd13846749aae34c3b700.tar.gz
Leave an empty file for URL Table aliases that return an empty file, and include it in the ruleset regardless so it doesn't generate any filter errors. Ticket #6181
Diffstat (limited to 'src')
-rw-r--r--src/etc/inc/pfsense-utils.inc2
-rw-r--r--src/etc/inc/util.inc6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/etc/inc/pfsense-utils.inc b/src/etc/inc/pfsense-utils.inc
index 7f7fa9b..5f38101 100644
--- a/src/etc/inc/pfsense-utils.inc
+++ b/src/etc/inc/pfsense-utils.inc
@@ -2421,6 +2421,8 @@ function process_alias_urltable($name, $type, $url, $freq, $forceupdate=false, $
}
if (is_array($parsed_contents)) {
file_put_contents($urltable_filename, implode("\n", $parsed_contents));
+ } else {
+ touch($urltable_filename);
}
/* If this backup is still there on a full install, but we aren't going to use ram disks, remove the archive since this is a transition. */
diff --git a/src/etc/inc/util.inc b/src/etc/inc/util.inc
index d41a79b..c83fd9c 100644
--- a/src/etc/inc/util.inc
+++ b/src/etc/inc/util.inc
@@ -1776,7 +1776,11 @@ function alias_expand_urltable($name) {
if (is_array($config['aliases']['alias'])) {
foreach ($config['aliases']['alias'] as $alias) {
if (preg_match("/urltable/i", $alias['type']) && ($alias['name'] == $name)) {
- if (is_URL($alias["url"]) && file_exists($urltable_filename) && filesize($urltable_filename)) {
+ if (is_URL($alias["url"]) && file_exists($urltable_filename)) {
+ if (!filesize($urltable_filename)) {
+ // file exists, but is empty, try to sync
+ send_event("service sync alias {$name}");
+ }
return $urltable_filename;
} else {
send_event("service sync alias {$name}");
OpenPOWER on IntegriCloud