use Route;
use Route::Node;
use Script;
-use RouteDB;
use DXProtHandle;
use strict;
do "$main::data/hop_table.pl" if -e "$main::data/hop_table.pl";
confess $@ if $@;
- my $user = DXUser->get($main::mycall);
+ my $user = DXUser::get($main::mycall);
die "User $main::mycall not setup or disappeared RTFM" unless $user;
$myprot_version += $main::version*100;
$self->{wwvfilter} = Filter::read_in('wwv', $call, 0) || Filter::read_in('wwv', 'node_default', 0);
$self->{wcyfilter} = Filter::read_in('wcy', $call, 0) || Filter::read_in('wcy', 'node_default', 0);
$self->{annfilter} = Filter::read_in('ann', $call, 0) || Filter::read_in('ann', 'node_default', 0) ;
- $self->{routefilter} = Filter::read_in('route', $call, 0) || Filter::read_in('route', 'node_default', 0) unless $self->{isolate} ;
+ $self->{routefilter} = Filter::read_in('route', $call, 0) || Filter::read_in('route', 'node_default', 0) unless $self->{isolate};
+ $self->{pc92filter} = Filter::read_in('pc92', $call, 0) || Filter::read_in('pc92', 'node_default', 0) unless $self->{isolate} ;
# get the INPUT filters (these only pertain to Clusters)
$self->{inwcyfilter} = Filter::read_in('wcy', $call, 1) || Filter::read_in('wcy', 'node_default', 1);
$self->{inannfilter} = Filter::read_in('ann', $call, 1) || Filter::read_in('ann', 'node_default', 1);
$self->{inroutefilter} = Filter::read_in('route', $call, 1) || Filter::read_in('route', 'node_default', 1) unless $self->{isolate};
- # if there is no route input filter then specify a default one.
- # obviously this can be changed later by the sysop.
- if (!$self->{inroutefilter}) {
- my $dxcc = $self->dxcc;
- $Route::filterdef->cmd($self, 'route', 'accept', "input by_dxcc $dxcc" );
- }
+ $self->{inpc92filter} = Filter::read_in('pc92', $call, 0) || Filter::read_in('pc92', 'node_default', 0) unless $self->{isolate} ;
+
# set unbuffered and no echo
$self->send_now('B',"0");
}
}
- # try the backstop method
- unless ($dxchan) {
- my $rcall = RouteDB::get($call);
- if ($rcall) {
- if ($self && $rcall eq $self->{call}) {
- dbg("PCPROT: Trying to route back to source, dropped") if isdbg('chanerr');
- return;
- }
- $dxchan = DXChannel::get($rcall);
- dbg("route: $call -> $rcall using RouteDB" ) if isdbg('route') && $dxchan;
- }
- }
-
if ($dxchan) {
my $routeit = adjust_hops($dxchan, $line); # adjust its hop count by node name
if ($routeit) {
{
my ($self, $tonode, $fromnode, $user, $cmd) = @_;
if ($tonode eq $main::mycall) {
- my $ref = DXUser->get_current($fromnode);
+ my $ref = DXUser::get_current($fromnode);
my $cref = Route::Node::get($fromnode);
- Log('rcmd', 'in', $ref->{priv}, $fromnode, $cmd);
- if ($cmd !~ /^\s*rcmd/i && $cref && $ref && $cref->call eq $ref->homenode) { # not allowed to relay RCMDS!
+ Log('rcmd', 'in', ($ref->{priv}||0), $fromnode, $cmd);
+ if ($cmd !~ /^\s*rcmd/i && $cref && $ref && $ref->homenode && $cref->call eq $ref->homenode) { # not allowed to relay RCMDS!
if ($ref->{priv}) { # you have to have SOME privilege, the commands have further filtering
$self->{remotecmd} = 1; # for the benefit of any command that needs to know
my $oldpriv = $self->{priv};
$self->send_rcmd_reply($main::mycall, $fromnode, $user, "your attempt is logged, Tut tut tut...!");
}
} else {
- my $ref = DXUser->get_current($tonode);
+ my $ref = DXUser::get_current($tonode);
if ($ref && $ref->is_clx) {
$self->route($tonode, pc84($fromnode, $tonode, $user, $cmd));
} else {
$dxchan->send($line) if $dxchan;
}
} else {
- my $ref = DXUser->get_current($tonode);
+ my $ref = DXUser::get_current($tonode);
if ($ref && $ref->is_clx) {
$self->route($tonode, pc85($fromnode, $tonode, $user, $line));
} else {
# do routing stuff, remove me from routing table
my $node = Route::Node::get($call);
- RouteDB::delete_interface($call);
+ Route::delete_interface($call);
# unbusy and stop and outgoing mail
my $mref = DXMsg::get_busy($call);