diff --git a/admin_domains.php b/admin_domains.php index 7168dedc..3a093752 100644 --- a/admin_domains.php +++ b/admin_domains.php @@ -377,7 +377,8 @@ if($page == 'domains' if($aliasdomain != 0) { - $aliasdomain_check = $db->query_first('SELECT `id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`,`' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`customerid`=\'' . (int)$customerid . '\' AND `d`.`aliasdomain` IS NULL AND `d`.`id`<>`c`.`standardsubdomain` AND `c`.`customerid`=\'' . (int)$customerid . '\' AND `d`.`id`=\'' . (int)$aliasdomain . '\''); + // also check ip/port combination to be the same, #176 + $aliasdomain_check = $db->query_first('SELECT `d`.id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`,`' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`customerid`=\'' . (int)$customerid . '\' AND `d`.`aliasdomain` IS NULL AND `d`.`id`<>`c`.`standardsubdomain` AND `c`.`customerid`=\'' . (int)$customerid . '\' AND `d`.`id`=\'' . (int)$aliasdomain . '\' AND `d`.`ipandport` = \''.(int)$ipandport.'\''); } if($openbasedir != '1') @@ -890,7 +891,8 @@ if($page == 'domains' if($aliasdomain != 0) { - $aliasdomain_check = $db->query_first('SELECT `id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`,`' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`customerid`=\'' . (int)$result['customerid'] . '\' AND `d`.`aliasdomain` IS NULL AND `d`.`id`<>`c`.`standardsubdomain` AND `c`.`customerid`=\'' . (int)$result['customerid'] . '\' AND `d`.`id`=\'' . (int)$aliasdomain . '\''); + // also check ip/port combination to be the same, #176 + $aliasdomain_check = $db->query_first('SELECT `d`.`id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`,`' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`customerid`=\'' . (int)$result['customerid'] . '\' AND `d`.`aliasdomain` IS NULL AND `d`.`id`<>`c`.`standardsubdomain` AND `c`.`customerid`=\'' . (int)$result['customerid'] . '\' AND `d`.`id`=\'' . (int)$aliasdomain . '\' AND `d`.`ipandport` = \''.(int)$ipandport.'\''); } if($aliasdomain_check['id'] != $aliasdomain) diff --git a/customer_domains.php b/customer_domains.php index cae2be9c..8d013af7 100644 --- a/customer_domains.php +++ b/customer_domains.php @@ -229,7 +229,8 @@ elseif($page == 'domains') if($aliasdomain != 0) { - $aliasdomain_check = $db->query_first('SELECT `id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`,`' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`customerid`=\'' . (int)$userinfo['customerid'] . '\' AND `d`.`aliasdomain` IS NULL AND `d`.`id`<>`c`.`standardsubdomain` AND `c`.`customerid`=\'' . (int)$userinfo['customerid'] . '\' AND `d`.`id`=\'' . (int)$aliasdomain . '\''); + // also check ip/port combination to be the same, #176 + $aliasdomain_check = $db->query_first('SELECT `id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`,`' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`customerid`=\'' . (int)$userinfo['customerid'] . '\' AND `d`.`aliasdomain` IS NULL AND `d`.`id`<>`c`.`standardsubdomain` AND `c`.`customerid`=\'' . (int)$userinfo['customerid'] . '\' AND `d`.`id`=\'' . (int)$aliasdomain . '\' AND `d`.`ipandport` = \''.(int)$domain_check['ipandport'].'\''); } if(isset($_POST['url']) @@ -480,7 +481,8 @@ elseif($page == 'domains') { $result['domain'] = $idna_convert->decode($result['domain']); $domains = makeoption($lng['domains']['noaliasdomain'], 0, $result['aliasdomain'], true); - $result_domains = $db->query("SELECT `d`.`id`, `d`.`domain` FROM `" . TABLE_PANEL_DOMAINS . "` `d`, `" . TABLE_PANEL_CUSTOMERS . "` `c` WHERE `d`.`aliasdomain` IS NULL AND `d`.`id`<>'" . (int)$result['id'] . "' AND `c`.`standardsubdomain`<>`d`.`id` AND `d`.`customerid`='" . (int)$userinfo['customerid'] . "' AND `c`.`customerid`=`d`.`customerid` ORDER BY `d`.`domain` ASC"); + // also check ip/port combination to be the same, #176 + $result_domains = $db->query("SELECT `d`.`id`, `d`.`domain` FROM `" . TABLE_PANEL_DOMAINS . "` `d`, `" . TABLE_PANEL_CUSTOMERS . "` `c` WHERE `d`.`aliasdomain` IS NULL AND `d`.`id`<>'" . (int)$result['id'] . "' AND `c`.`standardsubdomain`<>`d`.`id` AND `d`.`customerid`='" . (int)$userinfo['customerid'] . "' AND `c`.`customerid`=`d`.`customerid` AND `d`.`ipandport` = '".(int)$result['ipandport']."' ORDER BY `d`.`domain` ASC"); while($row_domain = $db->fetch_array($result_domains)) { diff --git a/lng/english.lng.php b/lng/english.lng.php index 7fc33e38..eb02cf36 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -227,7 +227,7 @@ $lng['error']['wwwnotallowed'] = 'www is not allowed for subdomains.'; $lng['error']['subdomainiswrong'] = 'The subdomain %s contains invalid characters.'; $lng['error']['domaincantbeempty'] = 'The domain-name can not be empty.'; $lng['error']['domainexistalready'] = 'The domain %s already exists.'; -$lng['error']['domainisaliasorothercustomer'] = 'The selected alias domain is either itself an alias domain or belongs to another customer.'; +$lng['error']['domainisaliasorothercustomer'] = 'The selected alias domain is either itself an alias domain, has a different ip/port combination or belongs to another customer.'; $lng['error']['emailexistalready'] = 'The e-mail-Address %s already exists.'; $lng['error']['maindomainnonexist'] = 'The main-domain %s does not exist.'; $lng['error']['destinationnonexist'] = 'Please create your forwarder in the field \'Destination\'.'; diff --git a/lng/german.lng.php b/lng/german.lng.php index ec891882..b2764df5 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -227,7 +227,7 @@ $lng['error']['wwwnotallowed'] = 'Ihre Subdomain darf nicht www heissen.'; $lng['error']['subdomainiswrong'] = 'Die Subdomain %s enthält ungültige Zeichen.'; $lng['error']['domaincantbeempty'] = 'Der Domain-Name darf nicht leer sein.'; $lng['error']['domainexistalready'] = 'Die Domain %s existiert bereits.'; -$lng['error']['domainisaliasorothercustomer'] = 'Die ausgewählte Aliasdomain ist entweder selber eine Aliasdomain oder gehört zu einem anderen Kunden.'; +$lng['error']['domainisaliasorothercustomer'] = 'Die ausgewählte Aliasdomain ist entweder selber eine Aliasdomain, hat nicht die gleiche IP/Port Kombination oder gehört zu einem anderen Kunden.'; $lng['error']['emailexistalready'] = 'Die E-Mail-Adresse %s existiert bereits.'; $lng['error']['maindomainnonexist'] = 'Die Haupt-Domain %s existiert nicht.'; $lng['error']['destinationnonexist'] = 'Bitte geben Sie Ihre Weiterleitungsadresse im Feld \'Nach\' ein.';