summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authormax.bra2019-09-15 19:10:37 +0200
committermax.bra2019-09-15 19:10:37 +0200
commita069c0c99e71473b12e7230d730e744615fc9613 (patch)
tree7a5d7fec74b53a0f3586582629b3a510680b711c
parent2d9ea64c8ca3df8cac84488f01713ad18725a4e9 (diff)
downloadaur-a069c0c99e71473b12e7230d730e744615fc9613.tar.gz
core v. 4.3.2
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD8
-rw-r--r--arch-server-admin-4.3.patch509
-rw-r--r--arch-server-core-4.3.2.patch346
4 files changed, 865 insertions, 10 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7706a40ecb95..7b6e5829eb43 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = pi-hole-server
pkgdesc = The Pi-hole is an advertising-aware DNS/Web server. Arch adaptation for lan wide DNS server.
- pkgver = 4.3.1
+ pkgver = 4.3.2
pkgrel = 1
url = https://github.com/pi-hole/pi-hole
install = pi-hole-server.install
@@ -24,9 +24,9 @@ pkgbase = pi-hole-server
backup = etc/dnsmasq.d/01-pihole.conf
backup = etc/pihole/adlists.list
backup = etc/dnsmasq.conf
- source = pihole-4.3.1.tar.gz::https://github.com/pi-hole/pi-hole/archive/v4.3.1.tar.gz
+ source = pihole-4.3.2.tar.gz::https://github.com/pi-hole/pi-hole/archive/v4.3.2.tar.gz
source = admin-4.3.tar.gz::https://github.com/pi-hole/AdminLTE/archive/v4.3.tar.gz
- source = https://raw.githubusercontent.com/max72bra/pi-hole-server-archlinux-customization/master/arch-server-core-4.3.1.patch
+ source = https://raw.githubusercontent.com/max72bra/pi-hole-server-archlinux-customization/master/arch-server-core-4.3.2.patch
source = https://raw.githubusercontent.com/max72bra/pi-hole-server-archlinux-customization/master/arch-server-admin-4.3.patch
source = dnsmasq.include
source = lighttpd.pi-hole.conf
@@ -39,10 +39,10 @@ pkgbase = pi-hole-server
source = mimic_setupVars.conf.sh
source = version.patch
source = piholeDebug.sh
- md5sums = 3973f2a9d7fcd6ea10265feaa397f108
+ md5sums = 33ea26a46937a0b5d20037639eb0ee34
md5sums = 670e5c4c4ca0cba6f732bf622918784c
- md5sums = e7bd89ed7b60cda7905176d338615c00
- md5sums = f5fd7abfcf0ffdbfd181d839fb8edd60
+ md5sums = 904b62c2053380b44eba47af015f2d6a
+ md5sums = 4ade3c130b0379d0b2c4bcb411f8a624
md5sums = 4d9038588164bb9130c8ca11653f83f3
md5sums = 971cc2859672341d77f8deba702fb7f7
md5sums = b63fcf29c29796023a2677bcf2b369a7
diff --git a/PKGBUILD b/PKGBUILD
index 46dbf80623fd..dda44848af76 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=pi-hole-server
_pkgname=pi-hole
-pkgver=4.3.1
+pkgver=4.3.2
pkgrel=1
_wwwpkgname=AdminLTE
_wwwpkgver=4.3
@@ -40,10 +40,10 @@ source=(pihole-$pkgver.tar.gz::https://github.com/$_pkgname/$_pkgname/archive/v$
piholeDebug.sh
)
-md5sums=('3973f2a9d7fcd6ea10265feaa397f108'
+md5sums=('33ea26a46937a0b5d20037639eb0ee34'
'670e5c4c4ca0cba6f732bf622918784c'
- 'e7bd89ed7b60cda7905176d338615c00'
- 'f5fd7abfcf0ffdbfd181d839fb8edd60'
+ '904b62c2053380b44eba47af015f2d6a'
+ '4ade3c130b0379d0b2c4bcb411f8a624'
'4d9038588164bb9130c8ca11653f83f3'
'971cc2859672341d77f8deba702fb7f7'
'b63fcf29c29796023a2677bcf2b369a7'
diff --git a/arch-server-admin-4.3.patch b/arch-server-admin-4.3.patch
new file mode 100644
index 000000000000..04e3245587b3
--- /dev/null
+++ b/arch-server-admin-4.3.patch
@@ -0,0 +1,509 @@
+diff -uprN AdminLTE-4.3/api.php AdminLTE-4.3.cust/api.php
+--- AdminLTE-4.3/api.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/api.php 2019-09-15 19:06:24.547486817 +0200
+@@ -20,7 +20,7 @@ $data = array();
+ // Common API functions
+ if (isset($_GET['status']))
+ {
+- $pistatus = exec('sudo pihole status web');
++ $pistatus = exec('sudo /usr/bin/pihole status web');
+ if ($pistatus == "1")
+ {
+ $data = array_merge($data, array("status" => "enabled"));
+@@ -42,7 +42,7 @@ elseif (isset($_GET['enable']) && $auth)
+ // Skip token validation if explicit auth string is given
+ check_csrf($_GET['token']);
+ }
+- exec('sudo pihole enable');
++ exec('sudo /usr/bin/pihole enable');
+ $data = array_merge($data, array("status" => "enabled"));
+ unlink("../custom_disable_timer");
+ }
+@@ -63,12 +63,12 @@ elseif (isset($_GET['disable']) && $auth
+ if($disable > 0)
+ {
+ $timestamp = time();
+- exec("sudo pihole disable ".$disable."s");
++ exec("sudo /usr/bin/pihole disable ".$disable."s");
+ file_put_contents("../custom_disable_timer",($timestamp+$disable)*1000);
+ }
+ else
+ {
+- exec('sudo pihole disable');
++ exec('sudo /usr/bin/pihole disable');
+ unlink("../custom_disable_timer");
+ }
+ $data = array_merge($data, array("status" => "disabled"));
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/FTL.php AdminLTE-4.3.cust/scripts/pi-hole/php/FTL.php
+--- AdminLTE-4.3/scripts/pi-hole/php/FTL.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/FTL.php 2019-09-15 19:06:24.517486989 +0200
+@@ -11,7 +11,7 @@ function connectFTL($address, $port=4711
+ if($address == "127.0.0.1")
+ {
+ // Read port
+- $portfile = file_get_contents("/var/run/pihole-FTL.port");
++ $portfile = file_get_contents("/run/pihole-ftl/pihole-FTL.port");
+ if(is_numeric($portfile))
+ $port = intval($portfile);
+ }
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/add.php AdminLTE-4.3.cust/scripts/pi-hole/php/add.php
+--- AdminLTE-4.3/scripts/pi-hole/php/add.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/add.php 2019-09-15 19:06:24.558486754 +0200
+@@ -25,20 +25,20 @@ if($type !== "regex") {
+ switch($type) {
+ case "white":
+ if(!isset($_POST["auditlog"]))
+- echo shell_exec("sudo pihole -w ${_POST['domain']}");
++ echo shell_exec("sudo /usr/bin/pihole -w ${_POST['domain']}");
+ else
+ {
+- echo shell_exec("sudo pihole -w -n ${_POST['domain']}");
+- echo shell_exec("sudo pihole -a audit ${_POST['domain']}");
++ echo shell_exec("sudo /usr/bin/pihole -w -n ${_POST['domain']}");
++ echo shell_exec("sudo /usr/bin/pihole -a audit ${_POST['domain']}");
+ }
+ break;
+ case "black":
+ if(!isset($_POST["auditlog"]))
+- echo shell_exec("sudo pihole -b ${_POST['domain']}");
++ echo shell_exec("sudo /usr/bin/pihole -b ${_POST['domain']}");
+ else
+ {
+- echo shell_exec("sudo pihole -b -n ${_POST['domain']}");
+- echo shell_exec("sudo pihole -a audit ${_POST['domain']}");
++ echo shell_exec("sudo /usr/bin/pihole -b -n ${_POST['domain']}");
++ echo shell_exec("sudo /usr/bin/pihole -a audit ${_POST['domain']}");
+ }
+ break;
+ case "wild":
+@@ -51,7 +51,7 @@ switch($type) {
+ add_regex($_POST['domain']);
+ break;
+ case "audit":
+- echo exec("sudo pihole -a audit ${_POST['domain']}");
++ echo exec("sudo /usr/bin/pihole -a audit ${_POST['domain']}");
+ break;
+ }
+
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/footer.php AdminLTE-4.3.cust/scripts/pi-hole/php/footer.php
+--- AdminLTE-4.3/scripts/pi-hole/php/footer.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/footer.php 2019-09-15 19:06:24.544486834 +0200
+@@ -52,15 +52,15 @@
+ <b>Pi-hole Version </b> <?php
+ echo $core_current;
+ if(isset($core_commit)) { echo " (".$core_branch.", ".$core_commit.")"; }
+- if($core_update){ ?> <a class="alert-link lookatme" href="https://github.com/pi-hole/pi-hole/releases" target="_blank">(Update available!)</a><?php } ?>
++ if($core_update){ ?> <a class="alert-link lookatme" href="https://aur.archlinux.org/packages/pi-hole-server" target="_blank">(Update available!)</a><?php } ?>
+ <b>Web Interface Version </b><?php
+ echo $web_current;
+ if(isset($web_commit)) { echo " (".$web_branch.", ".$web_commit.")"; }
+- if($web_update){ ?> <a class="alert-link lookatme" href="https://github.com/pi-hole/AdminLTE/releases" target="_blank">(Update available!)</a><?php } ?>
++ if($web_update){ ?> <a class="alert-link lookatme" href="https://aur.archlinux.org/packages/pi-hole-server" target="_blank">(Update available!)</a><?php } ?>
+ <b>FTL Version </b> <?php
+ echo $FTL_current;
+ if(isset($FTL_commit)) { echo " (".$FTL_branch.", ".$FTL_commit.")"; }
+- if($FTL_update){ ?> <a class="alert-link lookatme" href="https://github.com/pi-hole/FTL/releases" target="_blank">(Update available!)</a><?php } ?>
++ if($FTL_update){ ?> <a class="alert-link lookatme" href="https://aur.archlinux.org/packages/pi-hole-server" target="_blank">(Update available!)</a><?php } ?>
+ </div>
+ <div style="display: inline-block"><strong><a href="https://pi-hole.net/donate" target="_blank"><i class="fa fa-heart"></i> Donate</a></strong> if you found this useful.</div>
+ </footer>
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/gravity.sh.php AdminLTE-4.3.cust/scripts/pi-hole/php/gravity.sh.php
+--- AdminLTE-4.3/scripts/pi-hole/php/gravity.sh.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/gravity.sh.php 2019-09-15 19:06:24.560486743 +0200
+@@ -30,7 +30,7 @@ function echoEvent($datatext) {
+ echo "data: ".implode("\ndata: ", explode("\n",$datatext))."\n\n";
+ }
+
+-$proc = popen("sudo pihole -g", 'r');
++$proc = popen("sudo /usr/bin/pihole -g", 'r');
+ while (!feof($proc)) {
+ echoEvent(fread($proc, 4096));
+ }
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/header.php AdminLTE-4.3.cust/scripts/pi-hole/php/header.php
+--- AdminLTE-4.3/scripts/pi-hole/php/header.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/header.php 2019-09-15 19:06:24.549486806 +0200
+@@ -323,7 +323,7 @@ if($auth) {
+ <div class="pull-left info">
+ <p>Status</p>
+ <?php
+- $pistatus = exec('sudo pihole status web');
++ $pistatus = exec('sudo /usr/bin/pihole status web');
+ if ($pistatus == "1") {
+ echo '<a id="status"><i class="fa fa-circle" style="color:#7FFF00"></i> Active</a>';
+ } elseif ($pistatus == "0") {
+@@ -551,12 +551,6 @@ if($auth) {
+ <i class="fa fa-list-ul"></i> <span>Tail pihole-FTL.log</span>
+ </a>
+ </li>
+- <!-- Generate debug log -->
+- <li<?php if($scriptname === "debug.php"){ ?> class="active"<?php } ?>>
+- <a href="debug.php">
+- <i class="fa fa-ambulance"></i> <span>Generate debug log</span>
+- </a>
+- </li>
+ </ul>
+ </li>
+ <!-- Network -->
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/loginpage.php AdminLTE-4.3.cust/scripts/pi-hole/php/loginpage.php
+--- AdminLTE-4.3/scripts/pi-hole/php/loginpage.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/loginpage.php 2019-09-15 19:06:24.563486726 +0200
+@@ -59,7 +59,7 @@
+ After installing Pi-hole for the first time, a password is generated and displayed to the user. The
+ password cannot be retrieved later on, but it is possible to set a new password (or explicitly disable
+ the password by setting an empty password) using the command
+- <pre>sudo pihole -a -p</pre>
++ <pre>sudo /usr/bin/pihole -a -p</pre>
+ </div>
+ </div>
+ </div>
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/queryads.php AdminLTE-4.3.cust/scripts/pi-hole/php/queryads.php
+--- AdminLTE-4.3/scripts/pi-hole/php/queryads.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/queryads.php 2019-09-15 19:06:24.551486794 +0200
+@@ -61,7 +61,7 @@ else
+ $exact = "";
+ }
+
+-$proc = popen("sudo pihole -q -adlist ".$url." ".$exact, 'r');
++$proc = popen("sudo /usr/bin/pihole -q -adlist ".$url." ".$exact, 'r');
+ while (!feof($proc)) {
+ echoEvent(fread($proc, 4096));
+ }
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/savesettings.php AdminLTE-4.3.cust/scripts/pi-hole/php/savesettings.php
+--- AdminLTE-4.3/scripts/pi-hole/php/savesettings.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/savesettings.php 2019-09-15 19:06:24.554486777 +0200
+@@ -331,13 +331,13 @@ function readAdlists()
+ // Fallback
+ $DNSinterface = "local";
+ }
+- exec("sudo pihole -a -i ".$DNSinterface." -web");
++ exec("sudo /usr/bin/pihole -a -i ".$DNSinterface." -web");
+
+ // If there has been no error we can save the new DNS server IPs
+ if(!strlen($error))
+ {
+ $IPs = implode (",", $DNSservers);
+- $return = exec("sudo pihole -a setdns \"".$IPs."\" ".$extra);
++ $return = exec("sudo /usr/bin/pihole -a setdns \"".$IPs."\" ".$extra);
+ $success .= htmlspecialchars($return)."<br>";
+ $success .= "The DNS settings have been updated (using ".$DNSservercount." DNS servers)";
+ }
+@@ -353,17 +353,17 @@ function readAdlists()
+
+ if($_POST["action"] === "Disable")
+ {
+- exec("sudo pihole -l off");
++ exec("sudo /usr/bin/pihole -l off");
+ $success .= "Logging has been disabled and logs have been flushed";
+ }
+ elseif($_POST["action"] === "Disable-noflush")
+ {
+- exec("sudo pihole -l off noflush");
++ exec("sudo /usr/bin/pihole -l off noflush");
+ $success .= "Logging has been disabled, your logs have <strong>not</strong> been flushed";
+ }
+ else
+ {
+- exec("sudo pihole -l on");
++ exec("sudo /usr/bin/pihole -l on");
+ $success .= "Logging has been enabled";
+ }
+
+@@ -420,8 +420,8 @@ function readAdlists()
+ if(!strlen($error))
+ {
+ // All entries are okay
+- exec("sudo pihole -a setexcludedomains ".$domainlist);
+- exec("sudo pihole -a setexcludeclients ".$clientlist);
++ exec("sudo /usr/bin/pihole -a setexcludedomains ".$domainlist);
++ exec("sudo /usr/bin/pihole -a setexcludeclients ".$clientlist);
+ $success .= "The API settings have been updated<br>";
+ }
+ else
+@@ -432,7 +432,7 @@ function readAdlists()
+ // Set query log options
+ if(isset($_POST["querylog-permitted"]) && isset($_POST["querylog-blocked"]))
+ {
+- exec("sudo pihole -a setquerylog all");
++ exec("sudo /usr/bin/pihole -a setquerylog all");
+ if(!isset($_POST["privacyMode"]))
+ {
+ $success .= "All entries will be shown in Query Log";
+@@ -444,7 +444,7 @@ function readAdlists()
+ }
+ elseif(isset($_POST["querylog-permitted"]))
+ {
+- exec("sudo pihole -a setquerylog permittedonly");
++ exec("sudo /usr/bin/pihole -a setquerylog permittedonly");
+ if(!isset($_POST["privacyMode"]))
+ {
+ $success .= "Only permitted will be shown in Query Log";
+@@ -456,24 +456,24 @@ function readAdlists()
+ }
+ elseif(isset($_POST["querylog-blocked"]))
+ {
+- exec("sudo pihole -a setquerylog blockedonly");
++ exec("sudo /usr/bin/pihole -a setquerylog blockedonly");
+ $success .= "Only blocked entries will be shown in Query Log";
+ }
+ else
+ {
+- exec("sudo pihole -a setquerylog nothing");
++ exec("sudo /usr/bin/pihole -a setquerylog nothing");
+ $success .= "No entries will be shown in Query Log";
+ }
+
+
+ if(isset($_POST["privacyMode"]))
+ {
+- exec("sudo pihole -a privacymode true");
++ exec("sudo /usr/bin/pihole -a privacymode true");
+ $success .= " (privacy mode enabled)";
+ }
+ else
+ {
+- exec("sudo pihole -a privacymode false");
++ exec("sudo /usr/bin/pihole -a privacymode false");
+ }
+
+ break;
+@@ -481,15 +481,15 @@ function readAdlists()
+ case "webUI":
+ if($_POST["tempunit"] == "F")
+ {
+- exec('sudo pihole -a -f');
++ exec('sudo /usr/bin/pihole -a -f');
+ }
+ elseif($_POST["tempunit"] == "K")
+ {
+- exec('sudo pihole -a -k');
++ exec('sudo /usr/bin/pihole -a -k');
+ }
+ else
+ {
+- exec('sudo pihole -a -c');
++ exec('sudo /usr/bin/pihole -a -c');
+ }
+ $adminemail = trim($_POST["adminemail"]);
+ if(strlen($adminemail) == 0 || !isset($adminemail))
+@@ -502,36 +502,36 @@ function readAdlists()
+ }
+ else
+ {
+- exec('sudo pihole -a -e \''.$adminemail.'\'');
++ exec('sudo /usr/bin/pihole -a -e \''.$adminemail.'\'');
+ }
+ if(isset($_POST["boxedlayout"]))
+ {
+- exec('sudo pihole -a layout boxed');
++ exec('sudo /usr/bin/pihole -a layout boxed');
+ }
+ else
+ {
+- exec('sudo pihole -a layout traditional');
++ exec('sudo /usr/bin/pihole -a layout traditional');
+ }
+ $success .= "The webUI settings have been updated";
+ break;
+
+ case "poweroff":
+- exec("sudo pihole -a poweroff");
++ exec("sudo /usr/bin/pihole -a poweroff");
+ $success = "The system will poweroff in 5 seconds...";
+ break;
+
+ case "reboot":
+- exec("sudo pihole -a reboot");
++ exec("sudo /usr/bin/pihole -a reboot");
+ $success = "The system will reboot in 5 seconds...";
+ break;
+
+ case "restartdns":
+- exec("sudo pihole -a restartdns");
++ exec("sudo /usr/bin/pihole -a restartdns");
+ $success = "The DNS server has been restarted";
+ break;
+
+ case "flushlogs":
+- exec("sudo pihole -f");
++ exec("sudo /usr/bin/pihole -f");
+ $success = "The Pi-hole log file has been flushed";
+ break;
+
+@@ -587,7 +587,7 @@ function readAdlists()
+
+ if(!strlen($error))
+ {
+- exec("sudo pihole -a addstaticdhcp ".$mac." ".$ip." ".$hostname);
++ exec("sudo /usr/bin/pihole -a addstaticdhcp ".$mac." ".$ip." ".$hostname);
+ $success .= "A new static address has been added";
+ }
+ break;
+@@ -604,7 +604,7 @@ function readAdlists()
+
+ if(!strlen($error))
+ {
+- exec("sudo pihole -a removestaticdhcp ".$mac);
++ exec("sudo /usr/bin/pihole -a removestaticdhcp ".$mac);
+ $success .= "The static address with MAC address ".htmlspecialchars($mac)." has been removed";
+ }
+ break;
+@@ -671,13 +671,13 @@ function readAdlists()
+
+ if(!strlen($error))
+ {
+- exec("sudo pihole -a enabledhcp ".$from." ".$to." ".$router." ".$leasetime." ".$domain." ".$ipv6." ".$rapidcommit);
++ exec("sudo /usr/bin/pihole -a enabledhcp ".$from." ".$to." ".$router." ".$leasetime." ".$domain." ".$ipv6." ".$rapidcommit);
+ $success .= "The DHCP server has been activated ".htmlspecialchars($type);
+ }
+ }
+ else
+ {
+- exec("sudo pihole -a disabledhcp");
++ exec("sudo /usr/bin/pihole -a disabledhcp");
+ $success = "The DHCP server has been deactivated";
+ }
+
+@@ -689,18 +689,18 @@ function readAdlists()
+ if(isset($_POST["adlist-del-".$key]))
+ {
+ // Delete list
+- exec("sudo pihole -a adlist del ".escapeshellcmd($value[1]));
++ exec("sudo /usr/bin/pihole -a adlist del ".escapeshellcmd($value[1]));
+ }
+ elseif(isset($_POST["adlist-enable-".$key]) && !$value[0])
+ {
+ // Is not enabled, but should be
+- exec("sudo pihole -a adlist enable ".escapeshellcmd($value[1]));
++ exec("sudo /usr/bin/pihole -a adlist enable ".escapeshellcmd($value[1]));
+
+ }
+ elseif(!isset($_POST["adlist-enable-".$key]) && $value[0])
+ {
+ // Is enabled, but shouldn't be
+- exec("sudo pihole -a adlist disable ".escapeshellcmd($value[1]));
++ exec("sudo /usr/bin/pihole -a adlist disable ".escapeshellcmd($value[1]));
+ }
+ }
+
+@@ -709,7 +709,7 @@ function readAdlists()
+ $domains = array_filter(preg_split('/\r\n|[\r\n]/', $_POST["newuserlists"]));
+ foreach($domains as $domain)
+ {
+- exec("sudo pihole -a adlist add ".escapeshellcmd($domain));
++ exec("sudo /usr/bin/pihole -a adlist add ".escapeshellcmd($domain));
+ }
+ }
+
+@@ -729,11 +729,11 @@ function readAdlists()
+ }
+
+ // Store privacy level
+- exec("sudo pihole -a privacylevel ".$level);
++ exec("sudo /usr/bin/pihole -a privacylevel ".$level);
+
+ if($privacylevel > $level)
+ {
+- exec("sudo pihole -a restartdns");
++ exec("sudo /usr/bin/pihole -a restartdns");
+ $success .= "The privacy level has been decreased and the DNS resolver has been restarted";
+ }
+ elseif($privacylevel < $level)
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/sub.php AdminLTE-4.3.cust/scripts/pi-hole/php/sub.php
+--- AdminLTE-4.3/scripts/pi-hole/php/sub.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/sub.php 2019-09-15 19:06:24.556486766 +0200
+@@ -24,10 +24,10 @@ if($type !== "regex") {
+
+ switch($type) {
+ case "white":
+- exec("sudo pihole -w -q -d ${_POST['domain']}");
++ exec("sudo /usr/bin/pihole -w -q -d ${_POST['domain']}");
+ break;
+ case "black":
+- exec("sudo pihole -b -q -d ${_POST['domain']}");
++ exec("sudo /usr/bin/pihole -b -q -d ${_POST['domain']}");
+ break;
+ case "regex":
+ if(($list = file_get_contents($regexfile)) === FALSE)
+@@ -51,7 +51,7 @@ switch($type) {
+ // Send SIGHUP to pihole-FTL using a frontend command
+ // to force reloading of the regex domains
+ // This will also wipe the resolver's cache
+- echo exec("sudo pihole restartdns reload");
++ echo exec("sudo /usr/bin/pihole restartdns reload");
+ }
+ break;
+ }
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/tailLog.php AdminLTE-4.3.cust/scripts/pi-hole/php/tailLog.php
+--- AdminLTE-4.3/scripts/pi-hole/php/tailLog.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/tailLog.php 2019-09-15 19:06:24.522486960 +0200
+@@ -14,11 +14,11 @@ if(!$auth) die("Not authorized");
+ // files as large as the pihole.log
+ if(isset($_GET["FTL"]))
+ {
+- $file = fopen("/var/log/pihole-FTL.log","r");
++ $file = fopen("/run/log/pihole-ftl/pihole-FTL.log","r");
+ }
+ else
+ {
+- $file = fopen("/var/log/pihole.log","r");
++ $file = fopen("/run/log/pihole/pihole.log","r");
+ }
+
+ if(!$file)
+diff -uprN AdminLTE-4.3/scripts/pi-hole/php/update_checker.php AdminLTE-4.3.cust/scripts/pi-hole/php/update_checker.php
+--- AdminLTE-4.3/scripts/pi-hole/php/update_checker.php 2019-05-18 22:08:56.000000000 +0200
++++ AdminLTE-4.3.cust/scripts/pi-hole/php/update_checker.php 2019-09-15 19:06:24.535486886 +0200
+@@ -7,12 +7,12 @@ $GitHubVersions = "/etc/pihole/GitHubVer
+ if(!is_readable($localversions) || !is_readable($localbranches) || !is_readable($GitHubVersions))
+ {
+ $core_branch = "master";
+- $core_current = "N/A";
++ $core_current = "4.3.2";
+ $core_update = false;
+ $web_branch = "master";
+- $web_current = "N/A";
++ $web_current = "4.3";
+ $web_update = false;
+- $FTL_current = "N/A";
++ $FTL_current = exec("pihole-FTL version");
+ $FTL_update = false;
+ }
+ else
+@@ -25,31 +25,31 @@ else
+ // Check if on a dev branch
+ $core_branch = $branches[0];
+ if($core_branch !== "master") {
+- $core_current = "vDev";
++ $core_current = "4.3.2";
+ $core_commit = $versions[0];
+ }
+ else {
+- $core_current = explode("-",$versions[0])[0];
++ $core_current = "4.3.2";
+ }
+
+ /********** Get Pi-hole web branch / version / commit **********/
+ $web_branch = $branches[1];
+ if($web_branch !== "master") {
+- $web_current = "vDev";
++ $web_current = "4.3";
+ $web_commit = $versions[1];
+ }
+ else {
+- $web_current = explode("-",$versions[1])[0];
++ $web_current = "4.3";
+ }
+
+ /********** Get Pi-hole FTL (not a git repository) **********/
+ $FTL_branch = $branches[2];
+ if(substr($versions[2], 0, 4) === "vDev") {
+- $FTL_current = "vDev";
++ $FTL_current = exec("pihole-FTL version");
+ $FTL_commit = $versions[2];
+ }
+ else {
+- $FTL_current = $versions[2];
++ $FTL_current = exec("pihole-FTL version");
+ }
+
+ // Get data from GitHub
diff --git a/arch-server-core-4.3.2.patch b/arch-server-core-4.3.2.patch
new file mode 100644
index 000000000000..81599aaad4e3
--- /dev/null
+++ b/arch-server-core-4.3.2.patch
@@ -0,0 +1,346 @@
+diff -uprN pi-hole-4.3.2/adlists.list pi-hole-4.3.2.cust/adlists.list
+--- pi-hole-4.3.2/adlists.list 1970-01-01 01:00:00.000000000 +0100
++++ pi-hole-4.3.2.cust/adlists.list 2019-09-15 19:06:24.564486720 +0200
+@@ -0,0 +1,7 @@
++https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
++https://mirror1.malwaredomains.com/files/justdomains
++http://sysctl.org/cameleon/hosts
++https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
++https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
++https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
++https://hosts-file.net/ad_servers.txt
+diff -uprN pi-hole-4.3.2/advanced/Scripts/chronometer.sh pi-hole-4.3.2.cust/advanced/Scripts/chronometer.sh
+--- pi-hole-4.3.2/advanced/Scripts/chronometer.sh 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/advanced/Scripts/chronometer.sh 2019-09-15 19:06:24.510487028 +0200
+@@ -13,7 +13,7 @@ LC_NUMERIC=C
+
+ # Retrieve stats from FTL engine
+ pihole-FTL() {
+- ftl_port=$(cat /var/run/pihole-FTL.port 2> /dev/null)
++ ftl_port=$(cat /run/pihole-ftl/pihole-FTL.port 2> /dev/null)
+ if [[ -n "$ftl_port" ]]; then
+ # Open connection to FTL
+ exec 3<>"/dev/tcp/127.0.0.1/$ftl_port"
+diff -uprN pi-hole-4.3.2/advanced/Scripts/piholeLogFlush.sh pi-hole-4.3.2.cust/advanced/Scripts/piholeLogFlush.sh
+--- pi-hole-4.3.2/advanced/Scripts/piholeLogFlush.sh 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/advanced/Scripts/piholeLogFlush.sh 2019-09-15 19:06:24.508487040 +0200
+@@ -26,33 +26,33 @@ if [ -z "$DBFILE" ]; then
+ fi
+
+ if [[ "$@" != *"quiet"* ]]; then
+- echo -ne " ${INFO} Flushing /var/log/pihole.log ..."
++ echo -ne " ${INFO} Flushing /run/log/pihole/pihole.log ..."
+ fi
+ if [[ "$@" == *"once"* ]]; then
+ # Nightly logrotation
+- if command -v /usr/sbin/logrotate >/dev/null; then
++ if command -v /usr/bin/logrotate >/dev/null; then
+ # Logrotate once
+- /usr/sbin/logrotate --force /etc/pihole/logrotate
++ /usr/bin/logrotate --force /etc/pihole/logrotate
+ else
+ # Copy pihole.log over to pihole.log.1
+ # and empty out pihole.log
+ # Note that moving the file is not an option, as
+ # dnsmasq would happily continue writing into the
+ # moved file (it will have the same file handler)
+- cp /var/log/pihole.log /var/log/pihole.log.1
+- echo " " > /var/log/pihole.log
++ cp /run/log/pihole/pihole.log /run/log/pihole/pihole.log.1
++ echo " " > /run/log/pihole/pihole.log
+ fi
+ else
+ # Manual flushing
+- if command -v /usr/sbin/logrotate >/dev/null; then
++ if command -v /usr/bin/logrotate >/dev/null; then
+ # Logrotate twice to move all data out of sight of FTL
+- /usr/sbin/logrotate --force /etc/pihole/logrotate; sleep 3
+- /usr/sbin/logrotate --force /etc/pihole/logrotate
++ /usr/bin/logrotate --force /etc/pihole/logrotate; sleep 3
++ /usr/bin/logrotate --force /etc/pihole/logrotate
+ else
+ # Flush both pihole.log and pihole.log.1 (if existing)
+- echo " " > /var/log/pihole.log
+- if [ -f /var/log/pihole.log.1 ]; then
+- echo " " > /var/log/pihole.log.1
++ echo " " > /run/log/pihole/pihole.log
++ if [ -f /run/log/pihole/pihole.log.1 ]; then
++ echo " " > /run/log/pihole/pihole.log.1
+ fi
+ fi
+ # Delete most recent 24 hours from FTL's database, leave even older data intact (don't wipe out all history)
+@@ -63,6 +63,6 @@ else
+ fi
+
+ if [[ "$@" != *"quiet"* ]]; then
+- echo -e "${OVER} ${TICK} Flushed /var/log/pihole.log"
++ echo -e "${OVER} ${TICK} Flushed /run/log/pihole/pihole.log"
+ echo -e " ${TICK} Deleted ${deleted} queries from database"
+ fi
+diff -uprN pi-hole-4.3.2/advanced/Scripts/version.sh pi-hole-4.3.2.cust/advanced/Scripts/version.sh
+--- pi-hole-4.3.2/advanced/Scripts/version.sh 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/advanced/Scripts/version.sh 2019-09-15 19:06:24.537486874 +0200
+@@ -11,7 +11,7 @@
+ # Variables
+ DEFAULT="-1"
+ COREGITDIR="/etc/.pihole/"
+-WEBGITDIR="/var/www/html/admin/"
++WEBGITDIR="/srv/http/pihole/admin/"
+
+ getLocalVersion() {
+ # FTL requires a different method
+diff -uprN pi-hole-4.3.2/advanced/Scripts/webpage.sh pi-hole-4.3.2.cust/advanced/Scripts/webpage.sh
+--- pi-hole-4.3.2/advanced/Scripts/webpage.sh 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/advanced/Scripts/webpage.sh 2019-09-15 19:06:24.494487120 +0200
+@@ -16,7 +16,7 @@ readonly dhcpconfig="/etc/dnsmasq.d/02-p
+ readonly FTLconf="/etc/pihole/pihole-FTL.conf"
+ # 03 -> wildcards
+ readonly dhcpstaticconfig="/etc/dnsmasq.d/04-pihole-static-dhcp.conf"
+-readonly PI_HOLE_BIN_DIR="/usr/local/bin"
++readonly PI_HOLE_BIN_DIR="/usr/bin"
+
+ coltable="/opt/pihole/COL_TABLE"
+ if [[ -f ${coltable} ]]; then
+diff -uprN pi-hole-4.3.2/advanced/Templates/logrotate pi-hole-4.3.2.cust/advanced/Templates/logrotate
+--- pi-hole-4.3.2/advanced/Templates/logrotate 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/advanced/Templates/logrotate 2019-09-15 19:06:24.505487057 +0200
+@@ -1,4 +1,4 @@
+-/var/log/pihole.log {
++/run/log/pihole/pihole.log {
+ # su #
+ daily
+ copytruncate
+@@ -9,7 +9,7 @@
+ nomail
+ }
+
+-/var/log/pihole-FTL.log {
++/run/log/pihole-ftl/pihole-FTL.log {
+ # su #
+ weekly
+ copytruncate
+diff -uprN pi-hole-4.3.2/advanced/Templates/pihole.sudo pi-hole-4.3.2.cust/advanced/Templates/pihole.sudo
+--- pi-hole-4.3.2/advanced/Templates/pihole.sudo 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/advanced/Templates/pihole.sudo 2019-09-15 19:06:24.563486726 +0200
+@@ -7,3 +7,4 @@
+ # This file is copyright under the latest version of the EUPL.
+ # Please see LICENSE file for your rights under this license.
+ #
++http ALL=NOPASSWD: /usr/bin/pihole
+diff -uprN pi-hole-4.3.2/advanced/dnsmasq.conf.original pi-hole-4.3.2.cust/advanced/dnsmasq.conf.original
+--- pi-hole-4.3.2/advanced/dnsmasq.conf.original 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/advanced/dnsmasq.conf.original 2019-09-15 19:06:24.563486726 +0200
+@@ -646,3 +646,4 @@
+
+ # Include all files in a directory which end in .conf
+ #conf-dir=/etc/dnsmasq.d/*.conf
++conf-dir=/etc/dnsmasq.d/,*.conf
+diff -uprN pi-hole-4.3.2/dns-servers.conf pi-hole-4.3.2.cust/dns-servers.conf
+--- pi-hole-4.3.2/dns-servers.conf 1970-01-01 01:00:00.000000000 +0100
++++ pi-hole-4.3.2.cust/dns-servers.conf 2019-09-15 19:06:24.564486720 +0200
+@@ -0,0 +1,9 @@
++Google (ECS);8.8.8.8;8.8.4.4;2001:4860:4860:0:0:0:0:8888;2001:4860:4860:0:0:0:0:8844
++OpenDNS (ECS);208.67.222.222;208.67.220.220;2620:0:ccc::2;2620:0:ccd::2
++Level3;4.2.2.1;4.2.2.2;;
++Comodo;8.26.56.26;8.20.247.20;;
++DNS.WATCH;84.200.69.80;84.200.70.40;2001:1608:10:25:0:0:1c04:b12f;2001:1608:10:25:0:0:9249:d69b
++Quad9 (filtered, DNSSEC);9.9.9.9;149.112.112.112;2620:fe::fe;2620:fe::9
++Quad9 (unfiltered, no DNSSEC);9.9.9.10;149.112.112.10;2620:fe::10;2620:fe::fe:10
++Quad9 (filtered + ECS);9.9.9.11;149.112.112.11;2620:fe::11;
++Cloudflare;1.1.1.1;1.0.0.1;2606:4700:4700::1111;2606:4700:4700::1001
+diff -uprN pi-hole-4.3.2/gravity.sh pi-hole-4.3.2.cust/gravity.sh
+--- pi-hole-4.3.2/gravity.sh 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/gravity.sh 2019-09-15 19:06:24.492487131 +0200
+@@ -19,7 +19,7 @@ regexconverter="/opt/pihole/wildcard_reg
+ source "${regexconverter}"
+
+ basename="pihole"
+-PIHOLE_COMMAND="/usr/local/bin/${basename}"
++PIHOLE_COMMAND="/usr/bin/${basename}"
+
+ piholeDir="/etc/${basename}"
+
+diff -uprN pi-hole-4.3.2/pihole pi-hole-4.3.2.cust/pihole
+--- pi-hole-4.3.2/pihole 2019-09-15 17:52:21.000000000 +0200
++++ pi-hole-4.3.2.cust/pihole 2019-09-15 19:06:24.497487103 +0200
+@@ -13,7 +13,6 @@ readonly PI_HOLE_SCRIPT_DIR="/opt/pihole
+ readonly gravitylist="/etc/pihole/gravity.list"
+ readonly blacklist="/etc/pihole/black.list"
+
+-# setupVars and PI_HOLE_BIN_DIR are not readonly here because in some funcitons (checkout),
+ # it might get set again when the installer is sourced. This causes an
+ # error due to modifying a readonly variable.
+ setupVars="/etc/pihole/setupVars.conf"
+@@ -57,17 +56,6 @@ flushFunc() {
+ exit 0
+ }
+
+-updatePiholeFunc() {
+- shift
+- "${PI_HOLE_SCRIPT_DIR}"/update.sh "$@"
+- exit 0
+-}
+-
+-reconfigurePiholeFunc() {
+- /etc/.pihole/automated\ install/basic-install.sh --reconfigure
+- exit 0;
+-}
+-
+ updateGravityFunc() {
+ "${PI_HOLE_SCRIPT_DIR}"/gravity.sh "$@"
+ exit $?
+@@ -86,11 +74,6 @@ chronometerFunc() {
+ }
+
+
+-uninstallFunc() {
+- "${PI_HOLE_SCRIPT_DIR}"/uninstall.sh
+- exit 0
+-}
+-
+ versionFunc() {
+ shift
+ "${PI_HOLE_SCRIPT_DIR}"/version.sh "$@"
+@@ -108,7 +91,7 @@ restartDNS() {
+ svc="killall -s SIGHUP ${resolver}"
+ else
+ # A full restart has been requested
+- svc="service ${resolver} restart"
++ svc="systemctl restart ${resolver}"
+ fi
+
+ # Print output to Terminal, but not to Web Admin
+@@ -224,9 +207,9 @@ Example: 'pihole logging on'
+ Specify whether the Pi-hole log should be used
+
+ Options:
+- on Enable the Pi-hole log at /var/log/pihole.log
+- off Disable and flush the Pi-hole log at /var/log/pihole.log
+- off noflush Disable the Pi-hole log at /var/log/pihole.log"
++ on Enable the Pi-hole log at /run/log/pihole/pihole.log
++ off Disable and flush the Pi-hole log at /run/log/pihole/pihole.log
++ off noflush Disable the Pi-hole log at /run/log/pihole/pihole.log"
+ exit 0
+ elif [[ "${1}" == "off" ]]; then
+ # Disable logging
+@@ -308,7 +291,7 @@ tailFunc() {
+ # Colour blocklist/blacklist/wildcard entries as red
+ # Colour A/AAAA/DHCP strings as white
+ # Colour everything else as gray
+- tail -f /var/log/pihole.log | sed -E \
++ tail -f /run/log/pihole/pihole.log | sed -E \
+ -e "s,($(date +'%b %d ')| dnsmasq[.*[0-9]]),,g" \
+ -e "s,(.*(gravity.list|black.list|regex.list| config ).* is (0.0.0.0|::|NXDOMAIN|${IPV4_ADDRESS%/*}|${IPV6_ADDRESS:-NULL}).*),${COL_RED}&${COL_NC}," \
+ -e "s,.*(query\\[A|DHCP).*,${COL_NC}&${COL_NC}," \
+@@ -316,59 +299,6 @@ tailFunc() {
+ exit 0
+ }
+
+-piholeCheckoutFunc() {
+- if [[ "$2" == "-h" ]] || [[ "$2" == "--help" ]]; then
+- echo "Usage: pihole checkout [repo] [branch]
+-Example: 'pihole checkout master' or 'pihole checkout core dev'
+-Switch Pi-hole subsystems to a different Github branch
+-
+-Repositories:
+- core [branch] Change the branch of Pi-hole's core subsystem
+- web [branch] Change the branch of Web Interface subsystem
+- ftl [branch] Change the branch of Pi-hole's FTL subsystem
+-
+-Branches:
+- master Update subsystems to the latest stable release
+- dev Update subsystems to the latest development release
+- branchname Update subsystems to the specified branchname"
+- exit 0
+- fi
+-
+- source "${PI_HOLE_SCRIPT_DIR}"/piholeCheckout.sh
+- shift
+- checkout "$@"
+-}
+-
+-tricorderFunc() {
+- if [[ ! -p "/dev/stdin" ]]; then
+- echo -e " ${INFO} Please do not call Tricorder directly"
+- exit 1
+- fi
+-
+- if ! (echo > /dev/tcp/tricorder.pi-hole.net/9998) >/dev/null 2>&1; then
+- echo -e " ${CROSS} Unable to connect to Pi-hole's Tricorder server"
+- exit 1
+- fi
+-
+- if command -v openssl &> /dev/null; then
+- openssl s_client -quiet -connect tricorder.pi-hole.net:9998 2> /dev/null < /dev/stdin
+- exit "$?"
+- else
+- echo -e " ${INFO} ${COL_YELLOW}Security Notice${COL_NC}: ${COL_WHITE}openssl${COL_NC} is not installed
+- Your debug log will be transmitted unencrypted via plain-text
+- There is a possibility that this could be intercepted by a third party
+- If you wish to cancel, press Ctrl-C to exit within 10 seconds"
+- secs="10"
+- while [[ "$secs" -gt "0" ]]; do
+- echo -ne "."
+- sleep 1
+- : $((secs--))
+- done
+- echo " "
+- nc tricorder.pi-hole.net 9999 < /dev/stdin
+- exit "$?"
+- fi
+-}
+
+ updateCheckFunc() {
+ "${PI_HOLE_SCRIPT_DIR}"/updatecheck.sh "$@"
+@@ -391,7 +321,6 @@ Debugging Options:
+ -d, debug Start a debugging session
+ Add '-a' to enable automated debugging
+ -f, flush Flush the Pi-hole log
+- -r, reconfigure Reconfigure or Repair Pi-hole subsystems
+ -t, tail View the live output of the Pi-hole log
+
+ Options:
+@@ -405,18 +334,15 @@ Options:
+ Add '-h' for more info on logging usage
+ -q, query Query the adlists for a specified domain
+ Add '-h' for more info on query usage
+- -up, updatePihole Update Pi-hole subsystems
+ Add '--check-only' to exit script before update is performed.
+ -v, version Show installed versions of Pi-hole, Web Interface & FTL
+ Add '-h' for more info on version usage
+- uninstall Uninstall Pi-hole from your system
+ status Display the running status of Pi-hole subsystems
+ enable Enable Pi-hole subsystems
+ disable Disable Pi-hole subsystems
+ Add '-h' for more info on disable usage
+ restartdns Restart Pi-hole subsystems
+- checkout Switch Pi-hole subsystems to a different Github branch
+- Add '-h' for more info on checkout usage";
++";
+ exit 0
+ }
+
+@@ -447,23 +373,18 @@ case "${1}" in
+ "--regex" | "regex" ) listFunc "$@";;
+ "-d" | "debug" ) debugFunc "$@";;
+ "-f" | "flush" ) flushFunc "$@";;
+- "-up" | "updatePihole" ) updatePiholeFunc "$@";;
+- "-r" | "reconfigure" ) reconfigurePiholeFunc;;
+ "-g" | "updateGravity" ) updateGravityFunc "$@";;
+ "-c" | "chronometer" ) chronometerFunc "$@";;
+ "-h" | "help" ) helpFunc;;
+ "-v" | "version" ) versionFunc "$@";;
+ "-q" | "query" ) queryFunc "$@";;
+ "-l" | "logging" ) piholeLogging "$@";;
+- "uninstall" ) uninstallFunc;;
+ "enable" ) piholeEnable 1;;
+ "disable" ) piholeEnable 0 "$2";;
+ "status" ) statusFunc "$2";;
+ "restartdns" ) restartDNS "$2";;
+ "-a" | "admin" ) webpageFunc "$@";;
+ "-t" | "tail" ) tailFunc;;
+- "checkout" ) piholeCheckoutFunc "$@";;
+- "tricorder" ) tricorderFunc;;
+ "updatechecker" ) updateCheckFunc "$@";;
+ * ) helpFunc;;
+ esac