diff --git a/list.php b/list.php
index afb1fb642..9edbdbcbb 100644
--- a/list.php
+++ b/list.php
@@ -45,7 +45,8 @@ function getFullName() {
-
Note that whitelisting domains which are blocked using the wildcard method won't work.
+ Note: Whitelisting a subdomain of a wildcard blocked domain is not possible.
+
diff --git a/scripts/pi-hole/php/queryads.php b/scripts/pi-hole/php/queryads.php
index 55e8f8c24..457e235cb 100644
--- a/scripts/pi-hole/php/queryads.php
+++ b/scripts/pi-hole/php/queryads.php
@@ -6,9 +6,6 @@
* This file is copyright under the latest version of the EUPL.
* Please see LICENSE file for your rights under this license. */
-require "password.php";
-if(!$auth) die("Not authorized");
-
ob_end_flush();
ini_set("output_buffering", "0");
ob_implicit_flush(true);
diff --git a/scripts/pi-hole/php/teleporter.php b/scripts/pi-hole/php/teleporter.php
index 02eacbfca..430928067 100644
--- a/scripts/pi-hole/php/teleporter.php
+++ b/scripts/pi-hole/php/teleporter.php
@@ -7,7 +7,9 @@
* Please see LICENSE file for your rights under this license. */
require "password.php";
-if(!$auth) die("Not authorized");
+if (php_sapi_name() !== "cli") {
+ if(!$auth) die("Not authorized");
+}
require('func.php');
function process_zip($name)
@@ -36,6 +38,22 @@ function add_to_zip($path,$name)
$zip->addFile($path.$name,$name);
}
+function add_dir_to_zip($path)
+{
+ global $zip;
+ if($dir = opendir($path))
+ {
+ while(false !== ($entry = readdir($dir)))
+ {
+ if($entry !== "." && $entry !== "..")
+ {
+ $zip->addFile($path.$entry,$entry);
+ }
+ }
+ closedir($dir);
+ }
+}
+
function check_domains($domains)
{
foreach($domains as $domain)
@@ -67,9 +85,9 @@ function getWildcardListContent() {
return "";
}
-if($_POST["action"] == "in")
+if(isset($_POST["action"]))
{
- if($_FILES["zip_file"]["name"])
+ if($_FILES["zip_file"]["name"] && $_POST["action"] == "in")
{
$filename = $_FILES["zip_file"]["name"];
$source = $_FILES["zip_file"]["tmp_name"];
@@ -122,12 +140,13 @@ function getWildcardListContent() {
}
else
{
- die("No file transmitted.");
+ die("No file transmitted or parameter error.");
}
}
else
{
- $archive_file_name = "/var/www/html/pi-hole-teleporter_".microtime(true).".zip";
+ $filename = "pi-hole-teleporter_".date("Y-m-d_h-i-s").".zip";
+ $archive_file_name = "/var/www/html/".$filename;
$zip = new ZipArchive();
touch($archive_file_name);
$res = $zip->open($archive_file_name, ZipArchive::CREATE | ZipArchive::OVERWRITE);
@@ -140,17 +159,18 @@ function getWildcardListContent() {
add_to_zip("/etc/pihole/","blacklist.txt");
add_to_zip("/etc/pihole/","adlists.list");
add_to_zip("/etc/pihole/","setupVars.conf");
+ add_dir_to_zip("/etc/dnsmasq.d/");
$zip->addFromString("wildcardblocking.txt", getWildcardListContent());
$zip->close();
header("Content-type: application/zip");
header('Content-Transfer-Encoding: binary');
- header("Content-Disposition: attachment; filename=pi-hole-teleporter.zip");
+ header("Content-Disposition: attachment; filename=".$filename);
header("Content-length: " . filesize($archive_file_name));
header("Pragma: no-cache");
header("Expires: 0");
- ob_end_clean();
+ if(ob_get_length() > 0) ob_end_clean();
readfile($archive_file_name);
exit;
}
diff --git a/settings.php b/settings.php
index ad92ac15e..8d57c879e 100644
--- a/settings.php
+++ b/settings.php
@@ -483,7 +483,7 @@ function convertseconds($argument) {
$DNSinterface = "local";
}
} else {
- $DNSinterface = "local";
+ $DNSinterface = "single";
}
?>