#!/usr/bin/perl
#FiltUx 1.0
#Filtro que manda a un archivo temporal tipo mailbox creado en cada home de cada usuario los
#correos electronicos que traigan archivos adjuntos del tipo especificado.
#Elaborado por: OrvUx <orvux@ipsgroup1.com>
#Licencia GPL
#Puede modificar y distribuir este archivo siempre y cuando haga referencia a la Licencia GPL
#Reemplazar la cadena orvux por el usuario real.
use stricts;
use Mail::Internet;
use Fcntl ':flock';
my @mail=<>;
my $mail;
my $intVeces=0;
my $strLinea;
my $strSubj;
my $strPacketReturnBuffer;
$mail=Mail::Internet->new(\@mail);
foreach $strLinea (@{$mail->body})
{
	if ($strLinea=~/.*name=.*(\.cmd|\.bat|\.exe|\.vbs|\.zip|\.com|\.scr|\.pif|\.js|\.mp3|\.wav|\.ram|\.avi).*/i)
	{
		$intVeces++;
	}
}
if ($intVeces == 0)
{
	open F1, ">>/var/spool/mail/orvux" or die "Can't open file orvux";
	fcntl(F1,LOCK_EX,$strPacketReturnBuffer) or die "Can't lock file orvux";
	print F1 $mail->as_mbox_string() or die "Can't Write to file orvux";
	fcntl(F1,LOCK_UN,$strPacketReturnBuffer) or die "Can't unlock file orvux";
	close F1 or die "Can't close file orvux";
}
else
{
	open F2, ">>/home/users/orvux/borrados.log" or die "Can't Open file orvux/borrados.log";
	fcntl(F2,LOCK_EX,$strPacketReturnBuffer) or die "Can't lock file orvux/borrados.log";
	print F2 $mail->as_mbox_string() or die "Can't Write to file orvux/borrados.log";
	fcntl(F2,LOCK_UN,$strPacketReturnBuffer) or die "Can't Unlock file orvux/borrados.log";
	close F2 or die "Can't Close file orvux/borrados.log";
}
