From 28eadb79e75b5d0ad4b2a576bd5f068c45e6d366 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 24 Sep 2010 12:27:12 +0000
Subject: [PATCH] Fixed: FS#1332 - Punycoded russian domain names in ISPConfig
 3

---
 interface/lib/classes/tform.inc.php                    | 2 +-
 interface/web/dns/dns_wizard.php                       | 4 ++--
 interface/web/dns/form/dns_soa.tform.php               | 2 +-
 interface/web/domain/form/domain.tform.php             | 2 +-
 interface/web/mail/form/mail_aliasdomain.tform.php     | 2 +-
 interface/web/mail/form/mail_domain.tform.php          | 2 +-
 interface/web/mail/form/mail_domain_catchall.tform.php | 2 +-
 interface/web/mail/form/mail_get.tform.php             | 2 +-
 interface/web/mail/form/mail_user.tform.php            | 2 +-
 interface/web/sites/form/web_aliasdomain.tform.php     | 2 +-
 interface/web/sites/form/web_domain.tform.php          | 2 +-
 interface/web/sites/form/web_subdomain.tform.php       | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 49fd2bd363..79f040bf1b 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -734,7 +734,7 @@ class tform {
                                         }
                                 break;
                                 case 'ISEMAIL':
-                                        if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) {
+                                        if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i", $field_value)) {
                                                 $errmsg = $validator['errmsg'];
                                                 if(isset($this->wordbook[$errmsg])) {
                                                     $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php
index fd2f9d6faf..0fb549810d 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -138,10 +138,10 @@ if($_POST['create'] == 1) {
 	if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty').'<br />';
 	if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty').'<br />';
 	
-	if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'<br />';
+	if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'<br />';
 	if(isset($_POST['ns1']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['ns1'])) $error .= $app->lng('error_ns1_regex').'<br />';
 	if(isset($_POST['ns2']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['ns2'])) $error .= $app->lng('error_ns2_regex').'<br />';
-	if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z]{2,10}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'<br />';
+	if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'<br />';
 	
 	// make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it
 	if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($_POST['client_group_id'])) {
diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php
index 66ac1031dd..c5f6f31a70 100644
--- a/interface/web/dns/form/dns_soa.tform.php
+++ b/interface/web/dns/form/dns_soa.tform.php
@@ -82,7 +82,7 @@ $form["tabs"]['dns_soa'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'origin_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z]{2,10}[\.]{0,1}$/',
+														'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z\-]{2,10}[\.]{0,1}$/',
 														'errmsg'=> 'origin_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/domain/form/domain.tform.php b/interface/web/domain/form/domain.tform.php
index 9cd5422844..2617fc23b5 100644
--- a/interface/web/domain/form/domain.tform.php
+++ b/interface/web/domain/form/domain.tform.php
@@ -93,7 +93,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_aliasdomain.tform.php b/interface/web/mail/form/mail_aliasdomain.tform.php
index ae06013d97..026d0aa6e9 100644
--- a/interface/web/mail/form/mail_aliasdomain.tform.php
+++ b/interface/web/mail/form/mail_aliasdomain.tform.php
@@ -74,7 +74,7 @@ $form["tabs"]['alias'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'source_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'source_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php
index 98983c2c15..5f8c51fe5b 100644
--- a/interface/web/mail/form/mail_domain.tform.php
+++ b/interface/web/mail/form/mail_domain.tform.php
@@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_domain_catchall.tform.php b/interface/web/mail/form/mail_domain_catchall.tform.php
index 85c2f96c56..120466b59c 100644
--- a/interface/web/mail/form/mail_domain_catchall.tform.php
+++ b/interface/web/mail/form/mail_domain_catchall.tform.php
@@ -74,7 +74,7 @@ $form["tabs"]['catchall'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^\@[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^\@[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_get.tform.php b/interface/web/mail/form/mail_get.tform.php
index d25167a367..13b963d98d 100644
--- a/interface/web/mail/form/mail_get.tform.php
+++ b/interface/web/mail/form/mail_get.tform.php
@@ -81,7 +81,7 @@ $form["tabs"]['mailget'] = array (
 			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
 														'errmsg'=> 'source_server_error_isempty'),
 										1 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'source_server_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php
index 06fa18a230..6cb792ac6d 100644
--- a/interface/web/mail/form/mail_user.tform.php
+++ b/interface/web/mail/form/mail_user.tform.php
@@ -114,7 +114,7 @@ $form["tabs"]['mailuser'] = array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
-														'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z]{2,10}){0,1}$/i',
+														'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z\-]{2,10}){0,1}$/i',
 														'errmsg'=> 'cc_error_isemail'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php
index ff11da53d7..e8ed0b3c8f 100644
--- a/interface/web/sites/form/web_aliasdomain.tform.php
+++ b/interface/web/sites/form/web_aliasdomain.tform.php
@@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index a21a4850d8..09d34d3c91 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -97,7 +97,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php
index 0416387299..f81ee8d553 100644
--- a/interface/web/sites/form/web_subdomain.tform.php
+++ b/interface/web/sites/form/web_subdomain.tform.php
@@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array (
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
-- 
GitLab