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");
}
}
+ if (defined &Local::pcprot) {
+ my $r;
+ eval { $r = Local::pcprot($self, $pcno, $line, @field); };
+ return if $r; # i.e don't process it
+ }
+
# send it out for processing
my $origin = $self->{call};
no strict 'subs';
} elsif ($self->{do_pc9x}) {
dbg("send_local_config: doing pc9x");
my $node = Route::Node::get($self->{call});
- $self->send_last_pc92_config($main::routeroot);
- $self->send(pc92a($main::routeroot, $node)) unless $main::routeroot->last_PC92C =~ /$self->{call}/;
+# $self->send_last_pc92_config($main::routeroot);
+# $self->send(pc92a($main::routeroot, $node)) unless $main::routeroot->last_PC92C =~ /$self->{call}/;
+ $self->send(pc92a($main::routeroot, $node));
+ $self->send(pc92k($main::routeroot));
} else {
# create a list of all the nodes that are not connected to this connection
# and are not themselves isolated, this to make sure that isolated nodes
{
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 {