--- lib/PXElator/httpd.pm 2009/08/28 12:34:10 319 +++ lib/PXElator/httpd.pm 2009/08/28 15:58:25 320 @@ -208,18 +208,32 @@ ) ; } elsif ( $path =~ m!^/client(?:/$RE{net}{IPv4}{-keep})?! ) { - my $ip = $1 || $client->peerhost; + my $ip = $1; if ( my $new_ip = $param->{change_ip} ) { client::change_ip( $ip, $new_ip ); $ip = $new_ip; } - my $netmask = ip::to_int $server::netmask; - my $network = ip::to_int $server::ip & $netmask; - my $ip_int = ip::to_int $ip; + if ( ! $ip ) { + my $peer_ip = $client->peerhost; - if ( $ip ne $server::ip && $ip_int >= ( $network | $server::ip_from ) && $ip_int <= ( $network | $server::ip_to ) ) { +warn "XXX peer_ip $peer_ip"; + + my $netmask = ip::to_int $server::netmask; + my $network = ip::to_int $server::ip & $netmask; + my ( $from, $to ) = ( $network | $server::ip_from, $network | $server::ip_to ); + my $ip_int = ip::to_int $peer_ip; + +warn dump( $ip_int, $from, $to ); + + # show edit for our our class + if ( $ip_int >= ( $network | $server::ip_from ) && $ip_int <= ( $network | $server::ip_to ) ) { + $ip = $peer_ip; + } + } + + if ( $ip && $ip ne $server::ip ) { my $hostname = client::conf( $ip, 'hostname' => $param->{hostname} ); my @table = (