⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 save_slave.cgi

📁 BIND 9 dynamic DNS webmin module. This module supports both static and dynamic zones, and IPv4 and I
💻 CGI
字号:
#! /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.### Save changes to slave zone options.#use strict;no strict 'vars';require './b9ddns-lib.pl';my $indent = 0;my $conf = my $zone_conf = my $view = my $base = '';my $fn1 = my $fn2 = '';&ReadParse();$conf = &get_config();$indent = 1;if ($in{'view'}) {	$indent++;	$view = $conf->[$in{'view'}];	$conf = $view->{'members'};}$zone_conf = $conf->[$in{'index'}];&error_setup($text{'slave_err'});%access = &get_module_acl();unless (&can_edit_zone(\%access, $zone_conf, $view)) {	&terror('slave_ecannot');}if ($access{'ro'}) {	&terror('master_ero');}unless ($access{'opts'}) {	&terror('master_eoptscannot');}## If 'automatic' has been selected, then get the file name and just treat# it as if the user had manually entered it in.#$base = &zone_dir(0, \%access);if ($in{'file_def'} == 2) {	$in{'file_def'} = 0;	$in{'file'} = &create_zone_fn($conf, $zone_conf->{'value'}, $in{'rev'}, \%access, $base);}unless ($in{'file'} =~ /^\//o) {	$in{'file'} = $base . '/' . $in{'file'};}$fn1 = $in{'file'};$fn2 = &absolute_path($in{'oldfile'});$base = &base_directory();$in{'file'} =~ s/^$base\/// if ($base);	# Only need to save the shortened name.&lock_file($config{'chroot'} . $zone_conf->{'file'});&save_addr_match('masters', $zone_conf, $indent, 1, 1);&save_opt('file', \&file_check, $zone_conf, $indent);&save_addr_match('allow-query', $zone_conf, $indent);if ($in{'type'} eq 'slave') {		# It's a slave zone - not a stub.	&save_opt('max-transfer-time-in', \&mtti_check, $zone_conf, $indent);	&save_addr_match('allow-transfer', $zone_conf, $indent, 0, 0);	&save_addr_match('allow-update-forwarding', $zone_conf, $indent, 0, 0);}&flush_file_lines();&unlock_file($config{'chroot'} . $zone_conf->{'file'});&webmin_log('opts', undef, $zone_conf->{'value'}, \%in);&redirect("edit_zone.cgi?index=$in{'index'}&view=$in{'view'}&type=$in{'type'}&cmd=reconfig");exit;sub mtti_check {	if ($in{'max_transfer_time_in_def'} == 0) {		if (! $_[0]) {			return &text('slave_emax_none');		}		elsif ($_[0] =~ /\D/o) {			return &text('slave_emax', $_[0]);		}	}	return undef;}sub file_check {	return &zone_file_check($conf, $_[0], \%access, ($fn1 ne $fn2));}

⌨️ 快捷键说明

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