Checking MX when hosting a mail. Fixes #1074
This commit is contained in:
parent
06fe7d5e98
commit
c6fcdcb271
|
@ -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 $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é,
|
* @param integer $mx Nom fqdn du serveur mx, si le mx local est précisé,
|
||||||
* on héberge alors les mails du domaine.
|
* 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
|
* @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,
|
* fonction du champs MX. Retourne FALSE si une erreur s'est produite,
|
||||||
* TRUE sinon.
|
* TRUE sinon.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function edit_domain($dom,$dns,$mx) {
|
function edit_domain($dom,$dns,$mx,$force==0) {
|
||||||
global $db,$err,$L_MX,$classes,$cuid;
|
global $db,$err,$L_MX,$classes,$cuid;
|
||||||
$err->log("dom","edit_domain",$dom);
|
$err->log("dom","edit_domain",$dom);
|
||||||
// Locked ?
|
// Locked ?
|
||||||
if (!$this->islocked) {
|
if (!$this->islocked && !$force) {
|
||||||
$err->raise("dom",3);
|
$err->raise("dom",3);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ($dns == 1) {
|
if ($dns == 1 && !$force) {
|
||||||
$this->dns=$this->whois($dom);
|
$this->dns=$this->whois($dom);
|
||||||
$v=checkhostallow($dom,$this->dns);
|
$v=checkhostallow($dom,$this->dns);
|
||||||
if ($v==-1) {
|
if ($v==-1) {
|
||||||
|
@ -792,14 +793,18 @@ class m_dom {
|
||||||
$gesmx="0";
|
$gesmx="0";
|
||||||
|
|
||||||
//si gestion mx uniquement, vérification du dns externe
|
//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);
|
$vmx = $this->checkmx($dom,$mx);
|
||||||
if ($vmx == 1) {
|
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) {
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -170,6 +170,10 @@ msgstr ""
|
||||||
msgid "err_dom_24"
|
msgid "err_dom_24"
|
||||||
msgstr ""
|
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
|
#. - Entrez le nom du domaine que vous souhaitez héberger. Le nom de domaine
|
||||||
#. doit être complet, mais <b>sans le www.</b><br /> IMPORTANT : Si vous voulez
|
#. doit être complet, mais <b>sans le www.</b><br /> IMPORTANT : Si vous voulez
|
||||||
#. un hébergement réel de domaine, il faut que les DNS de votre domaine
|
#. un hébergement réel de domaine, il faut que les DNS de votre domaine
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
alternc (0.9.6.5-12) testing; urgency=low
|
alternc (0.9.6.5-12) testing; urgency=low
|
||||||
|
|
||||||
|
* Fixing MX check when hosting a mail (#1706)
|
||||||
* Fixing dns / nodns issue (#772)
|
* Fixing dns / nodns issue (#772)
|
||||||
* using apache-modconf again ...
|
* using apache-modconf again ...
|
||||||
* Choose english as default language, (#1047)
|
* Choose english as default language, (#1047)
|
||||||
|
|
Loading…
Reference in New Issue