fix users delete? messages, local::pcprot()
[spider.git] / perl / DXProt.pm
index 4886a7ff3ce736ef8876b887c9526fc7be462d6b..67dc56632d80b4d2e06abcb509daa2d239c7c71e 100644 (file)
@@ -33,6 +33,7 @@ use Route;
 use Route::Node;
 use Script;
 use DXProtHandle;
+use DXCIDR;
 
 use Time::HiRes qw(gettimeofday tv_interval);
 use DXSubprocess;
@@ -297,9 +298,9 @@ sub start
        # log it
        my $host = $self->{conn}->peerhost;
        $host ||= "AGW Port #$self->{conn}->{agwport}" if exists $self->{conn}->{agwport};
+       $host ||= $host if is_ipaddr($host);
        $host ||= "unknown";
        $self->{hostname} = $host if is_ipaddr($host);
-
        Log('DXProt', "$call connected from $host");
 
        # remember type of connection
@@ -428,14 +429,15 @@ sub normal
                }
        }
 
+       my $origin = $self->{call};
+
        if (defined &Local::pcprot) {
                my $r;
-               eval { $r = Local::pcprot($self, $pcno, $line, @field); };
+               eval { $r = Local::pcprot($self, $pcno, $line,  $origin, \@field); };
                return if $r;                   # i.e don't process it
        }
 
        # send it out for processing
-       my $origin = $self->{call};
        no strict 'subs';
        my $sub = "handle_$pcno";