add PC10 proxying
authorminima <minima>
Mon, 22 Jan 2007 14:54:59 +0000 (14:54 +0000)
committerminima <minima>
Mon, 22 Jan 2007 14:54:59 +0000 (14:54 +0000)
perl/DXProtHandle.pm
perl/DXProtout.pm

index 44a1ecc25d01ced0e4e555fa70ee75d47e8e14f0..ef6101cea44cb1c713d62cfc3ed30c1129d16ac1 100644 (file)
@@ -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;
index 4fbb581c08e7ec70cc69bb569b8727a9929630f2..63bc5a3b08a5ba8fbb88abc8b49eaab1dfe2efca 100644 (file)
@@ -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;