From ead7ad94d44af803502cebcf2f08ca815ee7d737 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Mon, 25 Apr 2016 08:42:22 -0400
Subject: [PATCH] updated installer and updater - detect which and haveged
 (Fixes: #3843 and #3840)

---
 install/install.php | 8 ++++++++
 install/update.php  | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/install/install.php b/install/install.php
index 374edd72e9..1d0e515711 100644
--- a/install/install.php
+++ b/install/install.php
@@ -140,6 +140,8 @@ include_once 'dist/conf/'.$dist['id'].'.conf.php';
 //****************************************************************************************************
 $inst = new installer();
 if (!$inst->get_php_version()) die('ISPConfig requieres PHP '.$inst->min_php."\n");
+$retval=shell_exec("which which");
+if (empty($retval)) die ("ISPConfig requieres which \n");
 
 swriteln($inst->lng('    Following will be a few questions for primary configuration so be careful.'));
 swriteln($inst->lng('    Default values are in [brackets] and can be accepted with <ENTER>.'));
@@ -347,6 +349,9 @@ if($install_mode == 'standard') {
 		swriteln('Configuring BIND');
 		$inst->configure_bind();
 		$conf['services']['dns'] = true;
+		if(!$inst->find_installed_apps('haveged')) {
+			swriteln("[INFO] haveged not detected - DNSSEC can fail");
+		}
 	}
 	//* Configure MyDNS
 	if($conf['mydns']['installed']) {
@@ -727,6 +732,9 @@ if($install_mode == 'standard') {
 			swriteln('Configuring BIND');
 			$inst->configure_bind();
 			$conf['services']['dns'] = true;
+			if(!$inst->find_installed_apps('haveged')) {
+				swriteln("[INFO] haveged not detected - DNSSEC can fail");
+			}
 		}
 		//* Configure MyDNS
 		if($conf['mydns']['installed']) {
diff --git a/install/update.php b/install/update.php
index 8f818dff8a..2dcb53df51 100644
--- a/install/update.php
+++ b/install/update.php
@@ -378,6 +378,9 @@ if($reconfigure_services_answer == 'yes' || $reconfigure_services_answer == 'sel
 		} elseif($conf['bind']['installed'] == true) {
 			swriteln('Configuring BIND');
 			$inst->configure_bind();
+			if(!$inst->find_installed_apps('haveged')) {
+				swriteln("[INFO] haveged not detected - DNSSEC can fail");
+			}
 		} else {
 			swriteln('Configuring MyDNS');
 			$inst->configure_mydns();
-- 
GitLab