This commit is contained in:
Alexandre Anriot 2005-09-13 14:02:17 +00:00
parent 5473a9318c
commit d08c9a5298
3 changed files with 21 additions and 14 deletions

View file

@ -5,6 +5,7 @@ package main;
use strict; use strict;
use warnings; use warnings;
use Getopt::Std; use Getopt::Std;
use Config::Tiny;
use Evoauth::Admin; use Evoauth::Admin;
use Evoauth::Functions; use Evoauth::Functions;
@ -12,6 +13,14 @@ use Evoauth::Iptables;
$SIG{INT} = $SIG{TERM} = $SIG{KILL} = ""; $SIG{INT} = $SIG{TERM} = $SIG{KILL} = "";
my $Config = Config::Tiny->read( '/etc/evoauth/evoauth.conf' );
if ($Config->{control}->{enable} != 1) {
print <<AVERT;
enable doit etre egal a 1 dans /etc/evoauth/evoauth.conf avant
de continuer".
AVERT
}
# choix des options # choix des options
my %options=(); my %options=();
getopts("icsrd:a:",\%options); getopts("icsrd:a:",\%options);

View file

@ -45,9 +45,10 @@ sub Mail() {
my $msg = new MIME::Lite my $msg = new MIME::Lite
From => 'evoauth@shaktiware.fr', From => 'evoauth@shaktiware.fr',
To => 'aanriot@nerim.net', To => 'aanriot@nerim.net',
Subject => $event de $login, CC => '',
Subject => '$event de $login',
Type => 'TEXT', Type => 'TEXT',
Data => "$temps : $event de $login ($ip)."; Data => '$temps : $event de $login ($ip)';
$msg -> send && &Log("Un mail a été envoyé."); $msg -> send && &Log("Un mail a été envoyé.");
$dbh->disconnect(); $dbh->disconnect();

View file

@ -55,7 +55,7 @@ sub Alter() {
$sth->execute() && $sth->execute() &&
$sth->finish() && $sth->finish() &&
&Evoauth::Functions::Log("$ip [supprimee]") && &Evoauth::Functions::Log("$ip [supprimee]") &&
&Evoauth::Functions::Mail("Déconnexion", $ip); &Evoauth::Functions::Mail("Deconnexion", $ip);
} }
return 0; return 0;
@ -75,8 +75,7 @@ sub check_iptables() {
@ips = <IPS>; @ips = <IPS>;
close(IPS); close(IPS);
foreach $ip (@ips) foreach $ip (@ips) {
{
chomp $ip; chomp $ip;
my $sql = "SELECT statut FROM users where ip = '".$ip."'"; my $sql = "SELECT statut FROM users where ip = '".$ip."'";
@ -115,24 +114,22 @@ sub check_timestamp() {
&Evoauth::Functions::Log("Vérification de la base."); &Evoauth::Functions::Log("Vérification de la base.");
my $cpt; #compteur # compteur
while ($sth->fetch() && $sth != 0) my $cpt;
{
if ($statut == 1) while ($sth->fetch() && $sth != 0) {
{ if ($statut == 1) {
$newtime = time(); $newtime = time();
$oldtime = $lastupdate; $oldtime = $lastupdate;
my $timestamp = $newtime - $oldtime; my $timestamp = $newtime - $oldtime;
if ($timestamp > $conf{timetorem}) if ($timestamp > $conf{timetorem}) {
{
# dernière connexion est < 1 min -> suppresion # dernière connexion est < 1 min -> suppresion
&delet($ip) && &Evoauth::Functions::Log("$ip [supprimée]") && &delet($ip) && &Evoauth::Functions::Log("$ip [supprimée]") &&
&Evoauth::Functions::Mail("Suppression", $ip); &Evoauth::Functions::Mail("Suppression", $ip);
} }
else else {
{
# sinon conservation # sinon conservation
&Evoauth::Functions::Log("$ip [conservée]"); &Evoauth::Functions::Log("$ip [conservée]");
} }