From e0639d80f6a55c06db8fc73b08ed1edee8a7b5a3 Mon Sep 17 00:00:00 2001 From: Jan Paul Tuecking Date: Fri, 17 Jul 2009 05:30:59 +0200 Subject: [PATCH] Added dns.cgi page to change DNS server adresses on red0 with DHCP. Added icon for that page. --- html/cgi-bin/dns.cgi | 123 ++++++++++++++++++++++++++++++++++ html/html/images/dns_link.png | Bin 0 -> 1176 bytes 2 files changed, 123 insertions(+) create mode 100755 html/cgi-bin/dns.cgi create mode 100644 html/html/images/dns_link.png diff --git a/html/cgi-bin/dns.cgi b/html/cgi-bin/dns.cgi new file mode 100755 index 000000000..08baf1eb6 --- /dev/null +++ b/html/cgi-bin/dns.cgi @@ -0,0 +1,123 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# 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 # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +use strict; + +# enable only the following on debugging purpose +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; + +my %dnssettings=(); +my $errormessage = ''; + +&Header::showhttpheaders(); + +&General::readhash("${General::swroot}/dns/settings", \%dnssettings); + +&Header::getcgihash(\%dnssettings); + +&Header::openpage($Lang::tr{'dns title'}, 1, ); + +&Header::openbigbox('100%', 'left', '', $errormessage); + +if ($dnssettings{'ACTION'} eq $Lang::tr{'save'}) { + if ((&General::validip($dnssettings{"DNS0"}) == 1)&&(&General::validip($dnssettings{"DNS1"}) == 1)) { + if ($errormessage eq "") { + &General::writehash("${General::swroot}/dns/settings", \%dnssettings); + &Header::openbox('100%', 'left', $Lang::tr{'dns saved'}); + print "$Lang::tr{'dns saved txt'}\n"; + &Header::closebox(); + } + } else { + if ((&General::validip($dnssettings{"DNS0"}) == 0)&&(&General::validip($dnssettings{"DNS1"}) == 1)){ + $errormessage = $Lang::tr{'dns error 0'}; + } + if ((&General::validip($dnssettings{"DNS1"}) == 0)&&(&General::validip($dnssettings{"DNS0"}) == 1)){ + $errormessage = $Lang::tr{'dns error 1'}; + } + if ((&General::validip($dnssettings{"DNS1"}) == 0)&&(&General::validip($dnssettings{"DNS0"}) == 0)){ + $errormessage = $Lang::tr{'dns error 01'}; + } + } +} + +if ($dnssettings{'RECONNECT'} eq $Lang::tr{'dns reconnection'}) { + system("/usr/local/bin/redctrl restart >/dev/null 2>&1 &"); + &Header::openbox('100%', 'left', $Lang::tr{'dns address recon'} ); + print "$Lang::tr{'dns address done'}\n"; + &Header::closebox(); +} + +# DPC move error message to top so it is seen! +if ($errormessage) { + &Header::openbox('100%', 'left', $Lang::tr{'error messages'}); + print "$errormessage \n"; + &Header::closebox(); +} + +print "
\n"; + +&Header::openbox('100%', 'left', $Lang::tr{'dns header'}); +print < + + $Lang::tr{'dns desc'}
$Lang::tr{'dns list'}
+ + +   + + + $Lang::tr{'dns new 0'} + + + + $Lang::tr{'dns new 1'} + + + +
+ + +
+ +      + +
+ + + + +END +; + +&Header::closebox(); + +print "\n"; + +&Header::closebigbox(); + +&Header::closepage(); + diff --git a/html/html/images/dns_link.png b/html/html/images/dns_link.png new file mode 100644 index 0000000000000000000000000000000000000000..9bdd1607a63475918d8c40ff0e088c263ffb4b36 GIT binary patch literal 1176 zcmdr~`Crm^9R8>sW?t>CUG2WNcGk9b*mPxU&eUzSc4QOV)m+Uj+tymnEHpt;5kWjS z1%WRJf^x_q*H?t_K+OXtrjVk^RBmPb9eclC@8@~FU$5tv=Xu`9%#8gBaXaDw014>_ zQnMnQ7}@05m8El}BC-&cC50s**^+d91a1zr14UPVTs)xjK0}99K(V2OI zu3pm!8qaNM?NVvY;c&R34q96edwqTaS)hT9&N){}IRQ@=ta^Pao!M@;U#(?U;TW@y zc`ZCRj5{2pW`*j8jvbt?{t7TCkmDlU@czv+x z`mAFv5L~0MWHd-|sgkPe8?GVpYMc0YipXYn(78$qOCpje^?jD&3M#gVN9U7~2R{)Uj9{`VOgHAT>79yMz)gldr#m zVF+ctxMrR}tm*E#=60{lyOzqT+tjcHPZn0;p*A)o*9_oV1h%16pjj2$K(ryGNq|Qtg%ixNi@#b zE6K_XpV zL*P_knMe#>+c&nb=q9lg+)h|5?<3Mgp|$Y(`npPcjmPhZ^efr5doA*daA8(PcI5nD z3`jNGh!Iok>8U9>MPpzIB!z(<6y#Db{c!BB=1;$h(Sy4Vq0;Z$y!rNx8=K1hZUn!7 z{nJN`r)+C92kdwqaT>dSL){ii)Yi{P;QqHI+n*OT z?7gxr<*}A$0q^JP(mNQNzI#CRBUAV|C@L;#i;sDRAGXJ9yyMZ6#7(qQZ+-K<5)HUd zVYKYzh&VCo!F{iSU&VyG_gsE4|Fv_tU+#PX+=Kt4s#g8<2k&%WRJ^AH`j;!-d<6RT hxlic#l27QP