File Coverage

blib/lib/Metabrik/Password/Rockyou.pm
Criterion Covered Total %
statement 9 25 36.0
branch 0 6 0.0
condition n/a
subroutine 3 5 60.0
pod 1 2 50.0
total 13 38 34.2


line stmt bran cond sub pod time code
1             #
2             # $Id$
3             #
4             # password::rockyou Brik
5             #
6             package Metabrik::Password::Rockyou;
7 1     1   1113 use strict;
  1         3  
  1         45  
8 1     1   6 use warnings;
  1         2  
  1         37  
9              
10 1     1   6 use base qw(Metabrik::Client::Www);
  1         2  
  1         509  
11              
12             sub brik_properties {
13             return {
14 0     0 1   revision => '$Revision$',
15             tags => [ qw(unstable) ],
16             author => 'GomoR ',
17             license => 'http://opensource.org/licenses/BSD-3-Clause',
18             attributes => {
19             datadir => [ qw(datadir) ],
20             },
21             attributes_default => {
22             },
23             commands => {
24             update => [ ],
25             },
26             require_modules => {
27             'Metabrik::File::Compress' => [ ],
28             },
29             };
30             }
31              
32             #
33             # More password lists are available at:
34             # http://downloads.skullsecurity.org/passwords/
35             #
36             sub update {
37 0     0 0   my $self = shift;
38              
39 0           my @urls = qw(
40             https://downloads.skullsecurity.org/passwords/rockyou.txt.bz2
41             https://downloads.skullsecurity.org/passwords/rockyou-withcount.txt.bz2
42             );
43              
44 0           my $datadir = $self->datadir;
45              
46 0 0         my $fc = Metabrik::File::Compress->new_from_brik_init($self) or return;
47 0           $fc->datadir($datadir);
48              
49 0           my @updated = ();
50 0           for my $u (@urls) {
51 0           $self->log->info("update: trying to update [$u]...");
52 0 0         my $files = $self->mirror($u) or next;
53 0           for my $file (@$files) {
54 0           (my $outfile = $file) =~ s/\.bz2$//;
55 0           $self->log->verbose("update: uncompressing to [$outfile]");
56 0 0         $fc->uncompress($file, $outfile) or next;
57 0           push @updated, $outfile;
58             }
59             }
60              
61 0           return \@updated;
62             }
63              
64             1;
65              
66             __END__