From 61f73820621d4ea17ecde3c8d6872e6ce8f9eb12 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 28 Oct 2014 04:35:30 -0400
Subject: [PATCH] - Changed tform_actions.inc.php to always provide oldDataRecord array for updates even when dbhistory = off.

---
 interface/lib/classes/functions.inc.php |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index ddee8da..8fed767 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -248,7 +248,7 @@
 		}
 
 		$ips = array();
-		$results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$type."'");
+		$results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$app->db->quote($type)."'");
 		if(!empty($results) && is_array($results)){
 			foreach($results as $result){
 				if(preg_match($regex, $result['ip'])){
@@ -427,7 +427,11 @@
 	public function is_allowed_user($username, $restrict_names = false) {
 		global $app;
 		
-		if($username == 'root') return false;
+		$name_blacklist = array('root','ispconfig','vmail','getmail');
+		if(in_array($username,$name_blacklist)) return false;
+		
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
+		
 		if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
 		
 		return true;
@@ -436,7 +440,11 @@
 	public function is_allowed_group($groupname, $restrict_names = false) {
 		global $app;
 		
-		if($groupname == 'root') return false;
+		$name_blacklist = array('root','ispconfig','vmail','getmail');
+		if(in_array($groupname,$name_blacklist)) return false;
+		
+		if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
+		
 		if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
 		
 		return true;

--
Gitblit v1.9.1