#!/usr/bin/perl # Dinko Korunic, 2003. # Provjera koristenja korisnickih CLIP-ova za FreeRADIUS log my %goodlogins = (); my %badlogins = (); my $only_multiplegood = 1; my $print_goodlogins = 1; my $print_badlogins = 1; sub printlogins { my ($hash, $key, $key2, $value, $value2); foreach $hash (@_) { while (($key, $value) = each %$hash) { $only_multiplegood && keys %$value eq 1 && next; print "login $key = "; while (($key2, $value2) = each %$value) { print "$key2 "; } print "\n"; } } } while (<>) { chop(); if (/.+ Auth: Login OK: \[(.+)\] .+ cli ([[:digit:]]+)/) { $goodlogins{$1}{$2} = 1; } elsif (/.+ Auth: Login incorrect: \[(.+)\] .+ cli ([[:digit:]]+)/) { $badlogins{$1}{$2} = 1; } } if (print_goodlogins) { print "goodlogins:\n"; printlogins(\%goodlogins); } print "\n"; if (print_badlogins) { $only_multiplegood = 0; print "badlogins:\n"; printlogins(\%badlogins); }