X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=8abd8d4eeadc586b387b71974c38951be9f3069e;hb=d5bbb8b5085e57870503e56c79cdebb26122c915;hp=b89e1d3c7f540a8bcbc52e735c47742a317946d9;hpb=3b7aa32ea996597d0e164197b06fe181a846dbf6;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index b89e1d3c..8abd8d4e 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -45,6 +45,7 @@ use Time::HiRes qw(gettimeofday tv_interval); use Mojo::IOLoop; use DXSubprocess; use Mojo::UserAgent; +use DXCIDR; use strict; use vars qw(%Cache %cmd_cache $errstr %aliases $scriptbase %nothereslug @@ -204,6 +205,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; @@ -258,7 +264,7 @@ sub normal $cmdline =~ s/^\s*(.*)\s*$/$1/; if ($self->{state} eq 'page') { - my $i = $self->{pagelth}; + my $i = $self->{pagelth}-5; my $ref = $self->{pagedata}; my $tot = @$ref; @@ -269,7 +275,7 @@ sub normal } # send a tranche of data - while ($i-- > 0 && @$ref) { + for (; $i > 0 && @$ref; --$i) { my $line = shift @$ref; $line =~ s/\s+$//o; # why am having to do this? $self->send($line); @@ -1051,7 +1057,21 @@ sub format_dx_spot } } - return sprintf "DX de %-8.8s%10.1f %-12.12s %-s $t$slot2", "$_[4]:", $_[0], $_[1], $comment; + my $o = sprintf("%-9s", $_[4] . ':'); + my $qrg = sprintf "%8.1f", $_[0]; + if (length $qrg >= 9) { + while (length($o)+length($qrg) > 17 && $o =~ / $/) { + chop $o; + } + } + my $spot = sprintf "%-12s", $_[1]; + my $front = "DX de $o $qrg $spot"; + while (length($front) > 38 && $front =~ / $/) { + chop $front; + } + + + return sprintf "$front %-s $t$slot2", $comment; } @@ -1315,7 +1335,6 @@ sub send_motd $self->send_file($motd) if -e $motd; } - # Punt off a long running command into a separate process # # This is called from commands to run some potentially long running @@ -1408,7 +1427,7 @@ sub spawn_cmd sub user_count { - return ($users, $maxusers); + return ($users, $maxusers); } 1;