From b7332908d8ed550bf727df95a344b59ab1216e7c Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 18 Aug 2008 15:04:32 +0000
Subject: [PATCH] - Fixed several bugs in the installer. - Changed mbox regex
 in dns manager.

---
 install/dist/conf/debian40.conf.php      |  2 +-
 install/lib/install.lib.php              | 32 ++++++++++++++++++++++++
 install/lib/installer_base.lib.php       |  4 +--
 interface/web/dns/form/dns_soa.tform.php |  2 +-
 4 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/install/dist/conf/debian40.conf.php b/install/dist/conf/debian40.conf.php
index 266947b0aa..af36f5061c 100644
--- a/install/dist/conf/debian40.conf.php
+++ b/install/dist/conf/debian40.conf.php
@@ -25,7 +25,7 @@ $conf['mysql']['database'] = 'dbispconfig';
 $conf['mysql']['admin_user'] = 'root';
 $conf['mysql']['admin_password'] = '';
 $conf['mysql']['ispconfig_user'] = 'ispconfig';
-$conf['mysql']['ispconfig_password'] = '5sDrewBhk';
+$conf['mysql']['ispconfig_password'] = md5 (uniqid (rand()));
 
 //* Apache
 $conf['apache']['user'] = 'www-data';
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 5c037fbaac..d8eb0d67c3 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -438,6 +438,38 @@ function array_to_ini($config_array = '') {
 	return $content;
 }
 
+function is_user($user){
+  global $mod;
+  $user_datei = '/etc/passwd';
+  $users = no_comments($user_datei);
+  $lines = explode("\n", $users);
+  if(is_array($lines)){
+    foreach($lines as $line){
+      if(trim($line) != ""){
+        list($f1, $f2, $f3, $f4, $f5, $f6, $f7) = explode(":", $line);
+        if($f1 == $user) return true;
+      }
+    }
+  }
+  return false;
+}
+
+function is_group($group){
+  global $mod;
+  $group_datei = '/etc/group';
+  $groups = no_comments($group_datei);
+  $lines = explode("\n", $groups);
+  if(is_array($lines)){
+    foreach($lines as $line){
+      if(trim($line) != ""){
+        list($f1, $f2, $f3, $f4) = explode(":", $line);
+        if($f1 == $group) return true;
+      }
+    }
+  }
+  return false;
+}
+
 
 
 ?>
\ No newline at end of file
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index bfc8723016..33be4a1ee5 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -664,10 +664,10 @@ class installer_base {
 		
 		//* Create a ISPConfig user and group
 		$command = 'groupadd ispconfig';
-		caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		if(!is_group('vacp')) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		
 		$command = "useradd -g ispconfig -d $install_dir ispconfig";
-		caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+		if(!is_user('vacp')) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		
 		//* copy the ISPConfig interface part
 		$command = "cp -rf ../interface $install_dir";
diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php
index e9a8f431d2..7a63938a45 100644
--- a/interface/web/dns/form/dns_soa.tform.php
+++ b/interface/web/dns/form/dns_soa.tform.php
@@ -108,7 +108,7 @@ $form["tabs"]['dns_soa'] = array (
 			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
 														'errmsg'=> 'mbox_error_empty'),
 										1 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{0,64}\.$/',
+														'regex' => '/^[[a-zA-Z0-9\.\-]{0,64}\.$/',
 														'errmsg'=> 'mbox_error_regex'),
 									),
 			'default'	=> '',
-- 
GitLab