+06Jul01=======================================================================
+1. fix talk and routing problems to mycall
05Jul01=======================================================================
1. disconnect channels whose route node has disappeared
29Jun01=======================================================================
$user->qra(DXBearing::lltoqra($lat, $long)) if (defined $lat && defined $long);
}
- $DXProt::me->conn($self->conn) if $call eq $main::myalias; # send all output for mycall to myalias
-
Log('DXCommand', "$call connected");
# send prompts and things
my $self = shift;
my $call = $self->call;
- # reset the redirection of messages back to 'normal' if we are the sysop
- if ($call eq $main::myalias) {
- $DXProt::me->conn(undef);
- }
-
my @rout = $main::routeroot->del_user($call);
dbg("B/C PC17 on $main::mycall for: $call") if isdbg('route');
} else {
$call = $to = $field[2];
}
- $dxchan = DXChannel->get($call);
+ $dxchan = DXChannel->get($main::myalias) if $call eq $main::mycall;
+ $dxchan = DXChannel->get($call) unless $dxchan;
if ($dxchan && $dxchan->is_user) {
$field[3] =~ s/\%5E/^/g;
$dxchan->talk($field[1], $to, $via, $field[3]);
my $node;
my $to = $user->homenode;
my $last = $user->lastoper || 0;
- if ($send_opernam && $main::systime > $last + $DXUser::lastoperinterval && $to && ($node = Route::Node::get($to)) ) {
+ if ($to ne $main::mycall && $send_opernam && $main::systime > $last + $DXUser::lastoperinterval && $to && ($node = Route::Node::get($to)) ) {
my $cmd = "forward/opernam $spot[4]";
# send the rcmd but we aren't interested in the replies...
my $dxchan = $node->dxchan;
if ($dxchan) {
my $routeit = adjust_hops($dxchan, $line); # adjust its hop count by node name
if ($routeit) {
- $dxchan->send($routeit);
+ $dxchan->send($routeit) unless $dxchan == $me;
}
} else {
dbg("PCPROT: No route available, dropped") if isdbg('chanerr');
$r->{t} = $main::systime;
$r->{cmd} = $cmd;
$rcmds{$to} = $r;
-
+
my $ref = Route::Node::get($to);
my $dxchan = $ref->dxchan;
- if ($dxchan && $dxchan->is_clx) {
+ if ($dxchan && $dxchan->is_clx) {
route(undef, $to, pc84($main::mycall, $to, $self->{call}, $cmd));
} else {
route(undef, $to, pc34($main::mycall, $to, $cmd));