###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2014 IPFire Team <info@ipfire.org> #
# #
# 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 #
}
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)$/) {
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; }
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'; }
$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'} = '';
$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 "<CLASS name='base'>$errormessage\n";
- print " </CLASS>\n";
+ print "<class name='base'>$errormessage\n";
+ print " </class>\n";
&Header::closebox();
&Header::closebigbox();
if ($errormessage) {
&Header::openbox('100%', 'center', $Lang::tr{'error messages'});
- print "<CLASS name='base'>$errormessage\n";
- print " </CLASS>\n";
+ print "<class name='base'>$errormessage\n";
+ print " </class>\n";
&Header::closebox();
}
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 <<END
;
if ($pppsettings{'TYPE'} =~ /^(modem)$/) {
print <<END
- <td colspan='1' width='25%'><A HREF=modem.cgi>$Lang::tr{'modem configuration'}</A></td>
+ <td colspan='1' width='25%'><a href='modem.cgi'>$Lang::tr{'modem configuration'}</a></td>
END
;
}
<option value='ttyUSB1' $selected{'COMPORT'}{'ttyUSB1'}>ttyUSB1</option>
<option value='ttyUSB2' $selected{'COMPORT'}{'ttyUSB2'}>ttyUSB2</option>
<option value='ttyUSB3' $selected{'COMPORT'}{'ttyUSB3'}>ttyUSB3</option>
+ <option value='ttyUSB4' $selected{'COMPORT'}{'ttyUSB4'}>ttyUSB4</option>
+ <option value='ttyUSB5' $selected{'COMPORT'}{'ttyUSB5'}>ttyUSB5</option>
+ <option value='ttyUSB6' $selected{'COMPORT'}{'ttyUSB6'}>ttyUSB6</option>
+ <option value='ttyUSB7' $selected{'COMPORT'}{'ttyUSB7'}>ttyUSB7</option>
+ <option value='ttyUSB8' $selected{'COMPORT'}{'ttyUSB8'}>ttyUSB8</option>
+ <option value='ttyUSB9' $selected{'COMPORT'}{'ttyUSB9'}>ttyUSB9</option>
<option value='rfcomm0' $selected{'COMPORT'}{'rfcomm0'}>rfcomm0 (bluetooth)</option>
<option value='rfcomm1' $selected{'COMPORT'}{'rfcomm1'}>rfcomm1 (bluetooth)</option>
END
;
if ($pppsettings{'TYPE'} ne 'serial' ) {
print <<END
- <option value='ttyACM0' $selected{'COMPORT'}{'ttyACM0'}>$Lang::tr{'usb modem on acm0'}</option>
- <option value='ttyACM1' $selected{'COMPORT'}{'ttyACM1'}>$Lang::tr{'usb modem on acm1'}</option>
- <option value='ttyACM2' $selected{'COMPORT'}{'ttyACM2'}>$Lang::tr{'usb modem on acm2'}</option>
- <option value='ttyACM3' $selected{'COMPORT'}{'ttyACM3'}>$Lang::tr{'usb modem on acm3'}</option>
+ <option value='ttyACM0' $selected{'COMPORT'}{'ttyACM0'}>ttyACM0</option>
+ <option value='ttyACM1' $selected{'COMPORT'}{'ttyACM1'}>ttyACM1</option>
+ <option value='ttyACM2' $selected{'COMPORT'}{'ttyACM2'}>ttyACM2</option>
+ <option value='ttyACM3' $selected{'COMPORT'}{'ttyACM3'}>ttyACM3</option>
+ <option value='ttyACM4' $selected{'COMPORT'}{'ttyACM4'}>ttyACM4</option>
+ <option value='ttyACM5' $selected{'COMPORT'}{'ttyACM5'}>ttyACM5</option>
+ <option value='ttyACM6' $selected{'COMPORT'}{'ttyACM6'}>ttyACM6</option>
+ <option value='ttyACM7' $selected{'COMPORT'}{'ttyACM7'}>ttyACM7</option>
+ <option value='ttyACM8' $selected{'COMPORT'}{'ttyACM8'}>ttyACM8</option>
+ <option value='ttyACM9' $selected{'COMPORT'}{'ttyACM9'}>ttyACM9</option>
END
;
}
print "</select></td> "}
+
+ if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/) {
+ print <<END;
+ <tr>
+ <td colspan='3' width='75%'>$Lang::tr{'monitor interface'}:</td>
+ <td width='25%'>
+ <select name="MONPORT" style="width: 165px;">
+ <option value="" $selected{'MONPORT'}{''}>---</option>
+ <option value="ttyUSB0" $selected{'MONPORT'}{'ttyUSB0'}>ttyUSB0</option>
+ <option value="ttyUSB1" $selected{'MONPORT'}{'ttyUSB1'}>ttyUSB1</option>
+ <option value="ttyUSB2" $selected{'MONPORT'}{'ttyUSB2'}>ttyUSB2</option>
+ <option value="ttyUSB3" $selected{'MONPORT'}{'ttyUSB3'}>ttyUSB3</option>
+ <option value="ttyUSB4" $selected{'MONPORT'}{'ttyUSB4'}>ttyUSB4</option>
+ <option value="ttyUSB5" $selected{'MONPORT'}{'ttyUSB5'}>ttyUSB5</option>
+ <option value="ttyUSB6" $selected{'MONPORT'}{'ttyUSB6'}>ttyUSB6</option>
+ <option value="ttyUSB7" $selected{'MONPORT'}{'ttyUSB7'}>ttyUSB7</option>
+ <option value="ttyUSB8" $selected{'MONPORT'}{'ttyUSB8'}>ttyUSB8</option>
+ <option value="ttyUSB9" $selected{'MONPORT'}{'ttyUSB9'}>ttyUSB9</option>
+ <option value="rfcomm0" $selected{'COMPORT'}{'rfcomm0'}>rfcomm0 (bluetooth)</option>
+ <option value="rfcomm1" $selected{'COMPORT'}{'rfcomm1'}>rfcomm1 (bluetooth)</option>
+ <option value="ttyACM0" $selected{'COMPORT'}{'ttyACM0'}>ttyACM0</option>
+ <option value="ttyACM1" $selected{'COMPORT'}{'ttyACM1'}>ttyACM1</option>
+ <option value="ttyACM2" $selected{'COMPORT'}{'ttyACM2'}>ttyACM2</option>
+ <option value="ttyACM3" $selected{'COMPORT'}{'ttyACM3'}>ttyACM3</option>
+ <option value="ttyACM4" $selected{'COMPORT'}{'ttyACM4'}>ttyACM4</option>
+ <option value="ttyACM5" $selected{'COMPORT'}{'ttyACM5'}>ttyACM5</option>
+ <option value="ttyACM6" $selected{'COMPORT'}{'ttyACM6'}>ttyACM6</option>
+ <option value="ttyACM7" $selected{'COMPORT'}{'ttyACM7'}>ttyACM7</option>
+ <option value="ttyACM8" $selected{'COMPORT'}{'ttyACM8'}>ttyACM8</option>
+ <option value="ttyACM9" $selected{'COMPORT'}{'ttyACM9'}>ttyACM9</option>
+ </select>
+ </td>
+ </tr>
+END
+ }
+
if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ ) {
print <<END
<tr>
<td width='25%'>My Netconfig</td>
<td colspan='3'><input size=50 type='text' name='PPTP_NICCFG' value='$pppsettings{'PPTP_NICCFG'}' /></td>
</tr>
+<tr>
+ <td width='25%'>PPTP Route <img src='/blob.gif' alt='*' /></td>
+ <td colspan='3'><input size=50 type='text' name='PPTP_ROUTE' value='$pppsettings{'PPTP_ROUTE'}' /></td>
+</tr>
+
END
;
}
print <<END
<tr>
- <td colspan='4' width='100%' bgcolor='$color{'color20'}'><b>$Lang::tr{'adsl settings'}:</b></td>
+ <td colspan='4' width='100%' bgcolor='$color{'color20'}'><b>$Lang::tr{'atm settings'}:</b></td>
<tr>
-
+ <td nowrap='nowrap'>$Lang::tr{'atm device'}</td>
+ <td><input type='text' size='5' name='ATM_DEV' value='$pppsettings{'ATM_DEV'}' /></td>
<td> $Lang::tr{'encapsulation'}:</td>
- <td colspan='2' width='30%'>
+ <td>
<select name='ENCAP'>
<option value='0' $selected{'ENCAP'}{'0'}>LLC</option>
<option value='1' $selected{'ENCAP'}{'1'}>VCmux</option>
</td>
</tr>
<tr>
-
<td nowrap='nowrap'>$Lang::tr{'vpi number'}</td>
<td><input type='text' size='5' name='VPI' value='$pppsettings{'VPI'}' /></td>
- <td align='right'>$Lang::tr{'vci number'}</td>
- <td colspan='2'><input type='text' size='5' name='VCI' value='$pppsettings{'VCI'}' /></td>
+ <td> $Lang::tr{'vci number'}</td>
+ <td><input type='text' size='5' name='VCI' value='$pppsettings{'VCI'}' /></td>
</tr>
END
;
if ($pppsettings{'TYPE'} =~ /^(pppoe|vdsl|pppoeatm)$/) {
print <<END
<tr>
- <td colspan='4' width='100%' bgcolor='$color{'color20'}'><b>IPTV:</b></td>
+ <td colspan='4' width='100%' bgcolor='$color{'color20'}'><b>IPTV/VLAN:</b></td>
</tr>
END
;
</tr>
<tr>
<td colspan='3' width='100%'><input type='radio' name='IPTV' value='disable' $checked{'IPTV'}{'disable'}>$Lang::tr{'off'}</td>
- </tr>
+ </tr>
+ <tr>
+ <td>INET_VLAN</td>
+ <td><input size=5 type='number' name='INET_VLAN' value='$pppsettings{'INET_VLAN'}' /></td>
+ <td>IPTV_VLAN</td>
+ <td><input size=5 type='number' name='IPTV_VLAN' value='$pppsettings{'IPTV_VLAN'}' /></td>
+ </tr>
+
END
;
}
else {
print "<tr><td colspan='4' width='100%'>No IPTV possible install addon igmpproxy</td></tr>";
+ if ($pppsettings{'TYPE'} eq 'vdsl') {
+print <<END
+ <tr>
+ <td>INET_VLAN</td>
+ <td><input size=5 type='number' name='INET_VLAN' value='$pppsettings{'INET_VLAN'}' /></td>
+ </tr>
+END
+;
+ }
}
}
<td colspan='2' width='50%'></td>
<td width='25%'><input type='text' name='CONCENTRATORNAME' value='$pppsettings{'CONCENTRATORNAME'}' /></td>
</tr>
+END
+;
+}
+
+print <<END
+<tr><td colspan='4' width='100%'><br></br></td></tr>
+<tr>
+ <td bgcolor='$color{'color20'}' colspan='4' width='100%'><b>MTU/MRU</b></td>
+</tr>
<tr>
- <td width='25%'>MTU</td>
- <td colspan='2' width='50%'></td>
+<tr>
+ <td width='25%'>MTU <img src='/blob.gif' alt='*' /></td>
<td width='25%'><input type='text' name='MTU' value='$pppsettings{'MTU'}' /></td>
</tr>
+<tr>
+ <td width='25%'>MRU <img src='/blob.gif' alt='*' /></td>
+ <td width='25%'><input type='text' name='MRU' value='$pppsettings{'MRU'}' /></td>
+</tr>
END
;
-}
print <<END
<tr><td colspan='4' width='100%'><br></br></td></tr>
{
$pppsettings{'PROFILENAME'} = $Lang::tr{'unnamed'};
$pppsettings{'COMPORT'} = 'ttyS0';
+ $pppsettings{'MONPORT'} = '';
$pppsettings{'DTERATE'} = 115200;
$pppsettings{'SPEAKER'} = 'off';
$pppsettings{'RECONNECTION'} = 'persistent';
$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{'MTU'} = '1492';
- $pppsettings{'MRU'} = '1492';
+ $pppsettings{'MTU'} = '';
+ $pppsettings{'MRU'} = '';
$pppsettings{'DIALMODE'} = 'T';
$pppsettings{'MAXRETRIES'} = 5;
$pppsettings{'HOLDOFF'} = 30;
$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';