X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=ee9c92f103410f54bfc3c78d20c764fc8085b71d;hb=b53046d61e0d9ff16e95e12d2f3b52ffa4e735d7;hp=f6e1e75dc86c0ff093348eb945ab2db35141e711;hpb=7b125939d7c1542f951286e03c28f9cddbfe4fce;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index f6e1e75d..ee9c92f1 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -238,6 +238,9 @@ sub start $self->{here} = 1; $self->{width} = 80; + # sort out registration + $self->{registered} = 1; + # get the output filters $self->{spotsfilter} = Filter::read_in('spots', $call, 0) || Filter::read_in('spots', 'node_default', 0); $self->{wwvfilter} = Filter::read_in('wwv', $call, 0) || Filter::read_in('wwv', 'node_default', 0); @@ -256,6 +259,7 @@ sub start # set unbuffered and no echo $self->send_now('B',"0"); $self->send_now('E',"0"); + $self->conn->echo(0) if $self->conn->can('echo'); # ping neighbour node stuff my $ping = $user->pingint; @@ -415,7 +419,7 @@ sub normal } # is it 'baddx' - if ($baddx->in($field[2]) || BadWords::check($field[2])) { + if ($baddx->in($field[2]) || BadWords::check($field[2]) || $field[2] =~ /COCK/) { dbg("PCPROT: Bad DX spot, ignored") if isdbg('chanerr'); return; } @@ -1770,7 +1774,7 @@ sub talk $line =~ s/\^/\\5E/g; # remove any ^ characters $self->send(DXProt::pc10($from, $to, $via, $line, $origin)); - Log('talk', $self->call, $from, $via?$via:$main::mycall, $line) unless $origin && $origin ne $main::mycall; + Log('talk', $to, $from, $via?$via:$self->call, $line) unless $origin && $origin ne $main::mycall; } # send it if it isn't the except list and isn't isolated and still has a hop count