projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add cmd ratelimits, restore regex is_ipaddr
[spider.git]
/
cmd
/
dx.pl
diff --git
a/cmd/dx.pl
b/cmd/dx.pl
index 4a80df0e2fae37ab9202c2786b352383b6ff0d67..a6475347569bae6ce7084ada8aa4b6c3a09a9df7 100644
(file)
--- a/
cmd/dx.pl
+++ b/
cmd/dx.pl
@@
-24,7
+24,8
@@
return (1, $self->msg('e5')) if $self->remotecmd || $self->inscript;
return (1, $self->msg('e28')) unless $self->isregistered;
return (1, $self->msg('e28')) unless $self->isregistered;
-my $addr = $self->hostname || '127.0.0.1'
+my $addr = DXCommandmode::alias_localhost($self->hostname || '127.0.0.1');
+
Log('cmd', "$self->{call}|$addr|dx|$line");
my @bad;
Log('cmd', "$self->{call}|$addr|dx|$line");
my @bad;
@@
-45,7
+46,7
@@
if ($f[0] =~ /^by$/i) {
return (1, $self->msg('e5')) unless $main::allowdxby || $self->priv > 1;
$spotter = uc $f[1];
$line =~ s/^\s*$f[0]\s+$f[1]\s+//;
return (1, $self->msg('e5')) unless $main::allowdxby || $self->priv > 1;
$spotter = uc $f[1];
$line =~ s/^\s*$f[0]\s+$f[1]\s+//;
- @f = split /\s+/, $line, 3;
+ @f = split /\s+/, $line, 3;
return (1, $self->msg('dx2')) unless @f >= 2;
}
return (1, $self->msg('dx2')) unless @f >= 2;
}
@@
-56,7
+57,7
@@
if ($f[0] eq 'ip') {
if (is_ipaddr($f[1])) {
$ipaddr = $f[1];
} else {
if (is_ipaddr($f[1])) {
$ipaddr = $f[1];
} else {
- return (1, $self->msg('dx
3
', $f[1]));
+ return (1, $self->msg('dx
4
', $f[1]));
}
$line =~ s/^\s*$f[0]\s+$f[1]\s+//;
@f = split /\s+/, $line, 3;
}
$line =~ s/^\s*$f[0]\s+$f[1]\s+//;
@f = split /\s+/, $line, 3;
@@
-73,7
+74,9
@@
if (is_freq($f[1]) && $f[0] =~ m{^[\w\d]+(?:/[\w\d]+){0,2}$}) {
} else {
return (1, $self->msg('dx3'));
}
} else {
return (1, $self->msg('dx3'));
}
-$line =~ s/^\s*$f[0]\s+$f[1]\s+//;
+$line =~ s/^\s*$f[0]//;
+$line =~ s/^\s*$f[1]//;
+$line = unpad($line);
$line =~ s/\t+/ /g; # do this here because it needs to be stopped ASAP!
$line ||= ' ';
$line =~ s/\t+/ /g; # do this here because it needs to be stopped ASAP!
$line ||= ' ';
@@
-93,7
+96,7
@@
my $callnoid = basecall($self->{call});
if ($DXProt::baddx->in($spotted)) {
$localonly++;
}
if ($DXProt::baddx->in($spotted)) {
$localonly++;
}
-if ($DXProt::badspotter->in($spotternoid)) {
+if ($DXProt::badspotter->in($spotternoid)
|| $self->badip
) {
LogDbg('DXCommand', "badspotter $spotternoid as $spotter ($oline) from $addr");
$localonly++;
}
LogDbg('DXCommand', "badspotter $spotternoid as $spotter ($oline) from $addr");
$localonly++;
}
@@
-170,7
+173,7
@@
if ($freq =~ /^69/ || $localonly) {
} else {
# send orf to the users
$ipaddr ||= $main::mycall; # emergency backstop
} else {
# send orf to the users
$ipaddr ||= $main::mycall; # emergency backstop
- my $spot = DXProt::pc61($spotter, $freq, $spotted,
$line
, $ipaddr);
+ my $spot = DXProt::pc61($spotter, $freq, $spotted,
unpad($line)
, $ipaddr);
$self->dx_spot(undef, undef, @spot);
if ($self->isslugged) {
$self->dx_spot(undef, undef, @spot);
if ($self->isslugged) {