Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
BIND
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
633
Issues
633
List
Boards
Labels
Service Desk
Milestones
Merge Requests
105
Merge Requests
105
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ISC Open Source Projects
BIND
Commits
c9611b45
Commit
c9611b45
authored
Jan 24, 2013
by
Evan Hunt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[master] change "fast" to "map"
3475. [cleanup] Changed name of 'map' zone file format (previously 'fast'). [RT #32458]
parent
dd59fe01
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
103 additions
and
100 deletions
+103
-100
CHANGES
CHANGES
+5
-2
bin/check/named-checkzone.c
bin/check/named-checkzone.c
+4
-4
bin/check/named-checkzone.docbook
bin/check/named-checkzone.docbook
+3
-3
bin/dnssec/dnssec-signzone.c
bin/dnssec/dnssec-signzone.c
+4
-4
bin/dnssec/dnssec-signzone.docbook
bin/dnssec/dnssec-signzone.docbook
+4
-4
bin/named/named.conf.docbook
bin/named/named.conf.docbook
+3
-3
bin/named/zoneconf.c
bin/named/zoneconf.c
+6
-6
bin/tests/system/masterformat/clean.sh
bin/tests/system/masterformat/clean.sh
+3
-3
bin/tests/system/masterformat/ns1/compile.sh
bin/tests/system/masterformat/ns1/compile.sh
+3
-3
bin/tests/system/masterformat/ns3/named.conf
bin/tests/system/masterformat/ns3/named.conf
+4
-4
bin/tests/system/masterformat/tests.sh
bin/tests/system/masterformat/tests.sh
+12
-12
configure.in
configure.in
+2
-2
doc/arm/Bv9ARM-book.xml
doc/arm/Bv9ARM-book.xml
+11
-11
lib/dns/Makefile.in
lib/dns/Makefile.in
+2
-2
lib/dns/include/dns/callbacks.h
lib/dns/include/dns/callbacks.h
+1
-1
lib/dns/include/dns/db.h
lib/dns/include/dns/db.h
+2
-2
lib/dns/include/dns/master.h
lib/dns/include/dns/master.h
+1
-1
lib/dns/include/dns/types.h
lib/dns/include/dns/types.h
+1
-1
lib/dns/include/dns/version.h
lib/dns/include/dns/version.h
+1
-1
lib/dns/mapapi
lib/dns/mapapi
+3
-3
lib/dns/master.c
lib/dns/master.c
+11
-11
lib/dns/masterdump.c
lib/dns/masterdump.c
+7
-7
lib/dns/rbt.c
lib/dns/rbt.c
+4
-4
lib/dns/rbtdb.c
lib/dns/rbtdb.c
+2
-2
lib/dns/version.c
lib/dns/version.c
+1
-1
lib/export/dns/Makefile.in
lib/export/dns/Makefile.in
+2
-2
lib/isccfg/namedconf.c
lib/isccfg/namedconf.c
+1
-1
No files found.
CHANGES
View file @
c9611b45
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
...
...
bin/check/named-checkzone.c
View file @
c9611b45
...
...
@@ -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
);
...
...
bin/check/named-checkzone.docbook
View file @
c9611b45
...
...
@@ -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.)
...
...
bin/dnssec/dnssec-signzone.c
View file @
c9611b45
...
...
@@ -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
)
{
...
...
bin/dnssec/dnssec-signzone.docbook
View file @
c9611b45
...
...
@@ -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
...
...
bin/named/named.conf.docbook
View file @
c9611b45
...
...
@@ -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>
;
...
...
bin/named/zoneconf.c
View file @
c9611b45
...
...
@@ -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
,
...
...
bin/tests/system/masterformat/clean.sh
View file @
c9611b45
...
...
@@ -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
bin/tests/system/masterformat/ns1/compile.sh
View file @
c9611b45
...
...
@@ -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
bin/tests/system/masterformat/ns3/named.conf
View file @
c9611b45
...
...
@@ -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
; };
};
bin/tests/system/masterformat/tests.sh
View file @
c9611b45
...
...
@@ -19,7 +19,7 @@
SYSTEMTESTTOP
=
..
.
$SYSTEMTESTTOP
/conf.sh
is
fast
()
{
is
map
()
{
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
is
fast ns1/example.db.fast
||
ret
=
1
is
map 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
...
...
configure.in
View file @
c9611b45
...
...
@@ -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_
FAST
API)
LIBDNS_
FASTAPI=$srcdir/lib/dns/fast
api
AC_SUBST_FILE(LIBDNS_
MAP
API)
LIBDNS_
MAPAPI=$srcdir/lib/dns/map
api
AC_SUBST_FILE(LIBBIND9_API)
LIBBIND9_API=$srcdir/lib/bind9/api
...
...
doc/arm/Bv9ARM-book.xml
View file @
c9611b45
...
...
@@ -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>
...
...
lib/dns/Makefile.in
View file @
c9611b45
...
...
@@ -26,7 +26,7 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_MAJOR@
@LIBDNS_
FAST
API@
@LIBDNS_
MAP
API@
@LIBDNS_API@
...
...
@@ -118,7 +118,7 @@ version.@O@: version.c
${LIBTOOL_MODE_COMPILE}
${CC}
${ALL_CFLAGS}
\
-DVERSION
=
\"
${VERSION}
\"
\
-DMAJOR
=
\"
${MAJOR}
\"
\
-D
FASTAPI
=
\"
${FAST
API}
\"
\
-D
MAPAPI
=
\"
${MAP
API}
\"
\
-DLIBINTERFACE
=
${LIBINTERFACE}
\
-DLIBREVISION
=
${LIBREVISION}
\
-DLIBAGE
=
${LIBAGE}
\
...
...
lib/dns/include/dns/callbacks.h
View file @
c9611b45
...
...
@@ -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
;
...
...
lib/dns/include/dns/db.h
View file @
c9611b45
...
...
@@ -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
fas
t file 'filename'.
* Dump version 'version' of 'db' to
map-forma
t file 'filename'.
*
* Requires:
*
...
...
lib/dns/include/dns/master.h
View file @
c9611b45
...
...
@@ -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
...
...
lib/dns/include/dns/types.h
View file @
c9611b45
...
...
@@ -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
{
...
...
lib/dns/include/dns/version.h
View file @
c9611b45
...
...
@@ -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_
fast
api
[];
LIBDNS_EXTERNAL_DATA
extern
const
char
dns_
map
api
[];
LIBDNS_EXTERNAL_DATA
extern
const
unsigned
int
dns_libinterface
;
LIBDNS_EXTERNAL_DATA
extern
const
unsigned
int
dns_librevision
;
...
...
lib/dns/
fast
api
→
lib/dns/
map
api
View file @
c9611b45
# 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.
FAST
API=1.0
MAP
API=1.0
lib/dns/master.c
View file @
c9611b45
...
...
@@ -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
;
...
...
lib/dns/masterdump.c
View file @
c9611b45
...
...
@@ -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) {
<