Checking MX when hosting a mail. Fixes #1074

This commit is contained in:
Benjamin Sonntag 2007-09-09 20:33:30 +00:00
parent 06fe7d5e98
commit c6fcdcb271
3 changed files with 16 additions and 6 deletions

View File

@ -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;
} }
} }

View File

@ -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
debian/changelog vendored
View File

@ -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)