added some more pc16/17 routing code
[spider.git] / perl / Aranea.pm
index e90a2a4505e8f6e163df3b4248bc45034fb6702d..fc77cc13122fe6f1a7f330c11992e5aedb1ac59f 100644 (file)
@@ -25,6 +25,7 @@ use Script;
 use Verify;
 use DXDupe;
 use Thingy;
+use RouteDB;
 
 use vars qw($VERSION $BRANCH);
 $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
@@ -294,9 +295,9 @@ sub input
        # validate it further
        $err .= "missing cmd or data," unless $cmd && $data;
        $err .= "invalid command ($cmd)," unless $cmd =~ /^[A-Z][A-Z0-9]*$/;
-       my ($gp, $tus) = split /:/, $group, 2;
+       my ($gp, $tus) = split /:/, $group, 2 if $group;
                
-       $err .= "invalid group ($gp)," unless $gp =~ /^[A-Z0-9]{2,}$/;
+       $err .= "invalid group ($gp)," if $gp && $gp !~ /^[A-Z0-9]{2,}$/;
        $err .= "invalid tocall ($tus)," if $tus && !is_callsign($tus);
        $err .= "invalid fromcall ($user)," if $user && !is_callsign($user);
 
@@ -313,7 +314,8 @@ sub input
                $thing = $class->new();
 
                # reconstitute the header but wth hop increased by one
-               $head = join(',', $origin, $group, $dts, ++$hop);
+               $head = join(',', $origin, $dts, ++$hop);
+               $head .= ",$group" if $group;
                $head .= ",$user" if $user;
                $thing->{Aranea} = "$head|$data";
 
@@ -324,7 +326,7 @@ sub input
                $thing->{touser} = $tus if $tus;
                $thing->{user} = $user if $user;
                $thing->{hopsaway} = $hop; 
-               
+
                for (split(/,/, $rdata)) {
                        if (/=/) {
                                my ($k,$v) = split /=/, $_, 2;