X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=e6432b850d2dc979d0708663ded53d1dae6dca56;hb=770092d94f96b6d22a38fb33e0056b4779a8a1ab;hp=5ea58ea192931f2d5dbf9f42562002819460a6fd;hpb=4b207544da78b182bd12e94eab01451694749012;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 5ea58ea1..e6432b85 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -13,7 +13,7 @@ package DXCommandmode; @ISA = qw(DXChannel); -use 5.10.1; +use 5.8.1; use POSIX qw(:math_h); use DXUtil; @@ -39,6 +39,7 @@ use DB_File; use VE7CC; use DXXml; use AsyncMsg; +use DXCIDR; use strict; use vars qw(%Cache %cmd_cache $errstr %aliases $scriptbase %nothereslug @@ -99,6 +100,7 @@ sub start $self->{name} = $name ? $name : $call; $self->send($self->msg('l2',$self->{name})); + $self->send("Capabilities: ve7cc"); $self->state('prompt'); # a bit of room for further expansion, passwords etc $self->{priv} = $user->priv || 0; $self->{lang} = $user->lang || $main::lang || 'en'; @@ -194,6 +196,11 @@ sub start $self->tell_login('loginu'); $self->tell_buddies('loginb'); + + # is this a bad ip address? + if (is_ipaddr($self->{hostname})) { + $self->{badip} = DXCIDR->find($self->{hostname}); + } # do we need to send a forward/opernam? my $lastoper = $user->lastoper || 0; @@ -795,7 +802,6 @@ sub clear_cmd_cache sub valid_package_name { my $string = shift; $string =~ s|([^A-Za-z0-9_/])|sprintf("_%2x",unpack("C",$1))|eg; - $string =~ s|/|_|g; return "cmd_$string"; } @@ -830,7 +836,7 @@ sub find_cmd_name { }; #wrap the code into a subroutine inside our unique package - my $eval = qq(package DXCommandmode::$package; use 5.10.1; use POSIX qw{:math_h}; use DXLog; use DXDebug; use DXUser; use DXUtil; our \@ISA = qw{DXCommandmode}; ); + my $eval = qq(package DXCommandmode::$package; use 5.8.1; use POSIX qw{:math_h}; use DXLog; use DXDebug; use DXUser; use DXUtil; our \@ISA = qw{DXCommandmode}; ); if ($sub =~ m|\s*sub\s+handle\n|) {