my $ref = Route::get($call) || Route->new($call);
return unless $self->in_filter_route($ref);
- # dup check it
- if (eph_dup($line)) {
- dbg("PCPROT: ephemeral PC41 dup dropped") if isdbg('chanerr');
- return;
- }
-
# add this station to the user database, if required
my $user = DXUser->get_current($call);
$user = DXUser->new($call) if !$user;
} else {
my $ref = DXUser->get_current($tonode);
if ($ref && $ref->is_clx) {
- $self->route($tonode, pc84($tonode, $fromnode, $user, $cmd));
+ $self->route($tonode, pc84($fromnode, $tonode, $user, $cmd));
} else {
- $self->route($tonode, pc34($tonode, $fromnode, $cmd));
+ $self->route($tonode, pc34($fromnode, $tonode, $cmd));
}
}
}
if ($s) {
my $dxchan = DXChannel->get($s->{call});
my $ref = DXChannel->get($user) || $dxchan;
+ if ($ref->{call} eq $main::mycall) {
+ $ref = DXChannel->get($main::myalias) || $ref;
+ }
$ref->send($line) if $ref;
delete $rcmds{$fromnode} if !$dxchan;
} else {
my $s = shift;
# chop the end off
- $s =~ s/\^H\d\d?\^?~?$//;
+ $s =~ s/\^H\d\d?\^?\~?$//;
return 1 if exists $eph{$s};
$eph{$s} = $main::systime;
return undef;