HEX
Server: Apache/2.4.29 (Ubuntu)
System: Linux bareserver 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: root (0)
PHP: 7.2.24-0ubuntu0.18.04.17
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //usr/share/webmin/bind8/save_text.cgi
#!/usr/bin/perl
# save_text.cgi
# Save a manually edit zone file
use strict;
use warnings;
our (%access, %text, %in);

require './bind8-lib.pl';
&ReadParseMime();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
my $file = &absolute_path($zone->{'file'});
my $tv = $zone->{'type'};
&can_edit_zone($zone) ||
	&error($text{'master_ecannot'});
$access{'file'} || &error($text{'text_ecannot'});
$access{'ro'} && &error($text{'master_ero'});

# Write out the file
&lock_file(&make_chroot($file));
&before_editing($zone);
$in{'text'} =~ s/\r//g;
$in{'text'} .= "\n" if ($in{'text'} !~ /\n$/);
my $FILE;
&open_tempfile($FILE, ">".&make_chroot($file));
&print_tempfile($FILE, $in{'text'});
&close_tempfile($FILE);

# BUMP soa too
my @recs = &read_zone_file($file, $zone->{'name'});
if ($in{'soa'}) {
	&bump_soa_record($file, \@recs);
	}

# Sign too
&sign_dnssec_zone_if_key($zone, \@recs);

&after_editing($zone);
&unlock_file(&make_chroot($file));
&webmin_log("text", undef, $zone->{'name'},
	    { 'file' => $file });
&redirect("edit_master.cgi?zone=$in{'zone'}&view=$in{'view'}");