📄 conf_servers.cgi
字号:
#! /usr/bin/perl## B9DDNS - BIND 9 dynamic DNS webmin module.# Copyright (C) 2003 John Horne. <john.horne@plymouth.ac.uk>## 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 2 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, write to the Free Software# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.### Display options for other DNS servers.#use strict;no strict 'vars';require './b9ddns-lib.pl';my $i = 0;my $conf = my $server = my $key = my $ky = my $check = my $option = '';my @servers = my @keys = ();my %haskey = ();%access = &get_module_acl();unless ($access{'defaults'}) { &terror('servers_ecannot');}$conf = &get_config();@servers = ( &find('server', $conf), { } );@keys = &find('key', $conf);@keys = sort(map { $_->{'value'} } @keys) if (@keys);&header($text{'servers_title'}, '');print '<hr>';print '<form action=save_servers.cgi>';print '<table border width=100%>';print "<tr $tb><td><b>", $text{'servers_header'}, '</b></td></tr>';for ($i = 0; $i < @servers; $i++) { $server = $servers[$i]; print "<tr $cb><td><table width=100%>"; print '<tr><td><b>', $text{'servers_ip'}, '</b></td>'; printf '<td nowrap colspan=4><input name=ip_%d size=40 value="%s"></td></tr>', $i, $server->{'value'}; $option = &find_value('bogus', $server->{'members'}); print "<tr><td width=20%><b>", $text{'servers_bogus'}, '</b></td>'; printf '<td><input type=radio name=bogus_%d value=-1 %s> %s ', $i, &checked(! defined($option)), $text{'default'}; printf '<input type=radio name=bogus_%d value=1 %s> %s ', $i, &checked($option eq 'yes'), $text{'yes'}; printf '<input type=radio name=bogus_%d value=0 %s> %s</td>', $i, &checked($option eq 'no'), $text{'no'}; $option = &find_value('edns', $server->{'members'}); print "<td><b>", $text{'servers_edns'}, '</b></td>'; printf '<td><input type=radio name=edns_%d value=-1 %s> %s ', $i, &checked(! defined($option)), $text{'default'}; printf '<input type=radio name=edns_%d value=1 %s> %s ', $i, &checked($option eq 'yes'), $text{'yes'}; printf '<input type=radio name=edns_%d value=0 %s> %s</td></tr>', $i, &checked($option eq 'no'), $text{'no'}; $option = &find_value('transfer-format', $server->{'members'}); print "<tr><td><b>", $text{'servers_format'}, '</b></td>'; printf '<td><input type=radio name=format_%d value=-1 %s> %s ', $i, &checked(! defined($option)), $text{'default'}; printf '<input type=radio name=format_%d value=1 %s> %s ', $i, &checked($option eq 'one-answer'), $text{'servers_one'}; printf '<input type=radio name=format_%d value=0 %s> %s</td>', $i, &checked($option eq 'many-answers'), $text{'servers_many'}; $option = &find_value('transfers', $server->{'members'}); print "<td><b>", $text{'servers_trans'}, '</b></td>'; printf '<td><input type=radio name=trans_%d value=0 %s> %s ', $i, &checked(! defined($option)), $text{'default'}; printf '<input type=radio name=trans_%d value=1 %s> ', $i, &checked(defined($option)); printf '<input name=transfers_%d size=12 value="%s"></td></tr>', $i, $option; $option = &find_value('provide-ixfr', $server->{'members'}); print "<tr><td><b>", $text{'xfr_provide2'}, '</b></td>'; printf '<td><input type=radio name=provide_ixfr_%d value=-1 %s> %s ', $i, &checked(! defined($option)), $text{'default'}; printf '<input type=radio name=provide_ixfr_%d value=1 %s> %s ', $i, &checked($option eq 'yes'), $text{'yes'}; printf '<input type=radio name=provide_ixfr_%d value=0 %s> %s</td>', $i, &checked($option eq 'no'), $text{'no'}; $option = &find_value('request-ixfr', $server->{'members'}); print "<td><b>", $text{'xfr_request2'}, '</b></td>'; printf '<td><input type=radio name=request_ixfr_%d value=-1 %s> %s ', $i, &checked(! defined($option)), $text{'default'}; printf '<input type=radio name=request_ixfr_%d value=1 %s> %s ', $i, &checked($option eq 'yes'), $text{'yes'}; printf '<input type=radio name=request_ixfr_%d value=0 %s> %s</td></tr>', $i, &checked($option eq 'no'), $text{'no'}; %haskey = (); print "<tr><td><b>", $text{'servers_keys'}, '</b></td>'; $ky = &find('keys', $server->{'members'}); if (defined($ky)) { foreach $key (@{ $ky->{'members'} }) { $haskey{$key->{'name'}}++; } } print '<td>'; foreach $key (@keys) { $check = ''; if ($haskey{$key}) { $check = 'checked'; delete $haskey{$key}; } printf "<input type=checkbox name=keys_%d value='%s' %s> %s \n", $i, $key, $check, $key; } foreach $key (sort(keys(%haskey))) { printf "<input type=checkbox name=keys_%d value='%s' checked> %s \n", $i, $key, $key; } print "</td></tr></table></td></tr>\n"; print "<tr $tb><td height=8></td></tr>\n" unless ($i == $#servers);}print '</table>';print '<input type=submit value="', $text{'save'}, '"></form>';print '<hr>';&footer('', $text{'index_return'});exit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -