#!/usr/local/bin/perl -- -*- C -*- # Librarie de fonctions utilisees par la plupart des cgi du CRU # 21 Fev 97 Modification sub bon_domaine : recherche de la chaine "not found" $IconDir = "http://vespa.cru.fr/listes/images"; # Cherche des caracteres suspects dans une adresse electronique sub ripoux { local($adr) = @_; $adr =~ m/[\*\;\,\"\\\$\~\|\/\s]/; } # Verifie que le domaine de l'adresse existe sub bon_domaine { local($adr) = @_; $adr =~ m/@/; local($domain) = $'; open (HOST,"host $domain 2>&1 |") or die "Pb host !"; local($bon1) = 1; while (){ $bon1 = 0 if /Host not found/i; } close(HOST); if (!$bon1) { open (HOST,"nslookup -querytype=soa $domain 2>&1 |") or die "Pb nslookup !"; local($bon2) = 0; while (){ $bon2 = 1 if /.*origin/; } close(HOST); } return ($bon1 || $bon2); } # Verifie que l'adresse contient un @ sub a_un_domaine { local($adr) = @_; $adr =~ m/.*@/; } # Verifie que l'adresse correspond a une liste cataloguee sub liste_connue { local($adr) = @_; open (LS,"ls -d /var/www/LISTES/*@* |"); local($trouve) = 0; while () { if (/.*$adr/) { $trouve = 1; } } close(LS); $trouve ; } # Affiche le message passe en parametre sub aff_msg { local($msg) = @_; print <<"***FIN*HTML***"; Content-type: text/html



$msg

***FIN*HTML*** } # Affiche le message passe en parametre dans une fenetre passee en parametre sub aff_msg_dans { local($fenetre) = pop(@_); local($msg) = @_; print <<"***FIN*HTML***"; Content-type: text/html Window-Target: $fenetre



$msg

***FIN*HTML*** } 1; #return true