projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add PC10 proxying
[spider.git]
/
perl
/
DXProtHandle.pm
diff --git
a/perl/DXProtHandle.pm
b/perl/DXProtHandle.pm
index 938d0fbca136cb84aedd245e03c3ebc011ffc54f..ef6101cea44cb1c713d62cfc3ed30c1129d16ac1 100644
(file)
--- a/
perl/DXProtHandle.pm
+++ b/
perl/DXProtHandle.pm
@@
-105,6
+105,12
@@
sub handle_10
RouteDB::update($_[6], $self->{call});
# RouteDB::update($to, $_[6]);
RouteDB::update($_[6], $self->{call});
# RouteDB::update($to, $_[6]);
+ # convert this to a PC93 and process it as such
+ $self->process(pc93($to, $from, $via, $_[3], $_[6]));
+ return;
+
+ # this is all redundant but kept for now for reference
+
# it is here and logged on
$dxchan = DXChannel::get($main::myalias) if $to eq $main::mycall;
$dxchan = DXChannel::get($to) unless $dxchan;
# it is here and logged on
$dxchan = DXChannel::get($main::myalias) if $to eq $main::mycall;
$dxchan = DXChannel::get($to) unless $dxchan;
@@
-610,10
+616,8
@@
sub handle_18
$self->sort('S');
}
$self->{handle_xml}++ if DXXml::available() && $_[1] =~ /\bxml/;
$self->sort('S');
}
$self->{handle_xml}++ if DXXml::available() && $_[1] =~ /\bxml/;
- my ($pc9x) = $_[1] =~ /\bpc9\[(\d+)\]/;
- if (defined $pc9x) {
- $self->{do_pc92}++ if $pc9x =~ /2/;
- $self->{do_pc93}++ if $pc9x =~ /3/;
+ if ($_[1] =~ /\bpc9x/) {
+ $self->{do_pc9x}++;
}
} else {
$self->version(50.0);
}
} else {
$self->version(50.0);
@@
-788,7
+792,7
@@
sub send_delayed_pc92
$self->broadcast_route_pc9x($main::mycall, undef, $line, 0);
# if this is an external node then send out the external config
$self->broadcast_route_pc9x($main::mycall, undef, $line, 0);
# if this is an external node then send out the external config
- unless ($self->{do_pc9
2
}) {
+ unless ($self->{do_pc9
x
}) {
$line = gen_my_pc92_config(Route::Node::get($self->{call}));
$self->broadcast_route_pc9x($main::mycall, undef, $line, 0);
}
$line = gen_my_pc92_config(Route::Node::get($self->{call}));
$self->broadcast_route_pc9x($main::mycall, undef, $line, 0);
}
@@
-802,7
+806,7
@@
sub handle_20
my $line = shift;
my $origin = shift;
my $line = shift;
my $origin = shift;
- if ($self->{do_pc9
2
} && $self->{state} ne 'init92') {
+ if ($self->{do_pc9
x
} && $self->{state} ne 'init92') {
dbg("PCPROT: disconnecting because login call not sent in any pc92") if isdbg('chanerr');
$self->send("**** You logged in with $self->{call} but that is NOT your \$mycall");
$self->disconnect;
dbg("PCPROT: disconnecting because login call not sent in any pc92") if isdbg('chanerr');
$self->send("**** You logged in with $self->{call} but that is NOT your \$mycall");
$self->disconnect;
@@
-887,7
+891,7
@@
sub handle_22
my $line = shift;
my $origin = shift;
my $line = shift;
my $origin = shift;
- if ($self->{do_pc9
2
}) {
+ if ($self->{do_pc9
x
}) {
if ($self->{state} ne 'init92') {
dbg("PCPROT: disconnecting because login call not sent in any pc92") if isdbg('chanerr');
$self->send("**** You logged in with $self->{call} but that is NOT your \$mycall");
if ($self->{state} ne 'init92') {
dbg("PCPROT: disconnecting because login call not sent in any pc92") if isdbg('chanerr');
$self->send("**** You logged in with $self->{call} but that is NOT your \$mycall");
@@
-1366,7
+1370,7
@@
sub _encode_pc92_call
if ($ref->isa('Route::Node') || $ref->isa('DXProt')) {
$flag |= 4;
my $dxchan = DXChannel::get($call);
if ($ref->isa('Route::Node') || $ref->isa('DXProt')) {
$flag |= 4;
my $dxchan = DXChannel::get($call);
- $flag |= 2 if $call ne $main::mycall && $dxchan && !$dxchan->{do_pc9
2
};
+ $flag |= 2 if $call ne $main::mycall && $dxchan && !$dxchan->{do_pc9
x
};
if ($ext) {
if ($ref->version) {
my $version = $ref->version || 1.0;
if ($ext) {
if ($ref->version) {
my $version = $ref->version || 1.0;
@@
-1464,7
+1468,7
@@
sub handle_92
my (@radd, @rdel);
my (@radd, @rdel);
- $self->{do_pc9
2
} ||= 1;
+ $self->{do_pc9
x
} ||= 1;
my $pcall = $_[1];
unless ($pcall) {
my $pcall = $_[1];
unless ($pcall) {
@@
-1488,7
+1492,7
@@
sub handle_92
my $oparent = $parent;
$parent->lastid->{92} = $t;
my $oparent = $parent;
$parent->lastid->{92} = $t;
- $parent->do_pc9
2
(1);
+ $parent->do_pc9
x
(1);
$parent->via_pc92(1);
if (@ent) {
$parent->via_pc92(1);
if (@ent) {
@@
-1612,7
+1616,7
@@
sub handle_93
my $line = shift;
my $origin = shift;
my $line = shift;
my $origin = shift;
- $self->{do_pc9
3
} ||= 1;
+ $self->{do_pc9
x
} ||= 1;
my $pcall = $_[1];
unless (is_callsign($pcall)) {
my $pcall = $_[1];
unless (is_callsign($pcall)) {
@@
-1626,6
+1630,8
@@
sub handle_93
my $from = $_[4];
my $via = $_[5];
my $text = $_[6];
my $from = $_[4];
my $via = $_[5];
my $text = $_[6];
+ my $onode = $_[7];
+ $onode = $pcall if @_ <= 8;
# will we allow it at all?
if ($censorpc) {
# will we allow it at all?
if ($censorpc) {
@@
-1646,10
+1652,11
@@
sub handle_93
if (is_callsign($to)) {
# local talks
if (is_callsign($to)) {
# local talks
- my $dxchan = DXChannel::get($main::myalias) if $to eq $main::mycall;
+ my $dxchan;
+ $dxchan = DXChannel::get($main::myalias) if $to eq $main::mycall;
$dxchan = DXChannel::get($to) unless $dxchan;
if ($dxchan && $dxchan->is_user) {
$dxchan = DXChannel::get($to) unless $dxchan;
if ($dxchan && $dxchan->is_user) {
- $dxchan->talk($from, $to, $via, $text);
+ $dxchan->talk($from, $to, $via, $text
, $onode
);
return;
}
return;
}
@@
-1658,10
+1665,10
@@
sub handle_93
if ($ref) {
my @dxchan = $ref->alldxchan;
for $dxchan (@dxchan) {
if ($ref) {
my @dxchan = $ref->alldxchan;
for $dxchan (@dxchan) {
- if ($dxchan->{do_pc9
3
}) {
+ if ($dxchan->{do_pc9
x
}) {
$dxchan->send($line);
} else {
$dxchan->send($line);
} else {
- $dxchan->talk($from, $to, $via, $text);
+ $dxchan->talk($from, $to, $via, $text
, $onode
);
}
}
return;
}
}
return;