/[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 225 by dpavlin, Sun Aug 16 00:03:30 2009 UTC revision 251 by dpavlin, Tue Aug 18 12:46:41 2009 UTC
# Line 24  sub menu {qq{ Line 24  sub menu {qq{
24  <div style="font-size: 80%; color: #888">  <div style="font-size: 80%; color: #888">
25  <a href=/>home</a>  <a href=/>home</a>
26  <a href=/server>server</a>  <a href=/server>server</a>
27    <a href=/brctl>brctl</a>
28  <a href=/ip>ip</a>  <a href=/ip>ip</a>
29  <a href=/client>client</a>  <a href=/client>client</a>
30  </div>  </div>
# Line 52  use browser; Line 53  use browser;
53  use network;  use network;
54  use ip;  use ip;
55  use wireshark;  use wireshark;
56    use syslogd;
57    
58  use CouchDB;  use CouchDB;
59    
# Line 123  sub get_request { Line 125  sub get_request {
125                  warn "static $found" if $debug;                  warn "static $found" if $debug;
126          } elsif ( $path eq '/' ) {          } elsif ( $path eq '/' ) {
127    
128                  my @rows = (                  my @rows;
                         'debug',        qq|<a href=/our/debug/| . boolean::toggle($debug) . qq|>$debug</a>|,  
                 );  
129    
130                  my $debug_proc = '';                  my $debug_proc = '';
131    
132    warn "XXX pids = ", dump( $daemons::pids );
133    
134                  foreach my $name ( sort keys %$daemons::pids ) {                  foreach my $name ( sort keys %$daemons::pids ) {
135                          my $pid = $daemons::pids->{$name} || next;                          my $pid = $daemons::pids->{$name}; # || next;
136    
137                          my $html;                          my $html;
138    
# Line 156  sub get_request { Line 158  sub get_request {
158                                          $html .= qq| <a href=/action/$name/$_>$_</a>| foreach $name->actions;                                          $html .= qq| <a href=/action/$name/$_>$_</a>| foreach $name->actions;
159                                  }                                  }
160                          } else {                          } else {
161                                  $html .= qq|<a href=/start_stop/$name>restart</a> $pid exited| if $name->can('start');                                  if ( $pid =~ m{^\d+$} ) {
162                                            $html .= qq|$pid exited |
163                                    } else {
164                                            $html .= qq|$pid |;
165                                    }
166                                    $html .= qq|<a href=/start_stop/$name>restart</a>| if $pid || $name->can('start');
167                                  if ( $name->can('fork_actions') ) {                                  if ( $name->can('fork_actions') ) {
168                                          $html .= qq| <a href=/start_stop/$name/$_>$_</a>| foreach $name->fork_actions;                                          $html .= qq| <a href=/start_stop/$name/$_>$_</a>| foreach $name->fork_actions;
169                                  }                                  }
170                          }                          }
171    
172                            die "no html generated" unless $html;
173    
174                          push @rows, ( $name => $html );                          push @rows, ( $name => $html );
175                  }                  }
176    
# Line 189  sub get_request { Line 198  sub get_request {
198    
199          } elsif ( $path =~ m{^/server} ) {          } elsif ( $path =~ m{^/server} ) {
200                  print $client ok                  print $client ok
201                          , html::table( 2, map { ( $_, html::tt eval '$server::'.$_ ) } ( 'ip', 'netmask', 'ip_from', 'ip_to', 'domain_name', 'base_dir', 'conf' ) )                          , html::table( 2,
202                                    'debug' => qq|<a href=/our/debug/| . boolean::toggle($debug) . qq|>$debug</a>|,
203                                     map {
204                                            ( $_, html::tt eval '$server::'.$_ )
205                                     } ( 'ip', 'netmask', 'ip_from', 'ip_to', 'domain_name', 'base_dir', 'conf' )
206                            )
207                          ;                          ;
208          } elsif ( $path =~ m!^/client(?:/$RE{net}{IPv4}{-keep})?! ) {          } elsif ( $path =~ m!^/client(?:/$RE{net}{IPv4}{-keep})?! ) {
209                  my $ip = $1 || $client->peerhost;                  my $ip = $1 || $client->peerhost;
# Line 272  sub get_request { Line 286  sub get_request {
286                                  )                                  )
287                                  ;                                  ;
288                  }                  }
289            } elsif ( $path =~ m{^/brctl} ) {
290                    print $client ok
291                            ,html::pre( `brctl show` )
292                            ;
293          } elsif ( $path =~ m{^/ip/?(\w+)?} ) {          } elsif ( $path =~ m{^/ip/?(\w+)?} ) {
294                  print $client ok                  print $client ok
295                          , 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/ ))
# Line 299  sub get_request { Line 317  sub get_request {
317    
318  sub start {  sub start {
319    
320          warn 'tap ', network::tap();          warn 'network ', network::setup();
321    
322          daemons::start_stop 'browser', $url;          daemons::start_stop 'browser', $url;
323          daemons::start_stop $_ foreach ( qw/dhcpd tftpd dnsd/ );          daemons::start_stop $_ foreach ( qw/dhcpd tftpd dnsd syslogd/ );
324          daemons::start_stop 'kvm' unless $ENV{DEV}; # skip kvm statup when running on real device          daemons::start_stop 'kvm' unless $ENV{DEV}; # skip kvm statup when running on real device
325    
326          my $server = IO::Socket::INET->new(          my $server = IO::Socket::INET->new(

Legend:
Removed from v.225  
changed lines
  Added in v.251

  ViewVC Help
Powered by ViewVC 1.1.26