]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - html/cgi-bin/pppsetup.cgi
Merge remote-tracking branch 'stevee/proxy-squidclamav' into next
[ipfire-2.x.git] / html / cgi-bin / pppsetup.cgi
index 2bafaa80a3e6647b2daec1cad43a87d2e1f64311..ca6892bf151b0ce18482da67b014207641d115bc 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2011  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        #
@@ -200,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'; }
@@ -394,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'";
 
@@ -414,6 +423,9 @@ $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);
 
@@ -487,7 +499,7 @@ print <<END
 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
@@ -697,6 +709,11 @@ print <<END
         <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&nbsp;<img src='/blob.gif' alt='*' /></td>
+        <td colspan='3'><input size=50 type='text' name='PPTP_ROUTE' value='$pppsettings{'PPTP_ROUTE'}' /></td>
+</tr>
+
 END
 ;
 }
@@ -728,14 +745,14 @@ END
 ;
 }
 
-        if ($pppsettings{'TYPE'} eq 'vdsl') {
+        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
 ;
-       if ( -e '/usr/local/bin/igmpproxy'){
+       if ( -e '/opt/pakfire/db/installed/meta-igmpproxy'){
 print <<END
                <tr>
                        <td colspan='3' width='100%'><input type='radio' name='IPTV' value='enable' $checked{'IPTV'}{'enable'}>$Lang::tr{'on'}</td>
@@ -748,12 +765,28 @@ print <<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
+;
+               }
        }
 }
 
@@ -765,23 +798,35 @@ print <<END
         <td colspan='4' width='100%' bgcolor='$color{'color20'}'><b>$Lang::tr{'pppoe settings'}</b></td>
 </tr>
 <tr>
-        <td width='25%'><input type='radio' name='METHOD' value='PPPOE_PLUGIN' $checked{'METHOD'}{'PPPOE_PLUGIN'} />PPPoE plugin</td>
-        <td colspan='2' width='50%'>$Lang::tr{'service name'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+        <td width='25%'>$Lang::tr{'service name'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+        <td colspan='2' width='50%'></td>
         <td width='25%'><input type='text' name='SERVICENAME' value='$pppsettings{'SERVICENAME'}' /></td>
 </tr>
 <tr>
-        <td width='25%'><input type='radio' name='METHOD' value='PPPOE' $checked{'METHOD'}{'PPPOE'} />$Lang::tr{'pppoe'}</td>
-        <td colspan='2' width='50%'>$Lang::tr{'concentrator name'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+        <td width='25%'>$Lang::tr{'concentrator name'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+        <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 width='25%'>MTU</td>
-        <td colspan='2' width='50%'></td>
+        <td bgcolor='$color{'color20'}' colspan='4' width='100%'><b>MTU/MRU</b></td>
+</tr>
+<tr>
+<tr>
+        <td width='25%'>MTU&nbsp;<img src='/blob.gif' alt='*' /></td>
         <td width='25%'><input type='text' name='MTU' value='$pppsettings{'MTU'}' /></td>
 </tr>
+<tr>
+        <td width='25%'>MRU&nbsp;<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>
@@ -896,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'} = '';
+        $pppsettings{'MRU'} = '';
         $pppsettings{'DIALMODE'} = 'T';
         $pppsettings{'MAXRETRIES'} = 5;
         $pppsettings{'HOLDOFF'} = 30;
@@ -916,6 +956,8 @@ sub initprofile
         $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';