no longer see many of the of talk like announces. Unfortunately you may
miss the odd useful one as well (but since everything is repeated many times
you probably won't :-)
-3. centralise the invalid callsign check.
+3. centralise the invalid callsign check so that g1tlh1 and similar calls
+will not be allowed to login anymore.
+4. Fiddle with the lockout mechanism so that set/login g1tlh also locks out
+g1tlh-1 -> g1tlh-15 UNLESS one of these is specifically unlocked.
13Sep01=======================================================================
1. did some work on making talk more intelligent and fixed a>b problem.
2. fixed a nasty problem on input when being hit with full buffers of
#
my ($self, $line) = @_;
+return (1, $self->msg('e5')) if $self->priv < 1;
my @list = split /\s+/, $line; # generate a list of callsigns
@list = ($self->call) if !@list; # my channel if no callsigns
already_conn($conn, $call, $mess);
return;
}
+
+ # is he locked out ?
+ my $basecall = $call;
+ $basecall =~ s/-\d+$//;
+ my $baseuser = DXUser->get($basecall);
+ if ($baseuser && $baseuser->lockout) {
+ my $lock = $user->lockout if $user;
+ if (!$user || !defined $lock || $lock) {
+ my $host = $conn->{peerhost} || "unknown";
+ Log('DXCommand', "$call on $host is locked out, disconnected");
+ $conn->disconnect;
+ return;
+ }
+ }
if ($user) {
$user->{lang} = $main::lang if !$user->{lang}; # to autoupdate old systems
$user = DXUser->new($call);
}
- # is he locked out ?
- if ($user->lockout) {
- my $host = $conn->{peerhost} || "unknown";
- Log('DXCommand', "$call on $host is locked out, disconnected");
- $conn->disconnect;
- return;
- }
# create the channel
$dxchan = DXCommandmode->new($call, $conn, $user) if $user->is_user;