diff --git a/bureau/class/m_dom.php b/bureau/class/m_dom.php index e99b1721..5ac60f92 100644 --- a/bureau/class/m_dom.php +++ b/bureau/class/m_dom.php @@ -740,20 +740,21 @@ class m_dom { * @param integer $dns Vaut 1 ou 0 pour héberger ou pas le DNS du domaine * @param integer $mx Nom fqdn du serveur mx, si le mx local est précisé, * on héberge alors les mails du domaine. + * @param boolean $force Faut-il passer les checks DNS ou MX ? (admin only) * @return boolean appelle $mail->add_dom ou $ma->del_dom si besoin, en * fonction du champs MX. Retourne FALSE si une erreur s'est produite, * TRUE sinon. * */ - function edit_domain($dom,$dns,$mx) { + function edit_domain($dom,$dns,$mx,$force==0) { global $db,$err,$L_MX,$classes,$cuid; $err->log("dom","edit_domain",$dom); // Locked ? - if (!$this->islocked) { + if (!$this->islocked && !$force) { $err->raise("dom",3); return false; } - if ($dns == 1) { + if ($dns == 1 && !$force) { $this->dns=$this->whois($dom); $v=checkhostallow($dom,$this->dns); if ($v==-1) { @@ -792,14 +793,18 @@ class m_dom { $gesmx="0"; //si gestion mx uniquement, vérification du dns externe - if ($dns=="0" && $gesmx=="1") { + if ($dns=="0" && $gesmx=="1" && !$force) { $vmx = $this->checkmx($dom,$mx); if ($vmx == 1) { - //aucun champ mx de spécifié sur le dns + // Aucun champ mx de spécifié sur le dns + $err->raise("dom",25); + return false; } if ($vmx == 2) { - //serveur non spécifié parmi les champx mx + // Serveur non spécifié parmi les champx mx + $err->raise("dom",25); + return false; } } diff --git a/bureau/locales/manual.pot b/bureau/locales/manual.pot index 270b4a5f..71f029fd 100644 --- a/bureau/locales/manual.pot +++ b/bureau/locales/manual.pot @@ -170,6 +170,10 @@ msgstr "" msgid "err_dom_24" msgstr "" +#. There is no MX record pointing to this server, and you are asking us to host the Mail here +msgid "err_dom_25" +msgstr "" + #. - Entrez le nom du domaine que vous souhaitez héberger. Le nom de domaine #. doit être complet, mais sans le www.
IMPORTANT : Si vous voulez #. un hébergement réel de domaine, il faut que les DNS de votre domaine diff --git a/debian/changelog b/debian/changelog index 8254c5af..9308c768 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ alternc (0.9.6.5-12) testing; urgency=low + * Fixing MX check when hosting a mail (#1706) * Fixing dns / nodns issue (#772) * using apache-modconf again ... * Choose english as default language, (#1047)