X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fpppsetup.cgi;h=f6b29e199bd5ac8b0c840dba6c8dda178e62ecb4;hb=0e14ef8a3b7aa5faa6e1febbd240f4e726ec892e;hp=acb3c0d4e8c52c7b45001c02d3c31aa5cafe72e6;hpb=18680014062bb8e975258eb74c9f19aa9c478bd6;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/html/cgi-bin/pppsetup.cgi b/html/cgi-bin/pppsetup.cgi index acb3c0d4e..f6b29e199 100644 --- a/html/cgi-bin/pppsetup.cgi +++ b/html/cgi-bin/pppsetup.cgi @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2007-2011 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -53,17 +53,15 @@ $pppsettings{'ACTION'} = ''; &Header::getcgihash(\%pppsettings); if ($pppsettings{'ACTION'} ne '' && - (-e '/var/run/ppp-ipcop.pid' || -e "${General::swroot}/red/active")) -{ + ( -e "${General::swroot}/red/active")){ $errormessage = $Lang::tr{'unable to alter profiles while red is active'}; # read in the current vars %pppsettings = (); $pppsettings{'VALID'} = ''; - &General::readhash("${General::swroot}/ppp/settings", \%pppsettings); -} + &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);} elsif ($pppsettings{'ACTION'} eq $Lang::tr{'refresh'}) { - unless ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn|pppoe|pptp|pppoeatm|pptpatm)$/) { + unless ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn|pppoe|pptp|vdsl|pppoeatm|pptpatm)$/) { $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } my $type = $pppsettings{'TYPE'}; @@ -92,7 +90,7 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) goto ERROR; } if ($pppsettings{'TYPE'} =~ /^(modem|isdn)$/) { if ($pppsettings{'TELEPHONE'} eq '') { - $errormessage = $Lang::tr{'telephone not set'}; + $errormessage = $Lang::tr{'telephone not set'}; goto ERROR; } if (!($pppsettings{'TELEPHONE'} =~ /^[\d\*\#\,]+$/)) { $errormessage = $Lang::tr{'bad characters in the telephone number field'}; @@ -100,7 +98,7 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) } unless (($pppsettings{'PROTOCOL'} eq 'RFC1483' && $pppsettings{'METHOD'} =~ /^(STATIC|DHCP)$/)) { if ($pppsettings{'USERNAME'} eq '') { - $errormessage = $Lang::tr{'username not set'}; + $errormessage = $Lang::tr{'username not set'}; goto ERROR; } if ($pppsettings{'PASSWORD'} eq '') { $errormessage = $Lang::tr{'password not set'}; @@ -115,7 +113,7 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) goto ERROR; } if ($pppsettings{'LOGINSCRIPT'} =~ /[.\/ ]/ ) { - $errormessage = $Lang::tr{'bad characters in script field'}; + $errormessage = $Lang::tr{'bad characters in script field'}; goto ERROR; } if ($pppsettings{'DNS1'}) @@ -155,8 +153,8 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) if ( $pppsettings{'PROTOCOL'} eq '' ) { $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } - } - + } + if ( ($pppsettings{'PROTOCOL'} eq 'RFC1483') && ($pppsettings{'METHOD'} eq '') && \ ($pppsettings{'TYPE'} !~ /^(alcatelusb|fritzdsl)$/)) { $errormessage = $Lang::tr{'invalid input'}; @@ -202,6 +200,16 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) delete $pppsettings{'ENCAP_RFC1483'}; delete $pppsettings{'ENCAP_RFC2364'}; + if ((!($pppsettings{'INET_VLAN'} =~ /^\d+$/)) || + ($pppsettings{'INET_VLAN'} eq '') || + ($pppsettings{'INET_VLAN'} > 4095) ) { + $errormessage = 'INET_VLAN - '.$Lang::tr{'invalid input'}; } + + if ((!($pppsettings{'IPTV_VLAN'} =~ /^\d+$/)) || + ($pppsettings{'IPTV_VLAN'} eq '') || + ($pppsettings{'IPTV_VLAN'} > 4095) ) { + $errormessage = 'IPTV_VLAN - '.$Lang::tr{'invalid input'}; } + ERROR: if ($errormessage) { $pppsettings{'VALID'} = 'no'; } @@ -227,7 +235,7 @@ if ($pppsettings{'ACTION'} eq $Lang::tr{'select'}) \%temppppsettings); # make link. - &updatesettings(); + &updatesettings(); # read in the new params "early" so we can write secrets. %pppsettings = (); @@ -238,7 +246,7 @@ if ($pppsettings{'ACTION'} eq $Lang::tr{'select'}) &writesecrets(); - &General::log("$Lang::tr{'profile made current'} $pppsettings{'PROFILENAME'}"); + &General::log("$Lang::tr{'profile made current'} $pppsettings{'PROFILENAME'}"); } elsif ($pppsettings{'ACTION'} eq $Lang::tr{'delete'}) { @@ -246,14 +254,14 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'delete'}) my $profile = $pppsettings{'PROFILE'}; truncate ("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}", 0); - + %temppppsettings = (); $temppppsettings{'PROFILE'} = ''; &General::readhash("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}", \%temppppsettings); # make link. - &updatesettings(); + &updatesettings(); # read in the new params "early" so we can write secrets. %pppsettings = (); @@ -302,6 +310,7 @@ $selected{'TYPE'}{'modem'} = ''; $selected{'TYPE'}{'serial'} = ''; $selected{'TYPE'}{'pppoe'} = ''; $selected{'TYPE'}{'pptp'} = ''; +$selected{'TYPE'}{'vdsl'} = ''; $selected{'TYPE'}{'pppoeatm'} = ''; $selected{'TYPE'}{'pptpatm'} = ''; $selected{'TYPE'}{$pppsettings{'TYPE'}} = "selected='selected'"; @@ -353,7 +362,7 @@ $checked{'DIALONDEMANDDNS'}{'on'} = ''; $checked{'DIALONDEMANDDNS'}{$pppsettings{'DIALONDEMANDDNS'}} = "checked='checked'"; $checked{'AUTOCONNECT'}{'off'} = ''; -$checked{'AUTOCONNECT'}{'on'} = ''; +$checked{'AUTOCONNECT'}{'on'} = ''; $checked{'AUTOCONNECT'}{$pppsettings{'AUTOCONNECT'}} = "checked='checked'"; $checked{'SENDCR'}{'off'} = ''; @@ -395,7 +404,6 @@ $selected{'ENCAP'}{$pppsettings{'ENCAP'}} = "selected='selected'"; $checked{'METHOD'}{'STATIC'} = ''; $checked{'METHOD'}{'PPPOE'} = ''; -$checked{'METHOD'}{'PPPOE_PLUGIN'} = ''; $checked{'METHOD'}{'DHCP'} = ''; $checked{'METHOD'}{$pppsettings{'METHOD'}} = "checked='checked'"; @@ -411,6 +419,13 @@ $checked{'DNS'}{'Automatic'} = ''; $checked{'DNS'}{'Manual'} = ''; $checked{'DNS'}{$pppsettings{'DNS'}} = "checked='checked'"; +$checked{'IPTV'}{'enable'} = ''; +$checked{'IPTV'}{'disable'} = ''; +$checked{'IPTV'}{$pppsettings{'IPTV'}} = "checked='checked'"; + +if ($pppsettings{'INET_VLAN'} eq '') { $pppsettings{'INET_VLAN'}='7'; } +if ($pppsettings{'IPTV_VLAN'} eq '') { $pppsettings{'IPTV_VLAN'}='8'; } + &Header::openpage($Lang::tr{'ppp setup'}, 1, ''); &Header::openbigbox('100%', 'left', '', $errormessage); @@ -425,7 +440,7 @@ if ($netsettings{'RED_TYPE'} ne 'PPPOE') { &Header::closepage(); exit(1); } - + if ($errormessage) { &Header::openbox('100%', 'center', $Lang::tr{'error messages'}); print "$errormessage\n"; @@ -474,21 +489,22 @@ print < END ; -if ($netsettings{'RED_TYPE'} eq 'PPPOE') { +if ($netsettings{'RED_TYPE'} eq 'PPPOE' ) { print <$Lang::tr{'modem'} - - + + + + END ; -my $atmdev=`cat /proc/net/atm/devices | grep 0`; +my $atmdev=`cat /proc/net/atm/devices 2>/dev/null | grep 0`; chomp ($atmdev); if ($atmdev ne '') { print <PPPoE over ATM-BRIDGE - + END ; } @@ -584,14 +600,14 @@ END END ; - } + } if ($pppsettings{'TYPE'} =~ /^(modem)$/ ) { print "$Lang::tr{'number'}\n"; print "\n"; if ($pppsettings{'TYPE'} eq 'modem' ) { print "$Lang::tr{'modem speaker on'}\n"; print "\n"; - } + } } } if ($pppsettings{'TYPE'} eq 'modem') { @@ -620,7 +636,7 @@ END END -; +; } print <My Netconfig + + PPTP Route * + + + END ; } @@ -722,10 +743,54 @@ print < END ; -} +} + + if ($pppsettings{'TYPE'} =~ /^(pppoe|vdsl|pppoeatm)$/) { +print < + IPTV/VLAN: + +END +; + if ( -e '/opt/pakfire/db/installed/meta-igmpproxy'){ +print < + $Lang::tr{'on'} + + + + $Lang::tr{'off'} + + + INET_VLAN + + IPTV_VLAN + + +END +; + } + else { + print "No IPTV possible install addon igmpproxy"; + if ($pppsettings{'TYPE'} eq 'vdsl') { +print < + INET_VLAN + + +END +; + } + } +} -if ($pppsettings{'TYPE'} eq 'pppoe' || $pppsettings{'TYPE'} eq 'pppoeatm') +if ($pppsettings{'TYPE'} eq 'pppoe' || $pppsettings{'TYPE'} eq 'pppoeatm' || $pppsettings{'TYPE'} eq 'vdsl') { print <

@@ -733,23 +798,35 @@ print <$Lang::tr{'pppoe settings'} - PPPoE plugin - $Lang::tr{'service name'} * + $Lang::tr{'service name'} * + - $Lang::tr{'pppoe'} - $Lang::tr{'concentrator name'} * + $Lang::tr{'concentrator name'} * + +END +; +} + +print <

+ + MTU/MRU + + MTU - + + MRU + + END ; -} print <

@@ -864,15 +941,10 @@ sub initprofile $pppsettings{'VCI'} = '32'; $pppsettings{'PPTP_PEER'} = '10.0.0.138'; $pppsettings{'PPTP_NICCFG'} = '10.0.0.140/24 broadcast 10.0.0.255'; + $pppsettings{'PPTP_ROUTE'} = ''; $pppsettings{'PROTOCOL'} = 'RFC2364'; - $pppsettings{'METHOD'} = 'PPPOE_PLUGIN'; - if ( $pppsettings{'METHOD'} eq 'PPPOE_PLUGIN' ) { - $pppsettings{'MTU'} = '1492'; - $pppsettings{'MRU'} = '1492'; - } else { - $pppsettings{'MTU'} = '1452'; - $pppsettings{'MRU'} = '1452'; - } + $pppsettings{'MTU'} = '1492'; + $pppsettings{'MRU'} = '1492'; $pppsettings{'DIALMODE'} = 'T'; $pppsettings{'MAXRETRIES'} = 5; $pppsettings{'HOLDOFF'} = 30; @@ -882,7 +954,15 @@ sub initprofile $pppsettings{'DNS'} = 'Automatic'; $pppsettings{'DEBUG'} = 'off'; $pppsettings{'BACKUPPROFILE'} = $pppsettings{'PROFILE'}; - + $pppsettings{'IPTVSERVERS'} = '192.168.2.51/32'; + $pppsettings{'IPTV'} = 'disable'; + $pppsettings{'INET_VLAN'} = '7'; + $pppsettings{'IPTV_VLAN'} = '8'; + + if ( -e '/usr/local/bin/igmpproxy'){ + $pppsettings{'IPTV'} = 'enable'; + } + # Get PPPoE settings so we can see if PPPoE is enabled or not. &General::readhash("${General::swroot}/ethernet/settings", \%netsettings);