diff --git a/admin/lib/Evoauth/Functions.pm b/admin/lib/Evoauth/Functions.pm index 812f734..e580f1d 100644 --- a/admin/lib/Evoauth/Functions.pm +++ b/admin/lib/Evoauth/Functions.pm @@ -12,6 +12,8 @@ sub Date() { localtime(time); $year += 1900; + $mon++; + my $temps = "$mday/$mon/$year - $hour:$min:$sec"; return $temps; diff --git a/admin/lib/Evoauth/Iptables.pm b/admin/lib/Evoauth/Iptables.pm index c194010..4474d3e 100644 --- a/admin/lib/Evoauth/Iptables.pm +++ b/admin/lib/Evoauth/Iptables.pm @@ -19,7 +19,7 @@ my $userpass = $Config->{bdd}->{userpass}; # Règles firewall open(RULES, "/etc/evoauth/evoauth.rules") || - &ecriture("L'ouverture du fichier de règles a échoué."); + &Log("L'ouverture du fichier de règles a échoué."); our @rules = ; close(RULES); @@ -30,8 +30,8 @@ sub Alter() { # mode ajout if ($action == 1) { system("/sbin/iptables -I EVOAUTH -s $ip -j ACCEPT 2>/dev/null"); - &Evoauth::Functions::Log("Ajout de $ip aux connectés.") && - &Evoauth::Functions::Mail("Connexion", $ip); + Evoauth::Functions::Log("[E] Connexion de $ip.") && + &Evoauth::Functions::Mail("[E] Connexion de", $ip); } # mode vérification @@ -44,7 +44,7 @@ sub Alter() { else { my $dbh = DBI->connect( $db, $username, $userpass ) || - &Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr"); + &Evoauth::Functions::Log("[W] La connexion a échoué : $DBI::errstr"); my $sql = qq{ UPDATE users set statut = 0 where ip = '$ip' }; my $sth = $dbh->prepare($sql); @@ -54,8 +54,8 @@ sub Alter() { $sth->execute(); $sth->finish(); - &Evoauth::Functions::Log("$ip [supprimée]"); - &Evoauth::Functions::Mail("Deconnexion", $ip); + &Evoauth::Functions::Log("[E] Suppression de $ip.") && + &Evoauth::Functions::Mail("[E] Suppression de", $ip); } } @@ -63,13 +63,13 @@ sub Alter() { sub check_iptables() { my ($ip, @ips); - &Evoauth::Functions::Log("Suppression des règles obsolètes dans iptables."); + &Evoauth::Functions::Log("[A] Vérification des règles Iptables."); # obtention de la liste des ips system("/sbin/iptables -L EVOAUTH -n | grep ACCEPT | awk '{ print \$4 }' > /tmp/ips.txt"); # on ouvre le fichier des ips - open(IPS, "/tmp/ips.txt") || &ecriture("L'ouverture des IPs a échoué."); + open(IPS, "/tmp/ips.txt") || &Log("[W] L'ouverture des IPs a échoué."); @ips = ; close(IPS); @@ -77,7 +77,7 @@ sub check_iptables() { chomp $ip; my $dbh = DBI->connect( $db, $username, $userpass ) || - &Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr"); + &Evoauth::Functions::Log("[W] La connexion a échoué : $DBI::errstr"); my $sql = "SELECT statut FROM users where ip = '".$ip."'"; my $sth = $dbh->prepare( $sql ); @@ -90,26 +90,26 @@ sub check_iptables() { # si entrée iptables présente mais statut non connecté, on supprime if (defined($statut)) { if ($statut != 1) { - &Evoauth::Functions::Log("$ip [supprimée]\n") && - &Evoauth::Functions::Mail("Suppression", $ip); + &Evoauth::Functions::Log("[A] Suppression de $ip.") && + &Evoauth::Functions::Mail("[A] Suppression de", $ip); &Alter(3, $ip); } } else { - &Evoauth::Functions::Log("$ip [supprimée]\n") && - &Evoauth::Functions::Mail("Suppression", $ip); + &Evoauth::Functions::Log("[A] Suppression de $ip.") && + &Evoauth::Functions::Mail("[A] Suppression de", $ip); &Alter(3, $ip); } } } sub check_timestamp() { - &Evoauth::Functions::Log("Suppression des règles obsolètes dans iptables."); + &Evoauth::Functions::Log("[A] Vérification des états de connexion."); # on travaille sur tous les utilisateurs présents my $dbh = DBI->connect( $db, $username, $userpass ) || - &Evoauth::Functions::Log("La connexion a échoué : $DBI::errstr"); + &Evoauth::Functions::Log("[W] La connexion a échoué : $DBI::errstr"); my $sql = "SELECT * FROM users"; my $sth = $dbh->prepare($sql); @@ -122,7 +122,7 @@ sub check_timestamp() { \$utype, \$credit, \$ip, \$statut, \$actif, \$firstcon, \$lastupdate, \$kick); - &Evoauth::Functions::Log("Vérification de la base."); + &Evoauth::Functions::Log("[A] Vérification de la base."); my ($newtime, $oldtime, $cpt); @@ -136,13 +136,13 @@ sub check_timestamp() { if ($timestamp > $timetorem) { # dernière connexion est < 1 min -> suppresion &Alter(3, $ip); - &Evoauth::Functions::Log("$ip [supprimée]") && - &Evoauth::Functions::Mail("Suppression", $ip); + &Evoauth::Functions::Log("[A] Suppression de $ip.") && + &Evoauth::Functions::Mail("[A] Suppression", $ip); } # sinon conservation else { - &Evoauth::Functions::Log("$ip [conservée]"); + &Evoauth::Functions::Log("[A] Conservation de $ip."); } } } @@ -168,12 +168,12 @@ sub Control() { system("/sbin/iptables -t nat -A PREROUTING -p $tmp1[3] -i ppp0 --dport $tmp1[1] -j DNAT --to $tmp1[0]:$tmp1[2] 2>/dev/null"); } - &Evoauth::Functions::Log("1 - Règles de PREROUTING charges"); + &Evoauth::Functions::Log("[C] 1- Règles de PREROUTING chargées"); system("/sbin/iptables -N EVOAUTH 2>/dev/null"); system("/sbin/iptables -A EVOAUTH -j DROP 2>/dev/null"); - &Evoauth::Functions::Log("2 - Tables crées"); + &Evoauth::Functions::Log("[C] 2 - Tables crées"); # chargement des règles foreach (@rules) { @@ -189,15 +189,15 @@ sub Control() { system("/sbin/iptables -A FORWARD -p $tmp2[3] -i ppp0 -o eth0 --dport $tmp2[1] -j EVOAUTH 2>/dev/null"); } - &Evoauth::Functions::Log("3 - Règles chargées"); + &Evoauth::Functions::Log("[C] 3 - Règles chargées"); - &Evoauth::Functions::Log("Evoauth vient de démarrer."); + &Evoauth::Functions::Log("[C] Evoauth vient de démarrer."); } # arret elsif ($action == 2) { system("/sbin/iptables -F EVOAUTH 2>/dev/null"); - &Evoauth::Functions::Log("1 - Flush de la table EVOAUTH"); + &Evoauth::Functions::Log("[C] 1 - Flush de la table EVOAUTH"); foreach (@rules) { next if /^#/; @@ -213,19 +213,19 @@ sub Control() { system("/sbin/iptables -t nat -D PREROUTING -p $tmp3[3] -i ppp0 --dport $tmp3[1] -j DNAT --to $tmp3[0]:$tmp3[2] 2>/dev/null"); } - &Evoauth::Functions::Log("2 - Annulation FORWARD + PREROUTING"); + &Evoauth::Functions::Log("[C] 2 - Annulation FORWARD + PREROUTING"); system("/sbin/iptables -X EVOAUTH 2>/dev/null"); - &Evoauth::Functions::Log("3 - Suppression de la table EVOAUTH"); + &Evoauth::Functions::Log("[C] 3 - Suppression de la table EVOAUTH"); - &Evoauth::Functions::Log("Evoauth vient de s'arreter."); + &Evoauth::Functions::Log("[C] Evoauth vient de s'arreter."); } # restart else { &Control(2); &Control(1); - &Evoauth::Functions::Log("Evoauth vient de redémarrer."); + &Evoauth::Functions::Log("[C] Evoauth vient de redémarrer."); } }