X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=html%2Fcgi-bin%2Findex.cgi;h=d6115bdb00c5b2297abc04e20313298186a7a790;hp=e37540bc284ff833a30b7d4afd736df9df864ab8;hb=e11f536252fe1f4317c47c121f5026b9a458a311;hpb=ac14b325e03276f9e17e334b03a3d3129903bac7 diff --git a/html/cgi-bin/index.cgi b/html/cgi-bin/index.cgi index e37540bc2..d6115bdb0 100644 --- a/html/cgi-bin/index.cgi +++ b/html/cgi-bin/index.cgi @@ -40,6 +40,8 @@ my $warnmessage = ''; my $refresh = ""; my $ipaddr=''; +my $haveipsec=0; +my $haveovpn=0; &Header::showhttpheaders(); @@ -60,9 +62,7 @@ my %mainsettings = (); my $connstate = &Header::connectionstatus(); if ( -e "/var/ipfire/main/gpl-accepted" ) { -if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'} || $cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) { - $refresh = ""; -} elsif ($connstate =~ /$Lang::tr{'connecting'}/ || /$Lang::tr{'connection closed'}/ ){ +if ($connstate =~ /$Lang::tr{'connecting'}/ || /$Lang::tr{'connection closed'}/ ){ $refresh = ""; } elsif ($connstate =~ /$Lang::tr{'dod waiting'}/ || -e "${General::swroot}/main/refreshindex") { $refresh = ""; @@ -138,7 +138,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'yes'} && $cgiparams{'gpl_accepted'} eq '1 system('touch /var/ipfire/main/gpl_accepted') } if ( -e "/var/ipfire/main/gpl_accepted" ) { -&Header::openbox('100%', 'center', &Header::cleanhtml(`/bin/uname -n`,"y")); +&Header::openbox('100%', 'center', ''); if ( ( $pppsettings{'VALID'} eq 'yes' && $modemsettings{'VALID'} eq 'yes' ) || ( $netsettings{'CONFIG_TYPE'} =~ /^(1|2|3|4)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ )) { @@ -158,105 +158,57 @@ if ( ( $pppsettings{'VALID'} eq 'yes' && $modemsettings{'VALID'} eq 'yes' ) || ( print "$Lang::tr{'profile has errors'}\n \n"; } -#if ( $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) { -# $ipaddr = $netsettings{'RED_ADDRESS'}; -#} - -my $death = 0; -my $rebirth = 0; - -if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'}) { - $death = 1; - &General::log($Lang::tr{'shutting down ipfire'}); - system '/usr/local/bin/ipfirereboot down'; -} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) { - $rebirth = 1; - &General::log($Lang::tr{'rebooting ipfire'}); - system '/usr/local/bin/ipfirereboot boot'; -} - -if ($death == 0 && $rebirth == 0) { - -if ($mainsettings{'REBOOTQUESTION'} eq "off") { -print < - - - - - - -
- -END -; -} else { - if ($cgiparams{'ACTION'} eq $Lang::tr{'reboot ask'}) { -print < - - - - - - - - - -
$Lang::tr{'reboot sure'}
- -END -; - } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown ask'}) { -print < - - - - - - - - - -
$Lang::tr{'shutdown sure'}
- -END -; - } else { -print < - - - - - - -
- -END -; - } -} print < - +
- + + +
$Lang::tr{'network'}IP$Lang::tr{'ip address'} $Lang::tr{'status'}
$Lang::tr{'internet'}
$ipaddr $connstate END + my $HOSTNAME = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0]; + if ( "$HOSTNAME" ne "" ) { + print <Hostname:$HOSTNAME  +END + } + + if ( -e "/var/ipfire/red/remote-ipaddress" ) { + my $GATEWAY = `cat /var/ipfire/red/remote-ipaddress`; + chomp($GATEWAY); + print <Gateway:$GATEWAY  +END + } + + my $DNS1 = `cat /var/ipfire/red/dns1`; + my $DNS2 = `cat /var/ipfire/red/dns2`; + chomp($DNS1); + chomp($DNS1); + + if ( $DNS1 ) { print <DNS-Server:$DNS1 +END + } + if ( $DNS2 ) { print <$DNS2 +END + } else { print < 
+END + } + +#Dial profiles if ( $netsettings{'RED_TYPE'} ne "STATIC" && $netsettings{'RED_TYPE'} ne "DHCP" ){ print `/usr/local/bin/dialctrl.pl show`; print < - - +
+ +
$Lang::tr{'profile'}:
"; } - my $HOSTNAME = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0]; - if ( "$HOSTNAME" ne "" ) { - print <Hostname:$HOSTNAME  -END - } - - if ( -e "/var/ipfire/red/remote-ipaddress" ) { - my $GATEWAY = `cat /var/ipfire/red/remote-ipaddress`; - chomp($GATEWAY); + if ( $netsettings{'GREEN_DEV'} ) { + my $sub=&General::iporsubtocidr($netsettings{'GREEN_NETMASK'}); print <Gateway:$GATEWAY  -END - } - - my $DNS1 = `cat /var/ipfire/red/dns1`; - my $DNS2 = `cat /var/ipfire/red/dns2`; - chomp($DNS1); - chomp($DNS1); - - if ( $DNS1 ) { print <DNS-Server:$DNS1 -END - } - if ( $DNS2 ) { print <$DNS2 -END - } else { print <  -END - } - - if ( $netsettings{'GREEN_DEV'} ) { print < + + + + + + +
$Lang::tr{'network'}$Lang::tr{'ip address'}$Lang::tr{'status'}
$Lang::tr{'lan'} - $netsettings{'GREEN_ADDRESS'} - + $netsettings{'GREEN_ADDRESS'}/$sub + END if ( `cat /var/ipfire/proxy/advanced/settings | grep ^ENABLE=on` ) { print $Lang::tr{'advproxy on'}; if ( `cat /var/ipfire/proxy/advanced/settings | grep ^TRANSPARENT=on` ) { print " (transparent)"; } } else { print $Lang::tr{'advproxy off'}; } } - if ( $netsettings{'BLUE_DEV'} ) { print <$Lang::tr{'wireless'}
-
$netsettings{'BLUE_ADDRESS'} - + $netsettings{'BLUE_ADDRESS'}/$sub + END if ( `cat /var/ipfire/proxy/advanced/settings | grep ^ENABLE_BLUE=on` ) { print $Lang::tr{'advproxy on'}; if ( `cat /var/ipfire/proxy/advanced/settings | grep ^TRANSPARENT_BLUE=on` ) { print " (transparent)"; } } else { print $Lang::tr{'advproxy off'}; } } - if ( $netsettings{'ORANGE_DEV'} ) { print <$Lang::tr{'dmz'}
-
$netsettings{'ORANGE_ADDRESS'} - Online + $netsettings{'ORANGE_ADDRESS'}/$sub + Online END } - if ( `cat /var/ipfire/vpn/settings | grep ^ENABLED=on` || - `cat /var/ipfire/vpn/settings | grep ^ENABLED_BLUE=on` ) { +#check if IPSEC is running +if ( `cat /var/ipfire/vpn/settings | grep ^ENABLED=on` || + `cat /var/ipfire/vpn/settings | grep ^ENABLED_BLUE=on` ) { + $haveipsec=1; + my $ipsecip = `cat /var/ipfire/vpn/settings | grep ^VPN_IP= | cut -c 8-`; +print<$Lang::tr{'ipsec'}
+
$ipsecip + Online +END +} + +#check if OpenVPN is running +my %confighash=(); +&General::readhash("${General::swroot}/ovpn/settings", \%confighash); + +if (($confighash{'ENABLED'} eq "on") || + ($confighash{'ENABLED_BLUE'} eq "on") || + ($confighash{'ENABLED_ORANGE'} eq "on")) { + my ($ovpnip,$sub) = split("/",$confighash{'DOVPN_SUBNET'}); + $sub=&General::iporsubtocidr($sub); + $ovpnip="$ovpnip/$sub"; + $haveovpn=1; +print < + + OpenVPN
+
$ovpnip + Online +END + } +print"
"; +&Header::closebox(); + +# Start of Box wich contains all vpn connections + &Header::openbox('100%', 'center', $Lang::tr{'vpn'}) if ($haveipsec || $haveovpn); + +#show ipsec connectiontable + if ( $haveipsec ) { my $ipsecip = `cat /var/ipfire/vpn/settings | grep ^VPN_IP= | cut -c 8-`; my @status = `/usr/local/bin/ipsecctrl I`; my %confighash = (); &General::readhasharray("${General::swroot}/vpn/config", \%confighash); print <$Lang::tr{'vpn'}
- $ipsecip - Online +
+ + + + + + END my $id = 0; my $gif; + my $col=""; foreach my $key (sort { uc($confighash{$a}[1]) cmp uc($confighash{$b}[1]) } keys %confighash) { if ($confighash{$key}[0] eq 'on') { $gif = 'on.gif'; } else { $gif = 'off.gif'; } - + my ($vpnip,$vpnsub) = split("/",$confighash{$key}[11]); + $vpnsub=&General::iporsubtocidr($vpnsub); + $vpnip="$vpnip/$vpnsub"; if ($id % 2) { - print ""; + $col="bgcolor='$color{'color20'}'"; + print ""; } else { - print ""; + $col="bgcolor='$color{'color22'}'"; + print ""; } - my $active = "
$Lang::tr{'ipsec network'}$Lang::tr{'ip address'}$Lang::tr{'status'}
$confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")$confighash{$key}[11]
$confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")$vpnip
$confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")$confighash{$key}[11]
$confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")$vpnip
$Lang::tr{'capsclosed'}
"; + my $active = "$Lang::tr{'capsclosed'}"; if ($confighash{$key}[0] eq 'off') { - $active = "
$Lang::tr{'capsclosed'}
"; + $active = "$Lang::tr{'capsclosed'}"; } else { foreach my $line (@status) { if (($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) || @@ -380,46 +361,38 @@ END } } } - print "$active"; + print "$active"; } + print ""; } ### # Check if there is any OpenVPN connection configured. ### -if ( -s "${General::swroot}/ovpn/ovpnconfig") - { +if ( $haveovpn ) +{ print < + - + + + END # Check if the OpenVPN server for Road Warrior Connections is running and display status information. my %confighash=(); &General::readhash("${General::swroot}/ovpn/settings", \%confighash); - - if (($confighash{'ENABLED'} eq "on") || - ($confighash{'ENABLED_BLUE'} eq "on") || - ($confighash{'ENABLED_ORANGE'} eq "on")) { - - my $ovpnip = $confighash{'DOVPN_SUBNET'}; - print <$ovpnip - - -
- OpenVPN
-
$Lang::tr{'openvpn network'}$Lang::tr{'ip address'}$Lang::tr{'status'}Online -END - - } - # Print the OpenVPN N2N connection status. if ( -d "${General::swroot}/ovpn/n2nconf") { my %confighash=(); &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); + my $lines; + my $col=""; foreach my $dkey (keys %confighash) { + $lines++; if (($confighash{$dkey}[3] eq 'net') && (-e "/var/run/$confighash{$dkey}[1]n2n.pid")) { my $tport = $confighash{$dkey}[22]; next if ($tport eq ''); @@ -431,22 +404,30 @@ END my $display; my $display_colour = $Header::colourred; - if ( $tustate[1] eq 'CONNECTED') { + if (($tustate[1] eq 'CONNECTED') || ($tustate[1] eq 'WAIT')) { $display_colour = $Header::colourgreen; $display = $Lang::tr{'capsopen'}; } else { $display = $tustate[1]; } - + if ($lines %2){ + $col="bgcolor='$color{'color20'}'"; + }else{ + $col="bgcolor='$color{'color22'}'"; + } + #make cidr from ip + my ($vpnip,$vpnsub) = split("/",$confighash{$dkey}[11]); + my $vpnsub=&General::iporsubtocidr($vpnsub); + my $vpnip="$vpnip/$vpnsub"; print < - + $confighash{$dkey}[1] - $confighash{$dkey}[11] + + $vpnip + $display @@ -459,7 +440,7 @@ END } } } - +&Header::closebox(); # Fireinfo if ( ! -e "/var/ipfire/main/send_profile") { $warnmessage .= "
  • $Lang::tr{'fireinfo please enable'}
  • "; @@ -534,28 +515,6 @@ END if ( -e "/var/run/need_reboot" ) { print "

    $Lang::tr{'needreboot'}!"; } -} else { - my $message=''; - if ($death) { - $message = $Lang::tr{'ipfire has now shutdown'}; - } else { - $message = $Lang::tr{'ipfire has now rebooted'}; - } - print < - - -
    -




    -
    -
    -$message - -END -; - -} - &Header::closebox(); }