Skip to content

Commit db6af21

Browse files
author
Marius Burkard
committed
Merge branch 'patch-check-aliasdomain' into 'stable-3.1'
Filter aliasdomains like the form does for API calls See merge request ispconfig/ispconfig3!939
2 parents f6bb7aa + fe83d4b commit db6af21

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

interface/lib/classes/remote.d/mail.inc.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,9 @@ public function mail_user_add($session_id, $client_id, $params){
208208

209209
//* Check if mail domain exists
210210
$email_parts = explode('@', $params['email']);
211-
$tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = ?", $email_parts[1]);
211+
$tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = ? AND domain NOT IN (SELECT SUBSTR(source,2) FROM mail_forwarding WHERE type = 'aliasdomain')", $email_parts[1]);
212212
if($tmp['domain'] != $email_parts[1]) {
213-
throw new SoapFault('mail_domain_does_not_exist', 'Mail domain - '.$email_parts[1].' - does not exist.');
213+
throw new SoapFault('mail_domain_does_not_exist', 'Mail domain - '.$email_parts[1].' - does not exist as primary.');
214214
return false;
215215
}
216216

@@ -234,11 +234,11 @@ public function mail_user_update($session_id, $client_id, $primary_id, $params)
234234
return false;
235235
}
236236

237-
//* Check if mail domain exists
237+
//* Check if mail domain exists, and is not used as aliasdomain
238238
$email_parts = explode('@', $params['email']);
239-
$tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = ?", $email_parts[1]);
239+
$tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = ? AND domain NOT IN (SELECT SUBSTR(source,2) FROM mail_forwarding WHERE type = 'aliasdomain')", $email_parts[1]);
240240
if($tmp['domain'] != $email_parts[1]) {
241-
throw new SoapFault('mail_domain_does_not_exist', 'Mail domain - '.$email_parts[1].' - does not exist.');
241+
throw new SoapFault('mail_domain_does_not_exist', 'Mail domain - '.$email_parts[1].' - does not exist as primary.');
242242
return false;
243243
}
244244

0 commit comments

Comments
 (0)