From 67bf4b98c59230b6e18264ed9691fe39c4df76d7 Mon Sep 17 00:00:00 2001 From: maniacikarus Date: Tue, 17 Mar 2009 21:49:02 +0100 Subject: [PATCH] Added VDSL Options to pppsetup.cgi (untested, igmpproxy needs to handle the iptv server adresses) --- html/cgi-bin/pppsetup.cgi | 98 +++++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 30 deletions(-) diff --git a/html/cgi-bin/pppsetup.cgi b/html/cgi-bin/pppsetup.cgi index acb3c0d4e..2bafaa80a 100644 --- a/html/cgi-bin/pppsetup.cgi +++ b/html/cgi-bin/pppsetup.cgi @@ -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'}; @@ -227,7 +225,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 +236,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 +244,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 +300,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 +352,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'} = ''; @@ -411,6 +410,10 @@ $checked{'DNS'}{'Automatic'} = ''; $checked{'DNS'}{'Manual'} = ''; $checked{'DNS'}{$pppsettings{'DNS'}} = "checked='checked'"; +$checked{'IPTV'}{'enable'} = ''; +$checked{'IPTV'}{'disable'} = ''; +$checked{'IPTV'}{$pppsettings{'IPTV'}} = "checked='checked'"; + &Header::openpage($Lang::tr{'ppp setup'}, 1, ''); &Header::openbigbox('100%', 'left', '', $errormessage); @@ -425,7 +428,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,12 +477,13 @@ print < END ; -if ($netsettings{'RED_TYPE'} eq 'PPPOE') { +if ($netsettings{'RED_TYPE'} eq 'PPPOE' ) { print <$Lang::tr{'modem'} - - + + + + END ; @@ -488,7 +492,7 @@ chomp ($atmdev); if ($atmdev ne '') { print <PPPoE over ATM-BRIDGE - + END ; } @@ -584,14 +588,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 +624,7 @@ END END -; +; } print < END ; -} +} + if ($pppsettings{'TYPE'} eq 'vdsl') { +print < + IPTV: + +END +; + if ( -e '/usr/local/bin/igmpproxy'){ +print < + $Lang::tr{'on'} + + + + $Lang::tr{'off'} + +END +; + } + else { + print "No IPTV possible install addon igmpproxy"; + } +} -if ($pppsettings{'TYPE'} eq 'pppoe' || $pppsettings{'TYPE'} eq 'pppoeatm') +if ($pppsettings{'TYPE'} eq 'pppoe' || $pppsettings{'TYPE'} eq 'pppoeatm' || $pppsettings{'TYPE'} eq 'vdsl') { print <

@@ -869,10 +901,10 @@ sub initprofile if ( $pppsettings{'METHOD'} eq 'PPPOE_PLUGIN' ) { $pppsettings{'MTU'} = '1492'; $pppsettings{'MRU'} = '1492'; - } else { - $pppsettings{'MTU'} = '1452'; + } else { + $pppsettings{'MTU'} = '1452'; $pppsettings{'MRU'} = '1452'; - } + } $pppsettings{'DIALMODE'} = 'T'; $pppsettings{'MAXRETRIES'} = 5; $pppsettings{'HOLDOFF'} = 30; @@ -882,7 +914,13 @@ sub initprofile $pppsettings{'DNS'} = 'Automatic'; $pppsettings{'DEBUG'} = 'off'; $pppsettings{'BACKUPPROFILE'} = $pppsettings{'PROFILE'}; - + $pppsettings{'IPTVSERVERS'} = '192.168.2.51/32'; + $pppsettings{'IPTV'} = 'disable'; + + 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); -- 2.39.2