convert_zone.cgi

来自「BIND 9 dynamic DNS webmin module. This m」· CGI 代码 · 共 115 行

CGI
115
字号
#! /usr/bin/perl##    B9DDNS - BIND 9 dynamic DNS webmin module.#    Copyright (C) 2003 John Horne. <john.horne@plymouth.ac.uk>#    Copyright (C) 2004 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.### Convert a zone from master/slave to slave/master.#use strict;no strict 'vars';require './b9ddns-lib.pl';my $to_slave = 0;my $conf = my $zconf = my $file = '';my @mdirs = ();&ReadParse();%access = &get_module_acl();$conf = &get_config();$conf = $conf->[$in{'view'}]->{'members'} if ($in{'view'});$zconf = $conf->[$in{'index'}];&error_setup($text{'convert_err'});$to_slave = $in{'master'};if ($to_slave) {	unless ($access{'slave'}) {		&terror('screate_ecannot1');	}}else {	unless ($access{'master'}) {		&terror('mcreate_ecannot');	}	unless ($in{'file'}) {		&terror('convert_efile');	}}$file = $config{'chroot'} . $zconf->{'file'};&lock_file($file);if ($to_slave) {	&save_directive($zconf, 'type',			[ { 'name' => 'type',			    'values' => [ 'slave' ] } ], 1);	if ($config{'default_master'}) {		@mdirs = map { { 'name' => $_ } } split(/\s+/, $config{'default_master'});		&save_directive($zconf, 'masters',				[ { 'name' => 'masters',				    'type' => 1,				    'members' => \@mdirs } ], 1);	}	&save_directive($zconf, 'allow-update', [ ], 1);	&save_directive($zconf, 'update-policy', [ ], 1);}else {	&save_directive($zconf, 'type',			[ { 'name' => 'type',			    'values' => [ 'master' ] } ], 1);	&save_directive($zconf, 'masters', [ ], 1);	&save_directive($zconf, 'max-transfer-time-in', [ ], 1);	&save_directive($zconf, 'allow-update-forwarding', [ ], 1);}&flush_file_lines();&unlock_file($file);$to_slave = ($to_slave) ? 'slave' : 'master';&redirect("edit_zone.cgi?index=$in{'index'}&view=$in{'view'}&type=${to_slave}&cmd=conf_load");exit;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?