mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 13:38:26 +00:00
[master] change "fast" to "map"
3475. [cleanup] Changed name of 'map' zone file format (previously 'fast'). [RT #32458]
This commit is contained in:
parent
dd59fe01c9
commit
c9611b4573
7
CHANGES
7
CHANGES
@ -1,3 +1,6 @@
|
||||
3475. [cleanup] Changed name of 'map' zone file format (previously
|
||||
'fast'). [RT #32458]
|
||||
|
||||
3474. [bug] nsupdate could assert when the local and remote
|
||||
address families didn't match. [RT #22897]
|
||||
|
||||
@ -416,12 +419,12 @@
|
||||
to ensure correctness of signatures and of NSEC/NSEC3
|
||||
chains. [RT #23673]
|
||||
|
||||
3340. [func] Added new 'fast' zone file format, which is an image
|
||||
3340. [func] Added new 'map' zone file format, which is an image
|
||||
of a zone database that can be loaded directly into
|
||||
memory via mmap(), allowing much faster zone loading.
|
||||
(Note: Because of pointer sizes and other
|
||||
considerations, this file format is platform-dependent;
|
||||
'fast' zone files cannot always be transferred from one
|
||||
'map' zone files cannot always be transferred from one
|
||||
server to another.) [RT #25419]
|
||||
|
||||
3339. [func] Allow the maximum supported rsa exponent size to be
|
||||
|
@ -429,8 +429,8 @@ main(int argc, char **argv) {
|
||||
inputformat = dns_masterformat_raw;
|
||||
fprintf(stderr,
|
||||
"WARNING: input format raw, version ignored\n");
|
||||
} else if (strcasecmp(inputformatstr, "fast") == 0) {
|
||||
inputformat = dns_masterformat_fast;
|
||||
} else if (strcasecmp(inputformatstr, "map") == 0) {
|
||||
inputformat = dns_masterformat_map;
|
||||
} else {
|
||||
fprintf(stderr, "unknown file format: %s\n",
|
||||
inputformatstr);
|
||||
@ -454,8 +454,8 @@ main(int argc, char **argv) {
|
||||
"unknown raw format version\n");
|
||||
exit(1);
|
||||
}
|
||||
} else if (strcasecmp(outputformatstr, "fast") == 0) {
|
||||
outputformat = dns_masterformat_fast;
|
||||
} else if (strcasecmp(outputformatstr, "map") == 0) {
|
||||
outputformat = dns_masterformat_map;
|
||||
} else {
|
||||
fprintf(stderr, "unknown file format: %s\n",
|
||||
outputformatstr);
|
||||
|
@ -256,7 +256,7 @@
|
||||
<para>
|
||||
Specify the format of the zone file.
|
||||
Possible formats are <command>"text"</command> (default),
|
||||
<command>"raw"</command>, and <command>"fast"</command>.
|
||||
<command>"raw"</command>, and <command>"map"</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -273,7 +273,7 @@
|
||||
<para>
|
||||
Possible formats are <command>"text"</command> (default),
|
||||
which is the standard textual representation of the zone,
|
||||
and <command>"fast"</command>, <command>"raw"</command>,
|
||||
and <command>"map"</command>, <command>"raw"</command>,
|
||||
and <command>"raw=N"</command>, which store the zone in a
|
||||
binary format for rapid loading by <command>named</command>.
|
||||
<command>"raw=N"</command> specifies the format version of
|
||||
@ -303,7 +303,7 @@
|
||||
<term>-L <replaceable class="parameter">serial</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
When compiling a zone to "raw" or "fast" format, set the
|
||||
When compiling a zone to "raw" or "map" format, set the
|
||||
"source serial" value in the header to the specified serial
|
||||
number. (This is expected to be used primarily for testing
|
||||
purposes.)
|
||||
|
@ -3404,8 +3404,8 @@ main(int argc, char *argv[]) {
|
||||
if (inputformatstr != NULL) {
|
||||
if (strcasecmp(inputformatstr, "text") == 0)
|
||||
inputformat = dns_masterformat_text;
|
||||
else if (strcasecmp(inputformatstr, "fast") == 0)
|
||||
inputformat = dns_masterformat_fast;
|
||||
else if (strcasecmp(inputformatstr, "map") == 0)
|
||||
inputformat = dns_masterformat_map;
|
||||
else if (strcasecmp(inputformatstr, "raw") == 0)
|
||||
inputformat = dns_masterformat_raw;
|
||||
else if (strncasecmp(inputformatstr, "raw=", 4) == 0) {
|
||||
@ -3423,8 +3423,8 @@ main(int argc, char *argv[]) {
|
||||
} else if (strcasecmp(outputformatstr, "full") == 0) {
|
||||
outputformat = dns_masterformat_text;
|
||||
masterstyle = &dns_master_style_full;
|
||||
} else if (strcasecmp(outputformatstr, "fast") == 0) {
|
||||
outputformat = dns_masterformat_fast;
|
||||
} else if (strcasecmp(outputformatstr, "map") == 0) {
|
||||
outputformat = dns_masterformat_map;
|
||||
} else if (strcasecmp(outputformatstr, "raw") == 0) {
|
||||
outputformat = dns_masterformat_raw;
|
||||
} else if (strncasecmp(outputformatstr, "raw=", 4) == 0) {
|
||||
|
@ -168,7 +168,7 @@
|
||||
included. The resulting file can be included in the original
|
||||
zone file with <command>$INCLUDE</command>. This option
|
||||
cannot be combined with <option>-O raw</option>,
|
||||
<option>-O fast</option>, or serial number updating.
|
||||
<option>-O map</option>, or serial number updating.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -339,7 +339,7 @@
|
||||
<para>
|
||||
The format of the input zone file.
|
||||
Possible formats are <command>"text"</command> (default),
|
||||
<command>"raw"</command>, and <command>"fast"</command>.
|
||||
<command>"raw"</command>, and <command>"map"</command>.
|
||||
This option is primarily intended to be used for dynamic
|
||||
signed zones so that the dumped zone file in a non-text
|
||||
format containing updates can be signed directly.
|
||||
@ -377,7 +377,7 @@
|
||||
<term>-L <replaceable class="parameter">serial</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
When writing a signed zone to "raw" or "fast" format, set the
|
||||
When writing a signed zone to "raw" or "map" format, set the
|
||||
"source serial" value in the header to the specified serial
|
||||
number. (This is expected to be used primarily for testing
|
||||
purposes.)
|
||||
@ -452,7 +452,7 @@
|
||||
which is the standard textual representation of the zone;
|
||||
<command>"full"</command>, which is text output in a
|
||||
format suitable for processing by external scripts;
|
||||
and <command>"fast"</command>, <command>"raw"</command>,
|
||||
and <command>"map"</command>, <command>"raw"</command>,
|
||||
and <command>"raw=N"</command>, which store the zone in
|
||||
binary formats for rapid loading by <command>named</command>.
|
||||
<command>"raw=N"</command> specifies the format version of
|
||||
|
@ -320,7 +320,7 @@ options {
|
||||
update-check-ksk <replaceable>boolean</replaceable>;
|
||||
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
||||
|
||||
masterfile-format ( text | raw | fast );
|
||||
masterfile-format ( text | raw | map );
|
||||
notify <replaceable>notifytype</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
|
||||
@ -509,7 +509,7 @@ view <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
|
||||
update-check-ksk <replaceable>boolean</replaceable>;
|
||||
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
||||
|
||||
masterfile-format ( text | raw | fast );
|
||||
masterfile-format ( text | raw | map );
|
||||
notify <replaceable>notifytype</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
|
||||
@ -606,7 +606,7 @@ zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
|
||||
update-check-ksk <replaceable>boolean</replaceable>;
|
||||
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
||||
|
||||
masterfile-format ( text | raw | fast );
|
||||
masterfile-format ( text | raw | map );
|
||||
notify <replaceable>notifytype</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
|
||||
|
@ -954,8 +954,8 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
masterformat = dns_masterformat_text;
|
||||
else if (strcasecmp(masterformatstr, "raw") == 0)
|
||||
masterformat = dns_masterformat_raw;
|
||||
else if (strcasecmp(masterformatstr, "fast") == 0)
|
||||
masterformat = dns_masterformat_fast;
|
||||
else if (strcasecmp(masterformatstr, "map") == 0)
|
||||
masterformat = dns_masterformat_map;
|
||||
else
|
||||
INSIST(0);
|
||||
}
|
||||
@ -1395,12 +1395,12 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
dns_zone_setoption(mayberaw, DNS_ZONEOPT_CHECKWILDCARD, check);
|
||||
|
||||
/*
|
||||
* With fast files, the default is ignore duplicate
|
||||
* With map files, the default is ignore duplicate
|
||||
* records. With other master formats, the default is
|
||||
* taken from the global configuration.
|
||||
*/
|
||||
obj = NULL;
|
||||
if (masterformat != dns_masterformat_fast) {
|
||||
if (masterformat != dns_masterformat_map) {
|
||||
result = ns_config_get(maps, "check-dup-records", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dupcheck = cfg_obj_asstring(obj);
|
||||
@ -1441,12 +1441,12 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
dns_zone_setoption(mayberaw, DNS_ZONEOPT_CHECKMXFAIL, fail);
|
||||
|
||||
/*
|
||||
* With fast files, the default is *not* to check
|
||||
* With map files, the default is *not* to check
|
||||
* integrity. With other master formats, the default is
|
||||
* taken from the global configuration.
|
||||
*/
|
||||
obj = NULL;
|
||||
if (masterformat != dns_masterformat_fast) {
|
||||
if (masterformat != dns_masterformat_map) {
|
||||
result = ns_config_get(maps, "check-integrity", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
dns_zone_setoption(mayberaw, DNS_ZONEOPT_CHECKINTEGRITY,
|
||||
|
@ -21,7 +21,7 @@ rm -f ns1/example.db.raw*
|
||||
rm -f ns1/example.db.compat
|
||||
rm -f ns1/example.db.serial.raw
|
||||
rm -f ns1/large.db ns1/large.db.raw
|
||||
rm -f ns1/example.db.fast
|
||||
rm -f ns1/example.db.map
|
||||
rm -f dig.out.*
|
||||
rm -f dig.out
|
||||
rm -f */named.memstats
|
||||
@ -30,6 +30,6 @@ rm -f ns2/transfer.db.*
|
||||
rm -f ns2/formerly-text.db
|
||||
rm -f ns2/db-*
|
||||
rm -f ns2/large.bk
|
||||
rm -f ns3/example.db.fast ns3/dynamic.db.fast
|
||||
rm -f baseline.txt text.1 text.2 raw.1 raw.2 fast.1 fast.2
|
||||
rm -f ns3/example.db.map ns3/dynamic.db.map
|
||||
rm -f baseline.txt text.1 text.2 raw.1 raw.2 map.1 map.2
|
||||
|
||||
|
@ -16,9 +16,9 @@
|
||||
|
||||
../named-compilezone -D -F raw -o example.db.raw example \
|
||||
example.db > /dev/null 2>&1
|
||||
../named-compilezone -D -F fast -o ../ns3/example.db.fast example \
|
||||
../named-compilezone -D -F map -o ../ns3/example.db.map example \
|
||||
example.db > /dev/null 2>&1
|
||||
../named-compilezone -D -F fast -o ../ns3/dynamic.db.fast dynamic \
|
||||
../named-compilezone -D -F map -o ../ns3/dynamic.db.map dynamic \
|
||||
example.db > /dev/null 2>&1
|
||||
../named-compilezone -D -F raw=1 -o example.db.raw1 example-explicit \
|
||||
example.db > /dev/null 2>&1
|
||||
@ -27,6 +27,6 @@
|
||||
../named-compilezone -D -F raw -L 3333 -o example.db.serial.raw example \
|
||||
example.db > /dev/null 2>&1
|
||||
../named-compilezone -D -F raw -o large.db.raw large large.db > /dev/null 2>&1
|
||||
../named-compilezone -D -F fast -o example.db.fast example-fast \
|
||||
../named-compilezone -D -F map -o example.db.map example-map \
|
||||
example.db > /dev/null 2>&1
|
||||
|
||||
|
@ -41,14 +41,14 @@ controls {
|
||||
|
||||
zone "example" {
|
||||
type master;
|
||||
masterfile-format fast;
|
||||
file "example.db.fast";
|
||||
masterfile-format map;
|
||||
file "example.db.map";
|
||||
};
|
||||
|
||||
zone "dynamic" {
|
||||
type master;
|
||||
masterfile-format fast;
|
||||
file "dynamic.db.fast";
|
||||
masterfile-format map;
|
||||
file "dynamic.db.map";
|
||||
allow-update { any; };
|
||||
};
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
SYSTEMTESTTOP=..
|
||||
. $SYSTEMTESTTOP/conf.sh
|
||||
|
||||
isfast () {
|
||||
ismap () {
|
||||
perl -e 'binmode STDIN;
|
||||
read(STDIN, $input, 8);
|
||||
($style, $version) = unpack("NN", $input);
|
||||
@ -41,7 +41,7 @@ rawversion () {
|
||||
if (length($input) < 8) { print "not raw\n"; exit 0; };
|
||||
($style, $version) = unpack("NN", $input);
|
||||
print ($style == 2 || $style == 3 ? "$version\n" :
|
||||
"not raw or fast\n");' < $1
|
||||
"not raw or map\n");' < $1
|
||||
}
|
||||
|
||||
sourceserial () {
|
||||
@ -91,11 +91,11 @@ ret=0
|
||||
israw ns1/example.db.raw || ret=1
|
||||
israw ns1/example.db.raw1 || ret=1
|
||||
israw ns1/example.db.compat || ret=1
|
||||
isfast ns1/example.db.fast || ret=1
|
||||
ismap ns1/example.db.map || ret=1
|
||||
[ "`rawversion ns1/example.db.raw`" = 1 ] || ret=1
|
||||
[ "`rawversion ns1/example.db.raw1`" = 1 ] || ret=1
|
||||
[ "`rawversion ns1/example.db.compat`" = 0 ] || ret=1
|
||||
[ "`rawversion ns1/example.db.fast`" = 1 ] || ret=1
|
||||
[ "`rawversion ns1/example.db.map`" = 1 ] || ret=1
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
@ -150,26 +150,26 @@ done
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "I:checking format transitions: text->raw->fast->text"
|
||||
echo "I:checking format transitions: text->raw->map->text"
|
||||
ret=0
|
||||
./named-compilezone -D -f text -F text -o baseline.txt example.nil ns1/example.db > /dev/null
|
||||
./named-compilezone -D -f text -F raw -o raw.1 example.nil baseline.txt > /dev/null
|
||||
./named-compilezone -D -f raw -F fast -o fast.1 example.nil raw.1 > /dev/null
|
||||
./named-compilezone -D -f fast -F text -o text.1 example.nil fast.1 > /dev/null
|
||||
./named-compilezone -D -f raw -F map -o map.1 example.nil raw.1 > /dev/null
|
||||
./named-compilezone -D -f map -F text -o text.1 example.nil map.1 > /dev/null
|
||||
cmp -s baseline.txt text.1 || ret=0
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:checking format transitions: text->fast->raw->text"
|
||||
echo "I:checking format transitions: text->map->raw->text"
|
||||
ret=0
|
||||
./named-compilezone -D -f text -F fast -o fast.2 example.nil baseline.txt > /dev/null
|
||||
./named-compilezone -D -f fast -F raw -o raw.2 example.nil fast.2 > /dev/null
|
||||
./named-compilezone -D -f text -F map -o map.2 example.nil baseline.txt > /dev/null
|
||||
./named-compilezone -D -f map -F raw -o raw.2 example.nil map.2 > /dev/null
|
||||
./named-compilezone -D -f raw -F text -o text.2 example.nil raw.2 > /dev/null
|
||||
cmp -s baseline.txt text.2 || ret=0
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:checking fast format loading with journal file rollforward"
|
||||
echo "I:checking map format loading with journal file rollforward"
|
||||
ret=0
|
||||
$NSUPDATE <<END > /dev/null || status=1
|
||||
server 10.53.0.3 5300
|
||||
@ -197,7 +197,7 @@ grep "NXDOMAIN" dig.out.dynamic.3.4 > /dev/null 2>&1 || ret=1
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:checking fast format file dumps correctly"
|
||||
echo "I:checking map format file dumps correctly"
|
||||
ret=0
|
||||
$NSUPDATE <<END > /dev/null || status=1
|
||||
server 10.53.0.3 5300
|
||||
|
@ -3362,8 +3362,8 @@ LIBISCCFG_API=$srcdir/lib/isccfg/api
|
||||
AC_SUBST_FILE(LIBDNS_API)
|
||||
LIBDNS_API=$srcdir/lib/dns/api
|
||||
|
||||
AC_SUBST_FILE(LIBDNS_FASTAPI)
|
||||
LIBDNS_FASTAPI=$srcdir/lib/dns/fastapi
|
||||
AC_SUBST_FILE(LIBDNS_MAPAPI)
|
||||
LIBDNS_MAPAPI=$srcdir/lib/dns/mapapi
|
||||
|
||||
AC_SUBST_FILE(LIBBIND9_API)
|
||||
LIBBIND9_API=$srcdir/lib/bind9/api
|
||||
|
@ -5351,7 +5351,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
|
||||
<optional> clients-per-query <replaceable>number</replaceable> ; </optional>
|
||||
<optional> max-clients-per-query <replaceable>number</replaceable> ; </optional>
|
||||
<optional> masterfile-format
|
||||
(<constant>text</constant>|<constant>raw</constant>|<constant>fast</constant>) ; </optional>
|
||||
(<constant>text</constant>|<constant>raw</constant>|<constant>map</constant>) ; </optional>
|
||||
<optional> empty-server <replaceable>name</replaceable> ; </optional>
|
||||
<optional> empty-contact <replaceable>name</replaceable> ; </optional>
|
||||
<optional> empty-zones-enable <replaceable>yes_or_no</replaceable> ; </optional>
|
||||
@ -9023,7 +9023,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
|
||||
a zone file in the <constant>raw</constant> format
|
||||
must be generated with the same check level as that
|
||||
specified in the <command>named</command> configuration
|
||||
file. Also, <constant>fast</constant> format files are
|
||||
file. Also, <constant>map</constant> format files are
|
||||
loaded directly into memory via memory mapping, with only
|
||||
minimal checking.
|
||||
</para>
|
||||
@ -10525,7 +10525,7 @@ view "external" {
|
||||
<optional> check-integrity <replaceable>yes_or_no</replaceable> ; </optional>
|
||||
<optional> dialup <replaceable>dialup_option</replaceable> ; </optional>
|
||||
<optional> file <replaceable>string</replaceable> ; </optional>
|
||||
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>|<constant>fast</constant>) ; </optional>
|
||||
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>|<constant>map</constant>) ; </optional>
|
||||
<optional> journal <replaceable>string</replaceable> ; </optional>
|
||||
<optional> max-journal-size <replaceable>size_spec</replaceable>; </optional>
|
||||
<optional> forward (<constant>only</constant>|<constant>first</constant>) ; </optional>
|
||||
@ -10580,7 +10580,7 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
|
||||
<optional> check-names (<constant>warn</constant>|<constant>fail</constant>|<constant>ignore</constant>) ; </optional>
|
||||
<optional> dialup <replaceable>dialup_option</replaceable> ; </optional>
|
||||
<optional> file <replaceable>string</replaceable> ; </optional>
|
||||
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>|<constant>fast</constant>) ; </optional>
|
||||
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>|<constant>map</constant>) ; </optional>
|
||||
<optional> journal <replaceable>string</replaceable> ; </optional>
|
||||
<optional> max-journal-size <replaceable>size_spec</replaceable>; </optional>
|
||||
<optional> forward (<constant>only</constant>|<constant>first</constant>) ; </optional>
|
||||
@ -10641,7 +10641,7 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
|
||||
<optional> dialup <replaceable>dialup_option</replaceable> ; </optional>
|
||||
<optional> delegation-only <replaceable>yes_or_no</replaceable> ; </optional>
|
||||
<optional> file <replaceable>string</replaceable> ; </optional>
|
||||
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>|<constant>fast</constant>) ; </optional>
|
||||
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>|<constant>map</constant>) ; </optional>
|
||||
<optional> forward (<constant>only</constant>|<constant>first</constant>) ; </optional>
|
||||
<optional> forwarders { <optional> <replaceable>ip_addr</replaceable> <optional>port <replaceable>ip_port</replaceable></optional> ; ... </optional> }; </optional>
|
||||
<optional> masters <optional>port <replaceable>ip_port</replaceable></optional> { ( <replaceable>masters_list</replaceable> | <replaceable>ip_addr</replaceable>
|
||||
@ -10684,7 +10684,7 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
|
||||
zone <replaceable>"."</replaceable> <optional><replaceable>class</replaceable></optional> {
|
||||
type redirect;
|
||||
file <replaceable>string</replaceable> ;
|
||||
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>|<constant>fast</constant>) ; </optional>
|
||||
<optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>|<constant>map</constant>) ; </optional>
|
||||
<optional> allow-query { <replaceable>address_match_list</replaceable> }; </optional>
|
||||
};
|
||||
|
||||
@ -13771,7 +13771,7 @@ HOST-127.EXAMPLE. MX 0 .
|
||||
parsing text, load time is significantly reduced.
|
||||
</para>
|
||||
<para>
|
||||
An even faster alternative is the <constant>fast</constant>
|
||||
An even faster alternative is the <constant>map</constant>
|
||||
format, which is an image of a <acronym>BIND</acronym> 9
|
||||
in-memory zone database; it is capable of being loaded
|
||||
directly into memory via the <command>mmap()</command>
|
||||
@ -13780,7 +13780,7 @@ HOST-127.EXAMPLE. MX 0 .
|
||||
</para>
|
||||
<para>
|
||||
For a primary server, a zone file in
|
||||
<constant>raw</constant> or <constant>fast</constant>
|
||||
<constant>raw</constant> or <constant>map</constant>
|
||||
format is expected to be generated from a textual zone
|
||||
file by the <command>named-compilezone</command> command.
|
||||
For a secondary server or for a dynamic zone, it is automatically
|
||||
@ -13798,8 +13798,8 @@ HOST-127.EXAMPLE. MX 0 .
|
||||
<command>named-compilezone</command> command again.
|
||||
</para>
|
||||
<para>
|
||||
Note that <command>fast</command> format is extremely
|
||||
architecture-specific. A <constant>fast</constant>
|
||||
Note that <command>map</command> format is extremely
|
||||
architecture-specific. A <constant>map</constant>
|
||||
file <emphasis>cannot</emphasis> be used on a system
|
||||
with different pointer size, endianness or data alignment
|
||||
than the system on which it was generated, and should in
|
||||
@ -13810,7 +13810,7 @@ HOST-127.EXAMPLE. MX 0 .
|
||||
possible, it is also primarily expected to be used
|
||||
inside the same single system. To export a
|
||||
zone file in either <constant>raw</constant> or
|
||||
<constant>fast</constant> format, or make a
|
||||
<constant>map</constant> format, or make a
|
||||
portable backup of such a file, conversion to
|
||||
<constant>text</constant> format is recommended.
|
||||
</para>
|
||||
|
@ -26,7 +26,7 @@ top_srcdir = @top_srcdir@
|
||||
@BIND9_VERSION@
|
||||
@BIND9_MAJOR@
|
||||
|
||||
@LIBDNS_FASTAPI@
|
||||
@LIBDNS_MAPAPI@
|
||||
|
||||
@LIBDNS_API@
|
||||
|
||||
@ -118,7 +118,7 @@ version.@O@: version.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
|
||||
-DVERSION=\"${VERSION}\" \
|
||||
-DMAJOR=\"${MAJOR}\" \
|
||||
-DFASTAPI=\"${FASTAPI}\" \
|
||||
-DMAPAPI=\"${MAPAPI}\" \
|
||||
-DLIBINTERFACE=${LIBINTERFACE} \
|
||||
-DLIBREVISION=${LIBREVISION} \
|
||||
-DLIBAGE=${LIBAGE} \
|
||||
|
@ -49,7 +49,7 @@ struct dns_rdatacallbacks {
|
||||
dns_addrdatasetfunc_t add;
|
||||
|
||||
/*%
|
||||
* This is called when reading in a database image from a 'fast'
|
||||
* This is called when reading in a database image from a 'map'
|
||||
* format zone file.
|
||||
*/
|
||||
dns_deserializefunc_t deserialize;
|
||||
|
@ -485,7 +485,7 @@ dns_db_beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks);
|
||||
* file. callbacks->add_private will be a valid DB load context
|
||||
* which should be used as 'arg' when callbacks->add is called.
|
||||
* callbacks->deserialize will be a valid dns_deserialize_func_t
|
||||
* suitable for loading 'db' from a fast format zone file.
|
||||
* suitable for loading 'db' from a map format zone file.
|
||||
*
|
||||
* Returns:
|
||||
*
|
||||
@ -561,7 +561,7 @@ dns_db_load3(dns_db_t *db, const char *filename, dns_masterformat_t format,
|
||||
isc_result_t
|
||||
dns_db_serialize(dns_db_t *db, dns_dbversion_t *version, FILE *rbtfile);
|
||||
/*%<
|
||||
* Dump version 'version' of 'db' to fast file 'filename'.
|
||||
* Dump version 'version' of 'db' to map-format file 'filename'.
|
||||
*
|
||||
* Requires:
|
||||
*
|
||||
|
@ -80,7 +80,7 @@ struct dns_masterrawheader {
|
||||
isc_uint32_t format; /* must be
|
||||
* dns_masterformat_raw
|
||||
* or
|
||||
* dns_masterformat_fast */
|
||||
* dns_masterformat_map */
|
||||
isc_uint32_t version; /* compatibility for future
|
||||
* extensions */
|
||||
isc_uint32_t dumptime; /* timestamp on creation
|
||||
|
@ -193,7 +193,7 @@ typedef enum {
|
||||
dns_masterformat_none = 0,
|
||||
dns_masterformat_text = 1,
|
||||
dns_masterformat_raw = 2,
|
||||
dns_masterformat_fast = 3
|
||||
dns_masterformat_map = 3
|
||||
} dns_masterformat_t;
|
||||
|
||||
typedef enum {
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
LIBDNS_EXTERNAL_DATA extern const char dns_version[];
|
||||
LIBDNS_EXTERNAL_DATA extern const char dns_major[];
|
||||
LIBDNS_EXTERNAL_DATA extern const char dns_fastapi[];
|
||||
LIBDNS_EXTERNAL_DATA extern const char dns_mapapi[];
|
||||
|
||||
LIBDNS_EXTERNAL_DATA extern const unsigned int dns_libinterface;
|
||||
LIBDNS_EXTERNAL_DATA extern const unsigned int dns_librevision;
|
||||
|
@ -1,5 +1,5 @@
|
||||
# This value should be increased whenever changing the structure of
|
||||
# any object that will appear in a type 'fast' master file (which
|
||||
# any object that will appear in a type 'map' master file (which
|
||||
# contains a working memory image of an RBT database), as loading
|
||||
# an incorrect memory image produces an inconsistent and probably
|
||||
# nonfunctional database. These structures include but are not
|
||||
@ -7,10 +7,10 @@
|
||||
# rbt_file_header, dns_rbtdb, dns_rbt, dns_rbtnode, rdatasetheader.
|
||||
#
|
||||
# Err on the side of caution: if anything in the RBTDB is changed,
|
||||
# bump the value. Making fast files unreadable protects the system
|
||||
# bump the value. Making map files unreadable protects the system
|
||||
# from instability; it's a feature not a bug.
|
||||
#
|
||||
# Whenever releasing a new major release of BIND9, set this value
|
||||
# back to 1.0 when releasing the first alpha. Fast files are *never*
|
||||
# compatible across major releases.
|
||||
FASTAPI=1.0
|
||||
MAPAPI=1.0
|
@ -184,10 +184,10 @@ static isc_result_t
|
||||
load_raw(dns_loadctx_t *lctx);
|
||||
|
||||
static isc_result_t
|
||||
openfile_fast(dns_loadctx_t *lctx, const char *master_file);
|
||||
openfile_map(dns_loadctx_t *lctx, const char *master_file);
|
||||
|
||||
static isc_result_t
|
||||
load_fast(dns_loadctx_t *lctx);
|
||||
load_map(dns_loadctx_t *lctx);
|
||||
|
||||
static isc_result_t
|
||||
pushfile(const char *master_file, dns_name_t *origin, dns_loadctx_t *lctx);
|
||||
@ -568,9 +568,9 @@ loadctx_create(dns_masterformat_t format, isc_mem_t *mctx,
|
||||
lctx->openfile = openfile_raw;
|
||||
lctx->load = load_raw;
|
||||
break;
|
||||
case dns_masterformat_fast:
|
||||
lctx->openfile = openfile_fast;
|
||||
lctx->load = load_fast;
|
||||
case dns_masterformat_map:
|
||||
lctx->openfile = openfile_map;
|
||||
lctx->load = load_map;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2107,7 +2107,7 @@ load_header(dns_loadctx_t *lctx) {
|
||||
REQUIRE(DNS_LCTX_VALID(lctx));
|
||||
|
||||
if (lctx->format != dns_masterformat_raw &&
|
||||
lctx->format != dns_masterformat_fast)
|
||||
lctx->format != dns_masterformat_map)
|
||||
return (ISC_R_NOTIMPLEMENTED);
|
||||
|
||||
callbacks = lctx->callbacks;
|
||||
@ -2129,8 +2129,8 @@ load_header(dns_loadctx_t *lctx) {
|
||||
if (header.format != lctx->format) {
|
||||
(*callbacks->error)(callbacks, "dns_master_load: "
|
||||
"file format mismatch (not %s)",
|
||||
lctx->format == dns_masterformat_fast
|
||||
? "fast"
|
||||
lctx->format == dns_masterformat_map
|
||||
? "map"
|
||||
: "raw");
|
||||
return (ISC_R_NOTIMPLEMENTED);
|
||||
}
|
||||
@ -2174,7 +2174,7 @@ load_header(dns_loadctx_t *lctx) {
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
openfile_fast(dns_loadctx_t *lctx, const char *master_file) {
|
||||
openfile_map(dns_loadctx_t *lctx, const char *master_file) {
|
||||
isc_result_t result;
|
||||
|
||||
result = isc_stdio_open(master_file, "rb", &lctx->f);
|
||||
@ -2188,10 +2188,10 @@ openfile_fast(dns_loadctx_t *lctx, const char *master_file) {
|
||||
}
|
||||
|
||||
/*
|
||||
* Load a fast format file, using mmap() to access RBT trees directly
|
||||
* Load a map format file, using mmap() to access RBT trees directly
|
||||
*/
|
||||
static isc_result_t
|
||||
load_fast(dns_loadctx_t *lctx) {
|
||||
load_map(dns_loadctx_t *lctx) {
|
||||
isc_result_t result;
|
||||
dns_rdatacallbacks_t *callbacks;
|
||||
|
||||
|
@ -1062,9 +1062,9 @@ dump_rdatasets_raw(isc_mem_t *mctx, dns_name_t *name,
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
dump_rdatasets_fast(isc_mem_t *mctx, dns_name_t *name,
|
||||
dns_rdatasetiter_t *rdsiter, dns_totext_ctx_t *ctx,
|
||||
isc_buffer_t *buffer, FILE *f)
|
||||
dump_rdatasets_map(isc_mem_t *mctx, dns_name_t *name,
|
||||
dns_rdatasetiter_t *rdsiter, dns_totext_ctx_t *ctx,
|
||||
isc_buffer_t *buffer, FILE *f)
|
||||
{
|
||||
UNUSED(mctx);
|
||||
UNUSED(name);
|
||||
@ -1318,8 +1318,8 @@ dumpctx_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version,
|
||||
case dns_masterformat_raw:
|
||||
dctx->dumpsets = dump_rdatasets_raw;
|
||||
break;
|
||||
case dns_masterformat_fast:
|
||||
dctx->dumpsets = dump_rdatasets_fast;
|
||||
case dns_masterformat_map:
|
||||
dctx->dumpsets = dump_rdatasets_map;
|
||||
break;
|
||||
default:
|
||||
INSIST(0);
|
||||
@ -1404,7 +1404,7 @@ writeheader(dns_dumpctx_t *dctx) {
|
||||
}
|
||||
break;
|
||||
case dns_masterformat_raw:
|
||||
case dns_masterformat_fast:
|
||||
case dns_masterformat_map:
|
||||
r.base = (unsigned char *)&rawheader;
|
||||
r.length = sizeof(rawheader);
|
||||
isc_buffer_region(&buffer, &r);
|
||||
@ -1485,7 +1485,7 @@ dumptostreaminc(dns_dumpctx_t *dctx) {
|
||||
* If the database is anything other than an rbtdb,
|
||||
* this should result in not implemented
|
||||
*/
|
||||
if (dctx->format == dns_masterformat_fast) {
|
||||
if (dctx->format == dns_masterformat_map) {
|
||||
result = dns_db_serialize(dctx->db, dctx->version,
|
||||
dctx->f);
|
||||
goto cleanup;
|
||||
|
@ -90,7 +90,7 @@ struct dns_rbt {
|
||||
#define BLACK 1
|
||||
|
||||
/*
|
||||
* This is the header for fast-format RBT images. It is populated,
|
||||
* This is the header for map-format RBT images. It is populated,
|
||||
* and then written, as the LAST thing done to the file before returning.
|
||||
* Writing this last (with zeros in the header area initially) will ensure
|
||||
* that the header is only valid when the RBT image is also valid.
|
||||
@ -107,8 +107,8 @@ struct file_header {
|
||||
char version1[32];
|
||||
isc_uint64_t first_node_offset; /* usually 1024 */
|
||||
/*
|
||||
* information about the system on which the fast file was generated
|
||||
* will be used to tell if we can load the fast file or not
|
||||
* information about the system on which the map file was generated
|
||||
* will be used to tell if we can load the map file or not
|
||||
*/
|
||||
isc_uint32_t ptrsize;
|
||||
unsigned int bigendian:1; /* big or little endian system */
|
||||
@ -398,7 +398,7 @@ write_header(FILE *file, dns_rbt_t *rbt, isc_uint64_t first_node_offset) {
|
||||
if (FILE_VERSION[0] == '\0') {
|
||||
memset(FILE_VERSION, 0, sizeof(FILE_VERSION));
|
||||
snprintf(FILE_VERSION, sizeof(FILE_VERSION),
|
||||
"RBT Image %s %s", dns_major, dns_fastapi);
|
||||
"RBT Image %s %s", dns_major, dns_mapapi);
|
||||
}
|
||||
|
||||
memset(&header, 0, sizeof(file_header_t));
|
||||
|
@ -90,7 +90,7 @@
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* This is the fast file header for RBTDB images. It is populated, and then
|
||||
* This is the map file header for RBTDB images. It is populated, and then
|
||||
* written, as the LAST thing done to the file. Writing this last (with
|
||||
* zeros in the header area initially) will ensure that the header is only
|
||||
* valid when the RBTDB image is also valid.
|
||||
@ -7424,7 +7424,7 @@ rbtdb_write_header(FILE *rbtfile, long tree_location, long nsec_location,
|
||||
if (FILE_VERSION[0] == '\0') {
|
||||
memset(FILE_VERSION, 0, sizeof(FILE_VERSION));
|
||||
snprintf(FILE_VERSION, sizeof(FILE_VERSION),
|
||||
"RBTDB Image %s %s", dns_major, dns_fastapi);
|
||||
"RBTDB Image %s %s", dns_major, dns_mapapi);
|
||||
}
|
||||
|
||||
memset(&header, 0, sizeof(rbtdb_file_header_t));
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
const char dns_version[] = VERSION;
|
||||
const char dns_major[] = MAJOR;
|
||||
const char dns_fastapi[] = FASTAPI;
|
||||
const char dns_mapapi[] = MAPAPI;
|
||||
|
||||
const unsigned int dns_libinterface = LIBINTERFACE;
|
||||
const unsigned int dns_librevision = LIBREVISION;
|
||||
|
@ -25,7 +25,7 @@ export_srcdir = @top_srcdir@/lib/export
|
||||
@BIND9_VERSION@
|
||||
@BIND9_MAJOR@
|
||||
|
||||
@LIBDNS_FASTAPI@
|
||||
@LIBDNS_MAPAPI@
|
||||
|
||||
@LIBDNS_API@
|
||||
|
||||
@ -113,7 +113,7 @@ version.@O@: ${srcdir}/version.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
|
||||
-DVERSION=\"${VERSION}\" \
|
||||
-DMAJOR=\"${MAJOR}\" \
|
||||
-DFASTAPI=\"${FASTAPI}\" \
|
||||
-DMAPAPI=\"${MAPAPI}\" \
|
||||
-DLIBINTERFACE=${LIBINTERFACE} \
|
||||
-DLIBREVISION=${LIBREVISION} \
|
||||
-DLIBAGE=${LIBAGE} \
|
||||
|
@ -1033,7 +1033,7 @@ static cfg_type_t cfg_type_mustbesecure = {
|
||||
&cfg_rep_tuple, mustbesecure_fields
|
||||
};
|
||||
|
||||
static const char *masterformat_enums[] = { "text", "raw", "fast", NULL };
|
||||
static const char *masterformat_enums[] = { "text", "raw", "map", NULL };
|
||||
static cfg_type_t cfg_type_masterformat = {
|
||||
"masterformat", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum,
|
||||
&cfg_rep_string, &masterformat_enums
|
||||
|
Loading…
x
Reference in New Issue
Block a user