sub new { my $class = shift || __PACKAGE__; my $self; if ( scalar @_ == 1 ) { ( $self->{RemoteAddr}, $self->{RemotePort} ) = split( ':', shift ); } else { $self = {@_} } foreach (qw(RemoteAddr RemotePort)) { confess $_ . " was not cofigured" unless $self->{$_}; } $self->{FuzzLevel} ||= 1; $self->{Debug} ||= 0; $self->{Path} ||= 'report.html'; $self->{Report} ||= 0; $self->{Ready} = 0; $self->{Socket} = undef; $self->{LastSentFinger} = undef; bless( $self, ref $class || $class ); } #### $self->{FuzzData} = { _Letters => { __data => [ # a lot of data here ], __example => qr/(\w{1})/ }, _Formats => { __data => [ # again data ], __example => qr/(%\w{1})/ }, _Numbers => { __data => [ # and again ], __example => qr/(\d{1)}/ } }; $self->{ProtoData} = { _ActionData => { __ActionCmd => [], __ActionExit => undef, __ActionTemplate => undef }, _LoginData => { __LoginUser => undef, __LoginPass => undef, __LoginSuccess => undef, __LoginTemplate => undef }, _ProtoPresets => { ftp => \&{ $self->_LoadPresetFTP }, http => \&{ $self->_LoadPresetHTTP }, pop3 => \&{ $self->_LoadPresetPOP3 }, smtp => \&{ $self->_LoadPresetSMTP } } };