From 37b29231e47a0c4458dc1c15d98588f16f07e1e2 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 06 Aug 2015 03:18:44 -0400
Subject: [PATCH] - don't set password via remoting if field is empty

---
 interface/lib/classes/remote.d/mail.inc.php |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/interface/lib/classes/remote.d/mail.inc.php b/interface/lib/classes/remote.d/mail.inc.php
index 29ff0d8..9147770 100644
--- a/interface/lib/classes/remote.d/mail.inc.php
+++ b/interface/lib/classes/remote.d/mail.inc.php
@@ -208,7 +208,7 @@
 
 		//* Check if mail domain exists
 		$email_parts = explode('@', $params['email']);
-		$tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = '".$app->db->quote($email_parts[1])."'");
+		$tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = ?", $email_parts[1]);
 		if($tmp['domain'] != $email_parts[1]) {
 			throw new SoapFault('mail_domain_does_not_exist', 'Mail domain - '.$email_parts[1].' - does not exist.');
 			return false;
@@ -235,7 +235,7 @@
 
 		//* Check if mail domain exists
 		$email_parts = explode('@', $params['email']);
-		$tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = '".$app->db->quote($email_parts[1])."'");
+		$tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = ?", $email_parts[1]);
 		if($tmp['domain'] != $email_parts[1]) {
 			throw new SoapFault('mail_domain_does_not_exist', 'Mail domain - '.$email_parts[1].' - does not exist.');
 			return false;
@@ -320,14 +320,16 @@
 			return false;
 		}
 	
+		$params = array();
 		if ($site_id != null) {
-			$sql  = "SELECT * FROM mail_backup WHERE parent_domain_id = ".$app->functions->intval($site_id);
+			$params[] = $site_id;
+			$sql  = "SELECT * FROM mail_backup WHERE parent_domain_id = ?";
 		}
 		else {
 			$sql  = "SELECT * FROM mail_backup";
 		}
 	
-		$result = $app->db->queryAllRecords($sql);
+		$result = $app->db->queryAllRecords($sql, true, $params);
 		return $result;
 	}
 	
@@ -342,7 +344,7 @@
 		}
 	
 		//*Set variables
-		$backup_record  =       $app->db->queryOneRecord("SELECT * FROM `mail_backup` WHERE `backup_id`='$primary_id'");
+		$backup_record  =       $app->db->queryOneRecord("SELECT * FROM `mail_backup` WHERE `backup_id`=?", $primary_id);
 		$server_id      =       $backup_record['server_id'];
 	
 		//*Set default action state
@@ -361,14 +363,14 @@
 		}
 	
 		//* Validate instance
-		$instance_record        =       $app->db->queryOneRecord("SELECT * FROM `sys_remoteaction` WHERE `action_param`='$primary_id' and `action_type`='$action_type' and `action_state`='pending'");
+		$instance_record        =       $app->db->queryOneRecord("SELECT * FROM `sys_remoteaction` WHERE `action_param`=? and `action_type`=? and `action_state`='pending'", $primary_id, $action_type);
 		if ($instance_record['action_id'] >= 1) {
 			$this->server->fault('duplicate_action', "There is already a pending $action_type action");
 			return false;
 		}
 	
 		//* Save the record
-		if ($app->db->query("INSERT INTO `sys_remoteaction` SET `server_id` = '$server_id', `tstamp` = '$tstamp', `action_type` = '$action_type', `action_param` = '$primary_id', `action_state` = '$action_state'")) {
+		if ($app->db->query("INSERT INTO `sys_remoteaction` SET `server_id` = ?, `tstamp` = ?, `action_type` = ?, `action_param` = ?, `action_state` = ?", $server_id, $tstamp, $action_type, $primary_id, $action_state)) {
 			return true;
 		} else {
 			return false;
@@ -401,7 +403,7 @@
 		}
 
 		//* Check if there is no active mailbox with this address
-		$tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE postfix = 'y' AND email = '".$app->db->quote($params["source"])."'");
+		$tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE postfix = 'y' AND email = ?", $params["source"]);
 		if($tmp['number'] > 0) {
 			throw new SoapFault('duplicate', 'There is already a mailbox with this email address.');
 		}
@@ -423,7 +425,7 @@
 		}
 
 		//* Check if there is no active mailbox with this address
-		$tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE postfix = 'y' AND email = '".$app->db->quote($params["source"])."'");
+		$tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE postfix = 'y' AND email = ?", $params["source"]);
 		if($tmp['number'] > 0) {
 			throw new SoapFault('duplicate', 'There is already a mailbox with this email address.');
 		}
@@ -1059,9 +1061,8 @@
 			return false;
 		}
 		if (!empty($domain)) {
-			$domain       = $app->db->quote($domain);
-			$sql            = "SELECT * FROM mail_domain WHERE domain = '$domain'";
-			$result         = $app->db->queryAllRecords($sql);
+			$sql            = "SELECT * FROM mail_domain WHERE domain = ?";
+			$result         = $app->db->queryAllRecords($sql, $domain);
 			return          $result;
 		}
 		return false;
@@ -1079,8 +1080,8 @@
 			} else {
 				$status = 'n';
 			}
-			$sql = "UPDATE mail_domain SET active = '$status' WHERE domain_id = ".$app->functions->intval($primary_id);
-			$app->db->query($sql);
+			$sql = "UPDATE mail_domain SET active = ? WHERE domain_id = ?";
+			$app->db->query($sql, $status, $primary_id);
 			$result = $app->db->affectedRows();
 			return $result;
 		} else {

--
Gitblit v1.9.1