diff --git a/interface/web/dns/dns_dkim_edit.php b/interface/web/dns/dns_dkim_edit.php index 71741d00f2a5aec1b28117bafe0d63f404cebb0a..41a23852c923430b17b1ed8482511e70f13b131c 100644 --- a/interface/web/dns/dns_dkim_edit.php +++ b/interface/web/dns/dns_dkim_edit.php @@ -70,12 +70,20 @@ class page_action extends tform_actions { } parent::onShowNew(); + + $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = ? AND ?'", $_GET['zone'], $app->tform->getAuthSQL('r')); + $sql=$app->db->queryOneRecord("SELECT dkim_public, dkim_selector FROM mail_domain WHERE domain = ? AND dkim = 'y' AND ?", substr_replace($soa['origin'],'',-1), $app->tform->getAuthSQL('r')); + $public_key=str_replace(array('-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----',"\r","\n"),'',$sql['dkim_public']); + $app->tpl->setVar('public_key', $public_key); + $app->tpl->setVar('selector', $sql['dkim_selector']); + $app->tpl->setVar('name', $soa['origin']); + } function onSubmit() { global $app, $conf; // Get the parent soa record of the domain - $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = ? AND ".$app->tform->getAuthSQL('r'), $app->functions->intval($_POST["zone"])); + $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = ? AND ?", $_POST["zone"], $app->tform->getAuthSQL('r')); // Check if Domain belongs to user if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"]; @@ -101,16 +109,15 @@ class page_action extends tform_actions { $this->dataRecord['data']='v=DKIM1; t=s; p='.$this->dataRecord['data']; $this->dataRecord['name']=$this->dataRecord['selector'].'._domainkey.'.$this->dataRecord['name']; } - // Update the serial number and timestamp of the RR record - $soa = $app->db->queryOneRecord("SELECT serial FROM dns_rr WHERE id = ?", $this->id); - $this->dataRecord["serial"] = $app->validate_dns->increase_serial($soa["serial"]); - $this->dataRecord["stamp"] = date('Y-m-d H:i:s'); - - // check for duplicate entry - $check=$app->db->queryOneRecord("SELECT * FROM dns_rr WHERE zone = ? AND type = ? AND data = ? AND name = ?", $this->dataRecord['zone'], $this->dataRecord['type'], $this->dataRecord['data'], $this->dataRecord['name']); - if ($check!='') $app->tform->errorMessage .= $app->tform->wordbook["record_exists_txt"]; - if (empty($this->dataRecord['data'])) $app->tform->errorMessage .= $app->tform->wordbook["dkim_disabled_txt"]; - + // Update the serial number and timestamp of the RR record + $soa = $app->db->queryOneRecord("SELECT serial FROM dns_rr WHERE id = ?", $this->id); + $this->dataRecord["serial"] = $app->validate_dns->increase_serial($soa["serial"]); + $this->dataRecord["stamp"] = date('Y-m-d H:i:s'); + + // check for duplicate entry + $check=$app->db->queryOneRecord("SELECT * FROM dns_rr WHERE zone = ? AND type = ? AND data = ? AND name = ?", $this->dataRecord["zone"], $this->dataRecord["type"], $this->dataRecord["data"], $this->dataRecord['name']); + if ($check!='') $app->tform->errorMessage .= $app->tform->wordbook["record_exists_txt"]; + if (empty($this->dataRecord['data'])) $app->tform->errorMessage .= $app->tform->wordbook["dkim_disabled_txt"]; parent::onSubmit(); } @@ -118,7 +125,7 @@ class page_action extends tform_actions { global $app, $conf; //* Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record - $soa = $app->db->queryOneRecord("SELECT sys_groupid,serial FROM dns_soa WHERE id = ? AND ".$app->tform->getAuthSQL('r'), $app->functions->intval($this->dataRecord['zone'])); + $soa = $app->db->queryOneRecord("SELECT sys_groupid,serial FROM dns_soa WHERE id = ? AND ?", $this->dataRecord["zone"], $app->tform->getAuthSQL('r')); $app->db->datalogUpdate('dns_rr', "sys_groupid = ".$soa['sys_groupid'], 'id', $this->id); //* Update the serial number of the SOA record @@ -131,7 +138,7 @@ class page_action extends tform_actions { global $app, $conf; //* Update the serial number of the SOA record - $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = ? AND ".$app->tform->getAuthSQL('r'), $app->functions->intval($this->dataRecord["zone"])); + $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = ? AND ?", $this->dataRecord["zone"], $app->tform->getAuthSQL('r')); $soa_id = $app->functions->intval($_POST["zone"]); $serial = $app->validate_dns->increase_serial($soa["serial"]); $app->db->datalogUpdate('dns_soa', "serial = $serial", 'id', $soa_id); diff --git a/interface/web/dns/dns_dkim_get.php b/interface/web/dns/dns_dkim_get.php deleted file mode 100644 index 9c33ce217babfc4ab007320494ae10ffb1f57a6e..0000000000000000000000000000000000000000 --- a/interface/web/dns/dns_dkim_get.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php -/** -Copyright (c) 2007 - 2013, Till Brehm, projektfarm Gmbh -Copyright (c) 2013, Florian Schaal, info@schaal-24.de -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of ISPConfig nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/** -* This script is invoked by interface/web/dns/templates/dns_dkim_edit.htm -* when generating the DKIM Private-key. -* -* return DKIM Public-Key for the DNS-record -*/ - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); - -//* Check permissions for module -$app->auth->check_module_permissions('dns'); - -global $app, $conf; - -// Loading classes -$app->uses('tform,tform_actions'); - -header('Content-Type: text/xml; charset=utf-8'); -header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); - -/** -* This function fix PHP's messing up POST input containing characters space, dot, -* open square bracket and others to be compatible with with the deprecated register_globals -* @return array POST -*/ - -function getRealPOST() { - $pairs = explode("&", file_get_contents("php://input")); - $vars = array(); - foreach ($pairs as $pair) { - $nv = explode("=", $pair, 2); - $name = urldecode($nv[0]); - $value = $nv[1]; - $vars[$name] = $value; - } - return $vars; -} - -$_POST=getRealPost(); - -if (ctype_digit($_POST['zone'])) { - // Get the parent soa record of the domain - $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = ? and ?'", $app->db->quote($_POST['zone']), $app->tform->getAuthSQL('r')); - - $sql=$app->db->queryOneRecord("SELECT dkim_public, dkim_selector FROM mail_domain WHERE domain = ? AND dkim = 'Y' AND ?", substr_replace($soa['origin'],'',-1), $app->tform->getAuthSQL('r')); - $public_key=str_replace(array('-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----',"\r","\n"),'',$sql['dkim_public']); - - echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; - echo "<formatname>\n"; - echo "<data>".$public_key."</data>\n"; - echo "<name>".$soa['origin']."</name>\n"; - echo "<selector>".$sql['dkim_selector']."</selector>\n"; - echo "</formatname>\n"; -} -?> diff --git a/interface/web/dns/templates/dns_dkim_edit.htm b/interface/web/dns/templates/dns_dkim_edit.htm index 052f6d56a7ce2adceaacd9256d3bc0cdf6f95587..85773a106df115496cfb8b90091a9ce415d28652 100644 --- a/interface/web/dns/templates/dns_dkim_edit.htm +++ b/interface/web/dns/templates/dns_dkim_edit.htm @@ -6,11 +6,11 @@ <fieldset class="inlineLabels"> <div class="ctrlHolder"> <label for="data">{tmpl_var name='public_key_txt'}</label> - <textarea name="data" id="data" >{tmpl_var name='public_key'}</textarea> + <textarea readonly name="data" id="data" >{tmpl_var name='public_key'}</textarea> </div> <div class="ctrlHolder"> <label for="selector">{tmpl_var name='selector_txt'}</label> - <input name="selector" id="selector" value="{tmpl_var name='selector'}" size="20" maxlength="63" type="text" class="textInput" /> + <input name="selector" id="selector" value="{tmpl_var name='selector'}" size="20" maxlength="63" type="text" readonly class="textInput" /> </div> <div class="ctrlHolder"> <label for="ttl">{tmpl_var name='ttl_txt'}</label> @@ -38,5 +38,4 @@ </div> </div> -<script language="JavaScript" type="text/javascript" src="js/dns_dkim.js"></script>