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/dns.inc.php |   92 +++++++++++++++++++++++++++++++---------------
 1 files changed, 62 insertions(+), 30 deletions(-)

diff --git a/interface/lib/classes/remote.d/dns.inc.php b/interface/lib/classes/remote.d/dns.inc.php
index 1e9526a..57f7040 100644
--- a/interface/lib/classes/remote.d/dns.inc.php
+++ b/interface/lib/classes/remote.d/dns.inc.php
@@ -50,9 +50,9 @@
 			return false;
 		}
 
-		$client = $app->db->queryOneRecord("SELECT default_dnsserver FROM client WHERE client_id = ".$app->functions->intval($client_id));
+		$client = $app->db->queryOneRecord("SELECT default_dnsserver FROM client WHERE client_id = ?", $client_id);
 		$server_id = $client["default_dnsserver"];
-		$template_record = $app->db->queryOneRecord("SELECT * FROM dns_template WHERE template_id = '$template_id'");
+		$template_record = $app->db->queryOneRecord("SELECT * FROM dns_template WHERE template_id = ?", $template_id);
 		$fields = explode(',', $template_record['fields']);
 		$tform_def_file = "../../web/dns/form/dns_soa.tform.php";
 		$app->uses('tform');
@@ -95,11 +95,11 @@
 					if($section == 'dns_records') {
 						$parts = explode('|', $row);
 						$dns_rr[] = array(
-							'name' => $app->db->quote($parts[1]),
-							'type' => $app->db->quote($parts[0]),
-							'data' => $app->db->quote($parts[2]),
-							'aux'  => $app->db->quote($parts[3]),
-							'ttl'  => $app->db->quote($parts[4])
+							'name' => $parts[1],
+							'type' => $parts[0],
+							'data' => $parts[2],
+							'aux'  => $parts[3],
+							'ttl'  => $parts[4]
 						);
 					}
 				}
@@ -117,30 +117,62 @@
 
 		if($error == '') {
 			// Insert the soa record
-			$tmp = $app->db->queryOneRecord("SELECT userid,default_group FROM sys_user WHERE client_id = ".$app->functions->intval($client_id));
+			$tmp = $app->db->queryOneRecord("SELECT userid,default_group FROM sys_user WHERE client_id = ?", $client_id);
 			$sys_userid = $tmp['userid'];
 			$sys_groupid = $tmp['default_group'];
 			unset($tmp);
-			$origin = $app->db->quote($vars['origin']);
-			$ns = $app->db->quote($vars['ns']);
-			$mbox = $app->db->quote(str_replace('@', '.', $vars['mbox']));
-			$refresh = $app->db->quote($vars['refresh']);
-			$retry = $app->db->quote($vars['retry']);
-			$expire = $app->db->quote($vars['expire']);
-			$minimum = $app->db->quote($vars['minimum']);
-			$ttl = $app->db->quote($vars['ttl']);
-			$xfer = $app->db->quote($vars['xfer']);
-			$also_notify = $app->db->quote($vars['also_notify']);
-			$update_acl = $app->db->quote($vars['update_acl']);
+			$origin = $vars['origin'];
+			$ns = $vars['ns'];
+			$mbox = str_replace('@', '.', $vars['mbox']);
+			$refresh = $vars['refresh'];
+			$retry = $vars['retry'];
+			$expire = $vars['expire'];
+			$minimum = $vars['minimum'];
+			$ttl = $vars['ttl'];
+			$xfer = $vars['xfer'];
+			$also_notify = $vars['also_notify'];
+			$update_acl = $vars['update_acl'];
 			$serial = $app->validate_dns->increase_serial(0);
-			$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `origin`, `ns`, `mbox`, `serial`, `refresh`, `retry`, `expire`, `minimum`, `ttl`, `active`, `xfer`, `also_notify`, `update_acl`) VALUES
-			('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$origin', '$ns', '$mbox', '$serial', '$refresh', '$retry', '$expire', '$minimum', '$ttl', 'Y', '$xfer', '$also_notify', '$update_acl')";
+			$insert_data = array(
+				"sys_userid" => $sys_userid,
+				"sys_groupid" => $sys_groupid,
+				"sys_perm_user" => 'riud',
+				"sys_perm_group" => 'riud',
+				"sys_perm_other" => '',
+				"server_id" => $server_id,
+				"origin" => $origin,
+				"ns" => $ns,
+				"mbox" => $mbox,
+				"serial" => $serial,
+				"refresh" => $refresh,
+				"retry" => $retry,
+				"expire" => $expire,
+				"minimum" => $minimum,
+				"ttl" => $ttl,
+				"active" => 'Y',
+				"xfer" => $xfer,
+				"also_notify" => $also_notify,
+				"update_acl" => $update_acl
+			);
 			$dns_soa_id = $app->db->datalogInsert('dns_soa', $insert_data, 'id');
 			// Insert the dns_rr records
 			if(is_array($dns_rr) && $dns_soa_id > 0) {
 				foreach($dns_rr as $rr) {
-					$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `zone`, `name`, `type`, `data`, `aux`, `ttl`, `active`) VALUES
-					('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$dns_soa_id', '$rr[name]', '$rr[type]', '$rr[data]', '$rr[aux]', '$rr[ttl]', 'Y')";
+					$insert_data = array(
+						"sys_userid" => $sys_userid,
+						"sys_groupid" => $sys_groupid,
+						"sys_perm_user" => 'riud',
+						"sys_perm_group" => 'riud',
+						"sys_perm_other" => '',
+						"server_id" => $server_id,
+						"zone" => $dns_soa_id,
+						"name" => $rr['name'],
+						"type" => $rr['type'],
+						"data" => $rr['data'],
+						"aux" => $rr['aux'],
+						"ttl" => $rr['ttl'],
+						"active" => 'Y'
+					);
 					$dns_rr_id = $app->db->datalogInsert('dns_rr', $insert_data, 'id');
 				}
 			}
@@ -180,7 +212,7 @@
 			return false;
 		}
 
-		$rec = $app->db->queryOneRecord("SELECT id FROM dns_soa WHERE origin like '".$origin."%'");
+		$rec = $app->db->queryOneRecord("SELECT id FROM dns_soa WHERE origin like ?", $origin."%");
 		if(isset($rec['id'])) {
 			return $app->functions->intval($rec['id']);
 		} else {
@@ -764,8 +796,8 @@
 		if (!empty($client_id) && !empty($server_id)) {
 			$server_id      = $app->functions->intval($server_id);
 			$client_id      = $app->functions->intval($client_id);
-			$sql            = "SELECT id, origin FROM dns_soa d INNER JOIN sys_user s on(d.sys_groupid = s.default_group) WHERE client_id = $client_id AND server_id = $server_id";
-			$result         = $app->db->queryAllRecords($sql);
+			$sql            = "SELECT id, origin FROM dns_soa d INNER JOIN sys_user s on(d.sys_groupid = s.default_group) WHERE client_id = ? AND server_id = ?";
+			$result         = $app->db->queryAllRecords($sql, $client_id, $server_id);
 			return          $result;
 		}
 		return false;
@@ -785,8 +817,8 @@
 			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
 			return false;
 		}
-		$sql    = "SELECT * FROM dns_rr WHERE zone = ".$app->functions->intval($zone_id);;
-		$result = $app->db->queryAllRecords($sql);
+		$sql    = "SELECT * FROM dns_rr WHERE zone = ?";
+		$result = $app->db->queryAllRecords($sql, $zone_id);
 		return $result;
 	}
 
@@ -809,8 +841,8 @@
 			} else {
 				$status = 'N';
 			}
-			$sql = "UPDATE dns_soa SET active = '$status' WHERE id = ".$app->functions->intval($primary_id);
-			$app->db->query($sql);
+			$sql = "UPDATE dns_soa SET active = ? WHERE id = ?";
+			$app->db->query($sql, $status, $primary_id);
 			$result = $app->db->affectedRows();
 			return $result;
 		} else {

--
Gitblit v1.9.1