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;
}
}
+ 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 {