X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fpppsetup.cgi;h=4b45ee50c18d3153a7ea87fb5193b2b1c686d38c;hb=1e2e78e6ff3e98b9de4edefcd520cda3b4e5cea3;hp=acb3c0d4e8c52c7b45001c02d3c31aa5cafe72e6;hpb=5bc3883c7a5481a7c0bee32fd81413b3f1c9b630;p=ipfire-2.x.git diff --git a/html/cgi-bin/pppsetup.cgi b/html/cgi-bin/pppsetup.cgi index acb3c0d4e8..4b45ee50c1 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-2014 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'}; @@ -72,7 +70,10 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'refresh'}) } elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) { - if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|ttyACM0|ttyACM1|ttyACM2|ttyACM3|ttyUSB0|ttyUSB1|ttyUSB2|ttyUSB3|rfcomm0|rfcomm1|isdn1|isdn2)$/) { + if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|ttyACM[0-9]|ttyUSB[0-9]|rfcomm0|rfcomm1|isdn1|isdn2)$/) { + $errormessage = $Lang::tr{'invalid input'}; + goto ERROR; } + if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'MONPORT'} !~ /^(|ttyACM[0-9]|ttyUSB[0-9]|rfcomm0|rfcomm1)$/) { $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'DTERATE'} !~ /^(9600|19200|38400|57600|115200|230400|460800|921600)$/) { @@ -92,7 +93,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,12 +101,9 @@ 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'}; - goto ERROR; } - } + } if ($pppsettings{'TIMEOUT'} eq '') { $errormessage = $Lang::tr{'idle timeout 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'}) @@ -152,11 +150,14 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) if (($pppsettings{'VPI'} eq '0') && ($pppsettings{'VCI'} eq '0')) { $errormessage = $Lang::tr{'invalid vpi vpci'}; goto ERROR; } + if ($pppsettings{'ATM_DEV'} eq '') { + $errormessage = $Lang::tr{'invalid input'}; + goto ERROR; } 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 +203,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 +238,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 +249,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 +257,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 +313,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'"; @@ -318,14 +330,51 @@ $selected{'COMPORT'}{'ttyACM0'} = ''; $selected{'COMPORT'}{'ttyACM1'} = ''; $selected{'COMPORT'}{'ttyACM2'} = ''; $selected{'COMPORT'}{'ttyACM3'} = ''; +$selected{'COMPORT'}{'ttyACM4'} = ''; +$selected{'COMPORT'}{'ttyACM5'} = ''; +$selected{'COMPORT'}{'ttyACM6'} = ''; +$selected{'COMPORT'}{'ttyACM7'} = ''; +$selected{'COMPORT'}{'ttyACM8'} = ''; +$selected{'COMPORT'}{'ttyACM9'} = ''; $selected{'COMPORT'}{'ttyUSB0'} = ''; $selected{'COMPORT'}{'ttyUSB1'} = ''; $selected{'COMPORT'}{'ttyUSB2'} = ''; $selected{'COMPORT'}{'ttyUSB3'} = ''; +$selected{'COMPORT'}{'ttyUSB4'} = ''; +$selected{'COMPORT'}{'ttyUSB5'} = ''; +$selected{'COMPORT'}{'ttyUSB6'} = ''; +$selected{'COMPORT'}{'ttyUSB7'} = ''; +$selected{'COMPORT'}{'ttyUSB8'} = ''; +$selected{'COMPORT'}{'ttyUSB9'} = ''; $selected{'COMPORT'}{'rfcomm0'} = ''; $selected{'COMPORT'}{'rfcomm1'} = ''; $selected{'COMPORT'}{$pppsettings{'COMPORT'}} = "selected='selected'"; +$selected{'MONPORT'}{''} = ''; +$selected{'MONPORT'}{'ttyACM0'} = ''; +$selected{'MONPORT'}{'ttyACM1'} = ''; +$selected{'MONPORT'}{'ttyACM2'} = ''; +$selected{'MONPORT'}{'ttyACM3'} = ''; +$selected{'MONPORT'}{'ttyACM4'} = ''; +$selected{'MONPORT'}{'ttyACM5'} = ''; +$selected{'MONPORT'}{'ttyACM6'} = ''; +$selected{'MONPORT'}{'ttyACM7'} = ''; +$selected{'MONPORT'}{'ttyACM8'} = ''; +$selected{'MONPORT'}{'ttyACM9'} = ''; +$selected{'MONPORT'}{'ttyUSB0'} = ''; +$selected{'MONPORT'}{'ttyUSB1'} = ''; +$selected{'MONPORT'}{'ttyUSB2'} = ''; +$selected{'MONPORT'}{'ttyUSB3'} = ''; +$selected{'MONPORT'}{'ttyUSB4'} = ''; +$selected{'MONPORT'}{'ttyUSB5'} = ''; +$selected{'MONPORT'}{'ttyUSB6'} = ''; +$selected{'MONPORT'}{'ttyUSB7'} = ''; +$selected{'MONPORT'}{'ttyUSB8'} = ''; +$selected{'MONPORT'}{'ttyUSB9'} = ''; +$selected{'MONPORT'}{'rfcomm0'} = ''; +$selected{'MONPORT'}{'rfcomm1'} = ''; +$selected{'MONPORT'}{$pppsettings{'MONPORT'}} = "selected='selected'"; + $selected{'DTERATE'}{'9600'} = ''; $selected{'DTERATE'}{'19200'} = ''; $selected{'DTERATE'}{'38400'} = ''; @@ -353,7 +402,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 +444,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,25 +459,32 @@ $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); if ($netsettings{'RED_TYPE'} ne 'PPPOE') { $errormessage = $Lang::tr{'dialup red not ppp'}; &Header::openbox('100%', 'center', $Lang::tr{'error messages'}); - print "$errormessage\n"; - print " \n"; + print "$errormessage\n"; + print " \n"; &Header::closebox(); &Header::closebigbox(); &Header::closepage(); exit(1); } - + if ($errormessage) { &Header::openbox('100%', 'center', $Lang::tr{'error messages'}); - print "$errormessage\n"; - print " \n"; + print "$errormessage\n"; + print " \n"; &Header::closebox(); } @@ -474,21 +529,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 ; } @@ -514,7 +570,7 @@ END ; if ($pppsettings{'TYPE'} =~ /^(modem)$/) { print <$Lang::tr{'modem configuration'} + $Lang::tr{'modem configuration'} END ; } @@ -553,20 +609,68 @@ END + + + + + + END ; if ($pppsettings{'TYPE'} ne 'serial' ) { print <$Lang::tr{'usb modem on acm0'} - - - + + + + + + + + + + END ; } print " "} + + if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/) { + print < + $Lang::tr{'monitor interface'}: + + + + +END + } + if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ ) { print < @@ -584,14 +688,14 @@ END END ; - } + } if ($pppsettings{'TYPE'} =~ /^(modem)$/ ) { - print "$Lang::tr{'number'}\n"; + 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') { @@ -604,15 +708,15 @@ END - $Lang::tr{'optional at cmd'} 1 * + $Lang::tr{'optional at cmd'} 1 - $Lang::tr{'optional at cmd'} 2 * + $Lang::tr{'optional at cmd'} 2 - $Lang::tr{'optional at cmd'} 3 * + $Lang::tr{'optional at cmd'} 3 @@ -620,12 +724,12 @@ END END -; +; } print < - $Lang::tr{'idle timeout'} + $Lang::tr{'idle timeout'} * @@ -667,11 +771,11 @@ print < - $Lang::tr{'holdoff'}: + $Lang::tr{'holdoff'}: * - $Lang::tr{'maximum retries'} + $Lang::tr{'maximum retries'} * END @@ -686,13 +790,18 @@ print <$Lang::tr{'pptp settings'} - Peer + $Lang::tr{'pptp peer'}: * - My Netconfig + $Lang::tr{'pptp netconfig'}: * + + $Lang::tr{'pptp route'}: + + + END ; } @@ -702,11 +811,12 @@ if ($pppsettings{'TYPE'} =~ /^(pppoeatm|pptpatm)$/) print < - $Lang::tr{'adsl settings'}: + $Lang::tr{'atm settings'}: - + $Lang::tr{'atm device'} + $Lang::tr{'encapsulation'}: - + - $Lang::tr{'vci number'} - + $Lang::tr{'vci number'} + 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 + + -if ($pppsettings{'TYPE'} eq 'pppoe' || $pppsettings{'TYPE'} eq 'pppoeatm') +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' || $pppsettings{'TYPE'} eq 'vdsl') { print <

@@ -733,23 +886,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 - + + MTU: + + MRU: + + END ; -} print <

@@ -757,9 +922,9 @@ print <$Lang::tr{'authentication'} - $Lang::tr{'username'} + $Lang::tr{'username'} * - $Lang::tr{'password'} + $Lang::tr{'password'}  @@ -780,7 +945,7 @@ END } print < - $Lang::tr{'script name'} * + $Lang::tr{'script name'}

@@ -801,7 +966,7 @@ print <




- $Lang::tr{'profile name'} + $Lang::tr{'profile name'} * @@ -810,14 +975,16 @@ print < $Lang::tr{'legend'}: - * $Lang::tr{'this field may be blank'} + * $Lang::tr{'required field'} - END ; -&Header::closebox(); } +print ""; + +&Header::closebox(); + print "\n"; &Header::closebigbox(); @@ -849,6 +1016,7 @@ sub initprofile { $pppsettings{'PROFILENAME'} = $Lang::tr{'unnamed'}; $pppsettings{'COMPORT'} = 'ttyS0'; + $pppsettings{'MONPORT'} = ''; $pppsettings{'DTERATE'} = 115200; $pppsettings{'SPEAKER'} = 'off'; $pppsettings{'RECONNECTION'} = 'persistent'; @@ -862,17 +1030,13 @@ sub initprofile $pppsettings{'ENCAP'} = '0'; $pppsettings{'VPI'} = '1'; $pppsettings{'VCI'} = '32'; + $pppsettings{'ATM_DEV'} = '0'; $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'} = ''; + $pppsettings{'MRU'} = ''; $pppsettings{'DIALMODE'} = 'T'; $pppsettings{'MAXRETRIES'} = 5; $pppsettings{'HOLDOFF'} = 30; @@ -882,7 +1046,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);