Revision: 6330 http://ipcop.svn.sourceforge.net/ipcop/?rev=6330&view=rev Author: owes Date: 2012-02-12 15:31:43 +0000 (Sun, 12 Feb 2012) Log Message: ----------- Fix root-path static DHCP option. Add router and DNS server static DHCP options.
Modified Paths: -------------- ipcop/trunk/html/cgi-bin/dhcp.cgi ipcop/trunk/updates/2.0.3/ROOTFILES.i486-2.0.3 Modified: ipcop/trunk/html/cgi-bin/dhcp.cgi =================================================================== --- ipcop/trunk/html/cgi-bin/dhcp.cgi 2012-02-10 13:10:22 UTC (rev 6329) +++ ipcop/trunk/html/cgi-bin/dhcp.cgi 2012-02-12 15:31:43 UTC (rev 6330) @@ -13,10 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with IPCop; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with IPCop. If not, see <http://www.gnu.org/licenses/>. # -# (c) 2001-2011 The IPCop Team +# (c) 2001-2012 The IPCop Team # # Over the years many people have changed and contributed to this file. # Check CVS and SVN for specifics. @@ -100,6 +99,8 @@ $dhcpsettings{'FIXED_NEXTADDR'} = ''; $dhcpsettings{'FIXED_FILENAME'} = ''; $dhcpsettings{'FIXED_ROOTPATH'} = ''; +$dhcpsettings{'FIXED_ROUTER'} = ''; +$dhcpsettings{'FIXED_DNS'} = ''; $dhcpsettings{'KEY_FIXED'} = ''; $dhcpsettings{'ADD_FROM_LIST'} = ''; @@ -329,6 +330,8 @@ $dhcpsettings{'FIXED_NEXTADDR'} = $fixedleases[$key_fixed]{'NEXTADDR'}; $dhcpsettings{'FIXED_FILENAME'} = $fixedleases[$key_fixed]{'FILENAME'}; $dhcpsettings{'FIXED_ROOTPATH'} = $fixedleases[$key_fixed]{'ROOTPATH'}; + $dhcpsettings{'FIXED_ROUTER'} = $fixedleases[$key_fixed]{'ROUTER'}; + $dhcpsettings{'FIXED_DNS'} = $fixedleases[$key_fixed]{'DNS'}; } if ($dhcpsettings{'ACTION'} eq $Lang::tr{'remove'} . '_fixed') { @@ -405,6 +408,19 @@ } } + if ($dhcpsettings{'FIXED_ROUTER'}) { + if (!&General::validip($dhcpsettings{'FIXED_ROUTER'})) { + $errormessage = $Lang::tr{'invalid fixed ip address'} . " <b>router</b>"; + goto ERROR_SAVE_FIXED; + } + } + if ($dhcpsettings{'FIXED_DNS'}) { + if (!&General::validip($dhcpsettings{'FIXED_DNS'})) { + $errormessage = $Lang::tr{'invalid fixed ip address'} . " <b>DNS server</b>"; + goto ERROR_SAVE_FIXED; + } + } + if ($dhcpsettings{'FIXED_NEXTADDR'}) { if (!&General::validip($dhcpsettings{'FIXED_NEXTADDR'})) { $errormessage = $Lang::tr{'invalid fixed ip address'} . " <b>next-server</b>"; @@ -469,6 +485,8 @@ $fixedleases[$key_fixed]{'NEXTADDR'} = $dhcpsettings{'FIXED_NEXTADDR'}; $fixedleases[$key_fixed]{'FILENAME'} = $dhcpsettings{'FIXED_FILENAME'}; $fixedleases[$key_fixed]{'ROOTPATH'} = $dhcpsettings{'FIXED_ROOTPATH'}; + $fixedleases[$key_fixed]{'ROUTER'} = $dhcpsettings{'FIXED_ROUTER'}; + $fixedleases[$key_fixed]{'DNS'} = $dhcpsettings{'FIXED_DNS'}; $dhcpsettings{'KEY_FIXED'} = ''; # forget we were editing something &writefixedleases(1); @@ -654,6 +672,11 @@ <td class='base'>$Lang::tr{'hostname'} $Lang::tr{'or'} FQDN: <img src='/blob.gif' alt='*' /></td> <td colspan='3'><input type='text' name='FIXED_HOSTNAME' value='$dhcpsettings{'FIXED_HOSTNAME'}' size='40' /></td> </tr><tr> + <td class='base'>$Lang::tr{'router ip'}: <img src='/blob.gif' alt='*' /></td> + <td><input type='text' name='FIXED_ROUTER' value='$dhcpsettings{'FIXED_ROUTER'}' size='18' /></td> + <td class='base'>$Lang::tr{'dns server'}: <img src='/blob.gif' alt='*' /></td> + <td><input type='text' name='FIXED_DNS' value='$dhcpsettings{'FIXED_DNS'}' size='18' /></td> +</tr><tr> <td width='25%' class='base'>$Lang::tr{'remark'}: <img src='/blob.gif' alt='*' /></td> <td colspan='3'><input type='text' name='FIXED_REMARK' value='$dhcpsettings{'FIXED_REMARK'}' size='40' /></td> </tr><tr> @@ -1001,10 +1024,12 @@ $tmp[5] = '' unless defined $tmp[5]; $tmp[6] = '' unless defined $tmp[6]; $tmp[7] = '' unless defined $tmp[7]; + $tmp[8] = '' unless defined $tmp[8]; + $tmp[9] = '' unless defined $tmp[9]; push @fixedleases, { MAC => $tmp[0], IP => $tmp[1], ENABLED => $tmp[2], NEXTADDR => $tmp[3], FILENAME => $tmp[4], ROOTPATH => $tmp[5], - REMARK => $tmp[6], HOSTNAME => $tmp[7] }; + REMARK => $tmp[6], HOSTNAME => $tmp[7], ROUTER => $tmp[8], DNS => $tmp[9] }; } } @@ -1019,7 +1044,8 @@ print FILE "$fixedleases[$id]{'MAC'},$fixedleases[$id]{'IP'},"; print FILE "$fixedleases[$id]{'ENABLED'},$fixedleases[$id]{'NEXTADDR'},"; print FILE "$fixedleases[$id]{'FILENAME'},$fixedleases[$id]{'ROOTPATH'},"; - print FILE "$fixedleases[$id]{'REMARK'},$fixedleases[$id]{'HOSTNAME'}\n"; + print FILE "$fixedleases[$id]{'REMARK'},$fixedleases[$id]{'HOSTNAME'},"; + print FILE "$fixedleases[$id]{'ROUTER'},$fixedleases[$id]{'DNS'}\n"; } close FILE; @@ -1061,7 +1087,9 @@ } print FILEOPTS "net:STATIC_$id,option:bootfile-name,$fixedleases[$id]{'FILENAME'}\n" if ($fixedleases[$id]{'FILENAME'} ne ''); print FILEOPTS "net:STATIC_$id,option:server-ip-address,$fixedleases[$id]{'NEXTADDR'}\n" if ($fixedleases[$id]{'NEXTADDR'} ne ''); - print FILEOPTS "net:STATIC_$id,option:root-path:$fixedleases[$id]{'ROOTPATH'}\n" if ($fixedleases[$id]{'ROOTPATH'} ne ''); + print FILEOPTS "net:STATIC_$id,option:root-path,$fixedleases[$id]{'ROOTPATH'}\n" if ($fixedleases[$id]{'ROOTPATH'} ne ''); + print FILEOPTS "net:STATIC_$id,option:router,$fixedleases[$id]{'ROUTER'}\n" if ($fixedleases[$id]{'ROUTER'} ne ''); + print FILEOPTS "net:STATIC_$id,option:dns-server,$fixedleases[$id]{'DNS'}\n" if ($fixedleases[$id]{'DNS'} ne ''); } } close FILEHOSTS; Modified: ipcop/trunk/updates/2.0.3/ROOTFILES.i486-2.0.3 =================================================================== --- ipcop/trunk/updates/2.0.3/ROOTFILES.i486-2.0.3 2012-02-10 13:10:22 UTC (rev 6329) +++ ipcop/trunk/updates/2.0.3/ROOTFILES.i486-2.0.3 2012-02-12 15:31:43 UTC (rev 6330) @@ -4,6 +4,7 @@ /etc/rc.d/rc.fritzdsl /etc/rc.d/rc.red /etc/rc.d/rc.updatered +/home/httpd/cgi-bin/dhcp.cgi /home/httpd/cgi-bin/fwrules.cgi /home/httpd/cgi-bin/logsystem.cgi /home/httpd/cgi-bin/logurlfilter.cgi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Ipcop-svn mailing list Ipcop-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipcop-svn