/usr/share/zentyal/stubs/dns/db.mas is in zentyal-dns 2.3.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | <%doc>
Stub template file to dump the configuration file for a domain zone
Parameters:
domain - hash containing the following information:
name - String the domain's name
ipaddr - String the domain's ip address
hosts - Array ref containing hash refs with the following elements:
ip - String the IP address for that host
name - String the host's name
aliases - Array ref containing hash refs with the following elements:
name - String the alias' name
mailExchangers - Array ref containing hash refs with the following elements:
hostName - String the host's name which is a mail exchanger
preference - Int the preference number for that MX record
nameServers - Array ref containing the name servers for this domain
txt - Array ref containing hash refs with the following
elements:
hostName - String the host's name which the TXT record belongs
to. It could be the zone
txt_dat - String the arbitrary data
srv - Array ref containing hash refs with the following
elements:
service_name - String the service's name
protocol - String the protocol
priority - Int the priority
weight - Int the weight
target_port - Int the target port
target_host - Int the target host name
nameserverHostname - String the name used as name server
</%doc>
<%args>
%domain
$nameserverHostname
</%args>
<%init>
my @time = localtime();
my $date = sprintf("%04d%02d%02d%02d",$time[5]+1900,$time[4]+1,$time[3],$time[2]);
my @hosts = @{$domain{'hosts'}};
my $firstNS = scalar(@{$domain{'nameServers'}}) == 0 ? $nameserverHostname : $domain{'nameServers'}->[0] ;
unless ($firstNS =~ /\.$/ ) {
$firstNS = $firstNS . '.' . $domain{'name'} . '.';
}
</%init>
$TTL 3D
@ IN SOA <% $firstNS %> hostmaster (
<% $date %> ;serial number
8H ;refresh
2H ;retry
4W ;expiration
1D ) ;
;
% if($domain{'ipaddr'}) {
@ A <% $domain{'ipaddr'} %>
% }
% if ( @{$domain{'nameServers'}} == 0 ) {
@ NS <% $firstNS %> ;nameserver
;
<% $firstNS %> A 127.0.0.1
% } else {
% foreach my $ns (@{$domain{'nameServers'}}) {
@ NS <% $ns %>
% }
% }
<%perl>
if (@hosts != 0) {
foreach my $host (@hosts) {
</%perl>
<% $host->{'name'} %> A <% $host->{'ip'} %>
<%perl>
my @aliases = @{$host->{'aliases'}};
if (@aliases != 0) {
foreach my $alias (@aliases) {
</%perl>
<% $alias->{'name'} %> CNAME <% $host->{'name'} %>
<%perl>
}
}
}
}
my @mxRRs = @{$domain{'mailExchangers'}};
if (@mxRRs > 0 ) {
foreach my $mxRR (@mxRRs) {
</%perl>
@ MX <% $mxRR->{'preference'} %> <% $mxRR->{'hostName'} %>
<%perl>
}
}
my @txtRRs = @{$domain{'txt'}};
if (@txtRRs > 0 ) {
foreach my $txtRR (@txtRRs) {
</%perl>
<% $txtRR->{'hostName'} %> TXT <% $txtRR->{'txt_data'} %>
<%perl>
}
}
my @srvRRs = @{$domain{'srv'}};
if (@srvRRs > 0 ) {
foreach my $srvRR (@srvRRs) {
</%perl>
_<% $srvRR->{'service_name'} %>._<% $srvRR->{protocol} %>.<% $domain{'name'} %>. SRV <% $srvRR->{'priority'} %> <% $srvRR->{'weight'} %> <% $srvRR->{'target_port'} %> <% $srvRR->{target_host} %>
<%perl>
}
}
</%perl>
|