/[pxelator]/lib/PXElator/httpd.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/PXElator/httpd.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 329 by dpavlin, Fri Aug 28 21:55:41 2009 UTC revision 334 by dpavlin, Fri Aug 28 23:30:38 2009 UTC
# Line 224  warn "XXX pids = ", dump( $daemons::pids Line 224  warn "XXX pids = ", dump( $daemons::pids
224                  if ( ! $ip ) {                  if ( ! $ip ) {
225                          my $peer_ip = $client->peerhost;                          my $peer_ip = $client->peerhost;
226    
227                          my $netmask = ip::to_int $server::netmask;                          my $netmask  = ip::to_int $server::netmask;
228                          my $network = ip::to_int $server::ip & $netmask;                          my $network  = ip::to_int($server::ip) & $netmask;
229                          my ( $from, $to ) = ( $network | $server::ip_from, $network | $server::ip_to );                          my $from_int = $network | $server::ip_from;
230                          my $ip_int  = ip::to_int $peer_ip;                          my $to_int   = $network | $server::ip_to;
231                            my $ip_int   = ip::to_int $peer_ip;
232    
233                          # show edit for clients in our dhcp range                          # show edit for clients in our dhcp range
234                          if ( $ip_int >= ( $network | $server::ip_from ) && $ip_int <= ( $network | $server::ip_to ) ) {                          if ( $ip_int >= $from_int && $ip_int <= $to_int ) {
235                                  $ip = $peer_ip;                                  $ip = $peer_ip;
236                          }                          }
237                  }                  }
# Line 272  warn "XXX pids = ", dump( $daemons::pids Line 273  warn "XXX pids = ", dump( $daemons::pids
273    
274                  } else {                  } else {
275    
276                          my $arp = clinet::arp_mac_dev;                          my @ping;
277                            if ( my $host = $param->{ping_target} ) {
278                                    @ping = ( $host );
279                            } elsif ( $param->{ping} ) {
280                                    @ping = client::all_ips;
281                            }
282    
283                            my $ping = ping::fping( @ping ) if @ping;
284                            my $arp = client::arp_mac_dev;
285    
286                          print $client ok                          print $client ok
287                                  , qq|<h2>Clients on $server::ip</h2>|                                  , qq|<h2>Clients on $server::ip</h2>|
# Line 282  warn "XXX pids = ", dump( $daemons::pids Line 291  warn "XXX pids = ", dump( $daemons::pids
291                                                  my $ip = $_;                                                  my $ip = $_;
292                                                  my $conf = client::all_conf( $ip );                                                  my $conf = client::all_conf( $ip );
293                                                  my $mac = delete $conf->{mac} || '';                                                  my $mac = delete $conf->{mac} || '';
294                                                    my $style;
295                                                    $style
296                                                            = 'style="color:'
297                                                            . ( $ping->{$ip} ? 'green' : 'red' )
298                                                            . '"'
299                                                            if $ping;
300                                                    $style ||= '';
301                                                  (                                                  (
302                                                          qq|<a name=$ip href=/client/$ip>$ip</a>|                                                          qq|<a $style name=$ip href=/client/$ip>$ip</a>|
303                                                          , format::mac( $mac => 'html' )                                                          , format::mac( $mac => 'html' )
304                                                          , $arp->{$mac}                                                          , $arp->{$mac}
305                                                          , delete $conf->{hostname}                                                          , delete $conf->{hostname}
# Line 293  warn "XXX pids = ", dump( $daemons::pids Line 309  warn "XXX pids = ", dump( $daemons::pids
309                                          } client::all_ips                                          } client::all_ips
310                                  )                                  )
311                                  ;                                  ;
312                            print $client qq|
313                                    <form method=get>
314                                    <input type=text   name=ping_target   size=15>
315                                    <input type=submit name=ping value=ping>
316                                    </form>
317                            |;
318                  }                  }
319          } elsif ( $path =~ m{^/brctl} ) {          } elsif ( $path =~ m{^/brctl} ) {
320                  print $client ok                  print $client ok, html::table( -4,
321                          ,html::pre( `brctl show` )                          map {
322                          ;                                  my @c = split(/\t+/,$_,4);
323                                    if ( $#c == 1 ) {
324                                            ( '', '', '', $c[1] )
325                                    } else {
326                                            @c
327                                    }
328                            } split(/\n/, `brctl show`)
329                    );
330          } elsif ( $path =~ m{^/ip/?(\w+)?} ) {          } elsif ( $path =~ m{^/ip/?(\w+)?} ) {
331                  print $client ok                  print $client ok
332                          , join("\n", map { qq|<a href=/ip/$_>$_</a>| } ( qw/link addr route neigh ntable tunnel maddr mroute xfrm/ ))                          , join("\n", map { qq|<a href=/ip/$_>$_</a>| } ( qw/link addr route neigh ntable tunnel maddr mroute xfrm/ ))

Legend:
Removed from v.329  
changed lines
  Added in v.334

  ViewVC Help
Powered by ViewVC 1.1.26