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)