From 57c9c65161ea49fee9d6f22be329f2faa490a46f Mon Sep 17 00:00:00 2001 From: minima Date: Mon, 22 Jan 2007 14:54:59 +0000 Subject: [PATCH] add PC10 proxying --- perl/DXProtHandle.pm | 12 ++++++++++-- perl/DXProtout.pm | 7 ++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 44a1ecc2..ef6101ce 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -105,6 +105,12 @@ sub handle_10 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; @@ -1624,6 +1630,8 @@ sub handle_93 my $from = $_[4]; my $via = $_[5]; my $text = $_[6]; + my $onode = $_[7]; + $onode = $pcall if @_ <= 8; # will we allow it at all? if ($censorpc) { @@ -1648,7 +1656,7 @@ sub handle_93 $dxchan = DXChannel::get($main::myalias) if $to eq $main::mycall; $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; } @@ -1660,7 +1668,7 @@ sub handle_93 if ($dxchan->{do_pc9x}) { $dxchan->send($line); } else { - $dxchan->talk($from, $to, $via, $text); + $dxchan->talk($from, $to, $via, $text, $onode); } } return; diff --git a/perl/DXProtout.pm b/perl/DXProtout.pm index 4fbb581c..63bc5a3b 100644 --- a/perl/DXProtout.pm +++ b/perl/DXProtout.pm @@ -423,9 +423,14 @@ sub pc93 my $from = shift; # from user callsign my $via = shift || '*'; # *, node call my $line = shift; # the text + my $origin = shift; # this will be present on proxying from PC10 + $line = unpad($line); $line =~ s/\^/\\5E/g; # remove any ^ characters - return "PC93^$main::mycall^" . gen_pc9x_t() . "^$to^$from^$via^$line^H99^"; + my $s = "PC93^$main::mycall^" . gen_pc9x_t() . "^$to^$from^$via^$line"; + $s .= "^$origin" if $origin; + $s .= "^H99^"; + return $s; } 1; -- 2.43.0