tform->wordbook[$errmsg])) {
return $app->tform->wordbook[$errmsg]."
\r\n";
} else {
return $errmsg."
\r\n";
}
}
/**
* Validator function for private DKIM-Key
*/
function check_private_key($field_name, $field_value, $validator) {
$dkim_enabled=$_POST['dkim'];
if ($dkim_enabled == 'y') {
if (empty($field_value)) return $this->get_error($validator['errmsg']);
exec('echo '.escapeshellarg($field_value).'|openssl rsa -check',$output,$result);
if($result != 0) return $this->get_error($validator['errmsg']);
}
}
/**
* Validator function for DKIM Path
* @return boolean - true when the dkim-path exists and is writeable
*/
function check_dkim_path($field_name, $field_value, $validator) {
if(empty($field_value)) return $this->get_error($validator['errmsg']);
if (substr(sprintf('%o', fileperms($field_value)),-3) <= 600)
return $this->get_error($validator['errmsg']);
}
/**
* Check function for DNS-Template
*/
function check_template($field_name, $field_value, $validator) {
$dkim=false;
foreach($field_value as $field ) { if($field == 'DKIM') $dkim=true; }
if ($dkim && $field_value[0]!='DOMAIN') return $this->get_error($validator['errmsg']);
}
/**
* Validator function for $_POST
*
* @return boolean - true if $POST contains a real key-file
*/
function validate_post($key,$value) {
switch ($key) {
case 'public':
if (preg_match("/(^-----BEGIN PUBLIC KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,221}(-----END PUBLIC KEY-----(\n|\r)$)/",$value) === 1) { return true; } else { return false; }
break;
case 'private':
if (preg_match("/(^-----BEGIN RSA PRIVATE KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,850}(-----END RSA PRIVATE KEY-----(\n|\r)$)/",$value) === 1) { return true; } else { return false; }
break;
}
}
}