Commit e57fcdba authored by Stephen Morris's avatar Stephen Morris

Merge branch 'master' into trac739

parents f80bba65 14a1dcf8
244. [func] stephen
In unit tests, allow the choice of whether unhandled exceptions are
caught in the unit test program (and details printed) or allowed to
propagate to the default exception handler. See the bind10-dev thread
https://lists.isc.org/pipermail/bind10-dev/2011-January/001867.html
for more details.
(Trac #542, git 1aa773d84cd6431aa1483eb34a7f4204949a610f)
243. [func]* feng
Add optional hmac algorithm SHA224/384/812.
(Trac#782, git 77d792c9d7c1a3f95d3e6a8b721ac79002cd7db1)
bind10-devel-20110519 released on May 19, 2011
242. [func] jinmei
xfrin: added support for TSIG verify. This change completes TSIG
support in b10-xfrin.
(Trac #914, git 78502c021478d97672232015b7df06a7d52e531b)
241. [func] jinmei
pydnspp: added python extension for the TSIG API introduced in
change 235.
(Trac #905, git 081891b38f05f9a186814ab7d1cd5c572b8f777f)
(Trac #915, git 0555ab65d0e43d03b2d40c95d833dd050eea6c23)
240. [func]* jelte
Updated configuration options to Xfrin, so that you can specify
a master address, port, and TSIG key per zone. Still only one per
zone at this point, and TSIG keys are (currently) only specified
by their full string representation. This replaces the
Xfrin/master_addr, Xfrin/master_port, and short-lived
Xfrin/tsig_key configurations with a Xfrin/zones list.
(Trac #811, git 88504d121c5e08fff947b92e698a54d24d14c375)
239. [bug] jerry
src/bin/xfrout: If a zone doesn't have notify slaves (only has
one apex ns record - the primary master name server) will cause
b10-xfrout uses 100% of CPU.
(Trac #684, git d11b5e89203a5340d4e5ca51c4c02db17c33dc1f)
238. [func] zhang likun
Implement the simplest forwarder, which pass everything throught
Implement the simplest forwarder, which pass everything through
except QID, port number. The response will not be cached.
(Trac #598_new, git 8e28187a582820857ef2dae9b13637a3881f13ba)
......@@ -52,7 +92,7 @@
(Trac #900, git b395258c708b49a5da8d0cffcb48d83294354ba3)
231. [func]* vorner
The logging interface changed slightly. We use
The logging interface changed slightly. We use
logger.foo(MESSAGE_ID).arg(bar); instead of logger.foo(MESSAGE_ID,
bar); internally. The message definitions use '%1,%2,...'
instead of '%s,%d', which allows us to cope better with
......@@ -94,14 +134,14 @@
(Trac #781, git 9df42279a47eb617f586144dce8cce680598558a)
225. [func] naokikambe
Added the HTTP/XML interface(b10-stats-httpd) to the
Added the HTTP/XML interface (b10-stats-httpd) to the
statistics feature in BIND 10. b10-stats-httpd is a standalone
HTTP server and it requests statistics data to the stats
daemon(b10-stats) and sends it to HTTP clients in XML
daemon (b10-stats) and sends it to HTTP clients in XML
format. Items of the data collected via b10-stats-httpd
are almost equivalent to ones which are collected via
bindctl. Since it also can send XSL(Extensible Stylessheet
Language) document and XSD(XML Schema definition) document,
bindctl. Since it also can send XSL (Extensible Stylesheet
Language) document and XSD (XML Schema definition) document,
XML document is human-friendly to view through web browsers
and its data types are strictly defined.
(Trac #547, git 1cbd51919237a6e65983be46e4f5a63d1877b1d3)
......@@ -120,11 +160,13 @@
reconfigure them.
(Trac #775, git 572ac2cf62e18f7eb69d670b890e2a3443bfd6e7)
222. [bug] jerry
src/lib/zonemgr: Fix a bug that xfrin not checking for new copy of
zone on startup. Imposes some random jitters to avoid many zones
need to do refresh at the same time.
(Trac #387, svn 9140fab9bab5f6502bd15d391fd51ac078b0b89b)
222. [bug]* jerry
src/lib/zonemgr: Fix a bug that xfrin not checking for new
copy of zone on startup. Imposes some random jitters to
avoid many zones need to do refresh at the same time. This
removed the Zonemgr/jitter_scope setting and introduced
Zonemgr/refresh_jitter and Zonemgr/reload_jitter.
(Trac #387, git 1241ddcffa16285d0a7bb01d6a8526e19fbb70cb)
221. [func]* jerry
src/lib/util: Create C++ utility library.
......
......@@ -19,7 +19,9 @@ backends), b10-resolver recursive or forwarding DNS server, b10-cmdctl
remote control daemon, b10-cfgmgr configuration manager, b10-xfrin
AXFR inbound service, b10-xfrout outgoing AXFR service, b10-zonemgr
secondary manager, b10-stats statistics collection and reporting
daemon, and a new libdns++ library for C++ with a python wrapper.
daemon, b10-stats-httpd for HTTP access to XML-formatted stats,
b10-host DNS lookup utility, and a new libdns++ library for C++
with a python wrapper.
Documentation is included and also available via the BIND 10
website at http://bind10.isc.org/
......
......@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.59])
AC_INIT(bind10-devel, 20110322, bind10-dev@isc.org)
AC_INIT(bind10-devel, 20110519, bind10-dev@isc.org)
AC_CONFIG_SRCDIR(README)
AM_INIT_AUTOMAKE
AC_CONFIG_HEADERS([config.h])
......@@ -775,8 +775,8 @@ AC_CONFIG_FILES([Makefile
src/lib/server_common/tests/Makefile
src/lib/util/Makefile
src/lib/util/io/Makefile
src/lib/util/io/tests/Makefile
src/lib/util/unittests/Makefile
src/lib/util/pyunittests/Makefile
src/lib/util/tests/Makefile
tests/Makefile
tests/system/Makefile
......@@ -843,6 +843,7 @@ AC_OUTPUT([doc/version.ent
src/lib/cc/tests/session_unittests_config.h
src/lib/log/tests/run_time_init_test.sh
src/lib/util/python/mkpywrapper.py
src/lib/server_common/tests/data_path.h
tests/system/conf.sh
tests/system/glue/setup.sh
tests/system/glue/nsx1/b10-config.db
......
This diff is collapsed.
......@@ -79,12 +79,24 @@
3.1 is the minimum version which will work.
</para>
<note><para>
<para>
BIND 10 uses the Botan crypto library for C++. It requires
at least Botan version 1.8. To build BIND 10, install the
Botan libraries and development include headers.
</para>
<!--
TODO
Debian and Ubuntu:
libgmp3-dev and libbz2-dev required for botan too
-->
<para>
The authoritative server requires SQLite 3.3.9 or newer.
The <command>b10-xfrin</command>, <command>b10-xfrout</command>,
and <command>b10-zonemgr</command> modules require the
libpython3 library and the Python _sqlite3.so module.
</para></note>
</para>
<!-- TODO: this will change ... -->
<!-- TODO: list where to get these from -->
......
......@@ -52,6 +52,7 @@ run_unittests_LDADD += $(top_builddir)/src/lib/xfr/libxfr.la
run_unittests_LDADD += $(top_builddir)/src/lib/log/liblog.la
run_unittests_LDADD += $(top_builddir)/src/lib/server_common/libserver_common.la
run_unittests_LDADD += $(top_builddir)/src/lib/nsas/libnsas.la
run_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la
endif
noinst_PROGRAMS = $(TESTS)
......@@ -13,6 +13,7 @@
// PERFORMANCE OF THIS SOFTWARE.
#include <gtest/gtest.h>
#include <util/unittests/run_all.h>
#include <dns/tests/unittest_util.h>
......@@ -22,5 +23,5 @@ main(int argc, char* argv[]) {
isc::UnitTestUtil::addDataPath(TEST_DATA_DIR);
isc::UnitTestUtil::addDataPath(TEST_DATA_BUILDDIR);
return (RUN_ALL_TESTS());
return (isc::util::unittests::run_all());
}
......@@ -202,7 +202,7 @@ class SendNonblock(unittest.TestCase):
try:
def killall(signum, frame):
os.kill(queue_pid, signal.SIGTERM)
sys.exit(1)
os._exit(1)
signal.signal(signal.SIGALRM, killall)
msg = msgq.preparemsg({"type" : "ping"}, data)
now = time.clock()
......
......@@ -47,6 +47,7 @@ run_unittests_LDADD += $(top_builddir)/src/lib/server_common/libserver_common.la
run_unittests_LDADD += $(top_builddir)/src/lib/cache/libcache.la
run_unittests_LDADD += $(top_builddir)/src/lib/nsas/libnsas.la
run_unittests_LDADD += $(top_builddir)/src/lib/resolve/libresolve.la
run_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la
# Note the ordering matters: -Wno-... must follow -Wextra (defined in
# B10_CXXFLAGS
......
......@@ -13,6 +13,7 @@
// PERFORMANCE OF THIS SOFTWARE.
#include <gtest/gtest.h>
#include <util/unittests/run_all.h>
#include <dns/tests/unittest_util.h>
......@@ -22,5 +23,5 @@ main(int argc, char* argv[]) {
isc::UnitTestUtil::addDataPath(TEST_DATA_DIR);
isc::UnitTestUtil::addDataPath(TEST_DATA_BUILDDIR);
return (RUN_ALL_TESTS());
return (isc::util::unittests::run_all());
}
......@@ -16,10 +16,9 @@ run_unittests_SOURCES += run_unittests.cc
run_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
run_unittests_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS)
run_unittests_LDADD = $(GTEST_LDADD)
run_unittests_LDADD = $(GTEST_LDADD)
run_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la
run_unittests_LDADD += $(top_builddir)/src/lib/util/io/libutil_io.la
run_unittests_LDADD += \
$(top_builddir)/src/lib/util/unittests/libutil_unittests.la
endif
noinst_PROGRAMS = $(TESTS)
......@@ -13,10 +13,11 @@
// PERFORMANCE OF THIS SOFTWARE.
#include <gtest/gtest.h>
#include <util/unittests/run_all.h>
int
main(int argc, char *argv[]) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
return isc::util::unittests::run_all();
}
......@@ -2,12 +2,12 @@
.\" Title: b10-xfrin
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: September 8, 2010
.\" Date: May 19, 2011
.\" Manual: BIND10
.\" Source: BIND10
.\" Language: English
.\"
.TH "B10\-XFRIN" "8" "September 8, 2010" "BIND10" "BIND10"
.TH "B10\-XFRIN" "8" "May 19, 2011" "BIND10" "BIND10"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
......@@ -43,7 +43,7 @@ boss process\&. When triggered it can request and receive a zone transfer and st
.ps -1
.br
.sp
The Y1 prototype release only supports AXFR\&. IXFR is not implemented\&.
This prototype release only supports AXFR\&. IXFR is not implemented\&.
.sp .5v
.RE
.PP
......@@ -61,15 +61,34 @@ receives its configurations from
.PP
The configurable settings are:
.PP
\fImaster_addr\fR
The default is 127\&.0\&.0\&.1\&.
.PP
\fImaster_port\fR
The default is 53\&.
.PP
\fItransfers\-in\fR
defines the maximum number of inbound zone transfers that can run concurrently\&. The default is 10\&.
.PP
\fIzones\fR
is a list of zones known to the
\fBb10\-xfrin\fR
daemon\&. The list items are:
\fIname\fR
(the zone name),
\fImaster_addr\fR
(the zone master to transfer from),
\fImaster_port\fR
(defaults to 53), and
\fItsig_key\fR
(optional TSIG key to use)\&. The
\fItsig_key\fR
is specified using a full string colon\-delimited name:key:algorithm representation (e\&.g\&.
\(lqfoo\&.example\&.org:EvABsfU2h7uofnmqaRCrhHunGsd=:hmac\-sha1\(rq)\&.
.PP
(The site\-wide
\fImaster_addr\fR
and
\fImaster_port\fR
configurations are deprecated; use the
\fIzones\fR
list configuration instead\&.)
.PP
The configuration commands are:
.PP
......@@ -106,7 +125,9 @@ to define the class (defaults to
\fImaster\fR
to define the IP address of the authoritative server to transfer from, and
\fIport\fR
to define the port number on the authoritative server (defaults to 53)\&.
to define the port number on the authoritative server (defaults to 53)\&. If the address or port is not specified, it will use the values previously defined in the
\fIzones\fR
configuration\&.
.PP
\fBshutdown\fR
......@@ -143,5 +164,5 @@ The
daemon was implemented in March 2010 by Zhang Likun of CNNIC for the ISC BIND 10 project\&.
.SH "COPYRIGHT"
.br
Copyright \(co 2010 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2010-2011 Internet Systems Consortium, Inc. ("ISC")
.br
......@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2010-2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
......@@ -20,7 +20,7 @@
<refentry>
<refentryinfo>
<date>September 8, 2010</date>
<date>May 19, 2011</date>
</refentryinfo>
<refmeta>
......@@ -36,7 +36,7 @@
<docinfo>
<copyright>
<year>2010</year>
<year>2010-2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
......@@ -62,6 +62,12 @@
the zone in a BIND 10 zone data store.
</para>
<!-- TODO:
xfrin only does the transfer to make it as simple as possible.
The logic for handling transfer triggers or zone management is handled
in separate zonemgr process.
-->
<note><simpara>
This prototype release only supports AXFR. IXFR is not implemented.
</simpara></note>
......@@ -86,20 +92,33 @@
The configurable settings are:
</para>
<para><varname>master_addr</varname>
<!-- TODO: how can there be a single setting for this? -->
The default is 127.0.0.1.
<para><varname>transfers-in</varname>
defines the maximum number of inbound zone transfers
that can run concurrently. The default is 10.
</para>
<para><varname>master_port</varname>
<!-- TODO: what if custom is needed per zone? -->
The default is 53.
<!-- TODO: is name okay for master_addr or just IP? -->
<para>
<varname>zones</varname> is a list of zones known to the
<command>b10-xfrin</command> daemon.
The list items are:
<varname>name</varname> (the zone name),
<varname>master_addr</varname> (the zone master to transfer from),
<varname>master_port</varname> (defaults to 53), and
<varname>tsig_key</varname> (optional TSIG key to use).
The <varname>tsig_key</varname> is specified using a full string
colon-delimited name:key:algorithm representation (e.g.
<quote>foo.example.org:EvABsfU2h7uofnmqaRCrhHunGsd=:hmac-sha1</quote>).
</para>
<!-- TODO: document this better -->
<!-- TODO: the tsig_key format may change -->
<para><varname>transfers-in</varname>
defines the maximum number of inbound zone transfers
that can run concurrently. The default is 10.
<para>
(The site-wide <varname>master_addr</varname> and
<varname>master_port</varname> configurations are deprecated;
use the <varname>zones</varname> list configuration instead.)
</para>
<!-- NOTE: also tsig_key but not mentioning since so short lived. -->
<!-- TODO: formating -->
<para>
......@@ -148,6 +167,9 @@
the authoritative server to transfer from,
and <varname>port</varname> to define the port number on the
authoritative server (defaults to 53).
If the address or port is not specified, it will use the
values previously defined in the <varname>zones</varname>
configuration.
</para>
<!-- TODO: later hostname for master? -->
......
This diff is collapsed.
This diff is collapsed.
......@@ -9,21 +9,43 @@
"item_optional": false,
"item_default": 10
},
{
"item_name": "master_addr",
"item_type": "string",
"item_optional": false,
"item_default": ""
},
{ "item_name": "master_port",
"item_type": "integer",
{ "item_name": "zones",
"item_type": "list",
"item_optional": false,
"item_default": 53
},
{ "item_name": "tsig_key",
"item_type": "string",
"item_optional": true,
"item_default": ""
"item_default": [],
"list_item_spec":
{ "item_type": "map",
"item_name": "zone_info",
"item_optional": false,
"item_default": {},
"map_item_spec": [
{ "item_name": "name",
"item_type": "string",
"item_optional": false,
"item_default": ""
},
{ "item_name": "class",
"item_type": "string",
"item_optional": false,
"item_default": "IN"
},
{
"item_name": "master_addr",
"item_type": "string",
"item_optional": false,
"item_default": ""
},
{ "item_name": "master_port",
"item_type": "integer",
"item_optional": false,
"item_default": 53
},
{ "item_name": "tsig_key",
"item_type": "string",
"item_optional": true
}
]
}
}
],
"commands": [
......
......@@ -2,12 +2,12 @@
.\" Title: b10-zonemgr
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: October 18, 2010
.\" Date: May 19, 2011
.\" Manual: BIND10
.\" Source: BIND10
.\" Language: English
.\"
.TH "B10\-ZONEMGR" "8" "October 18, 2010" "BIND10" "BIND10"
.TH "B10\-ZONEMGR" "8" "May 19, 2011" "BIND10" "BIND10"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
......@@ -46,11 +46,6 @@ receives its configurations from
The configurable settings are:
.PP
\fIjitter_scope\fR
defines the random jitter range subtracted from the refresh and retry timers to avoid many zones from refreshing at the same time\&. The refresh or retry time actually used is a random time between the defined refresh or retry time and it multiplied by the
\fIjitter_scope\fR\&. This is re\-evaluated after each refresh or retry\&. This value is a real number and the maximum is 0\&.5 (half of the refresh or retry time)\&. The default is 0\&.25\&. Set to 0 to disable the jitter\&.
.PP
\fIlowerbound_refresh\fR
defines the minimum SOA REFRESH time in seconds\&. The default is 10\&.
.PP
......@@ -59,10 +54,36 @@ defines the minimum SOA REFRESH time in seconds\&. The default is 10\&.
defines the minimum SOA RETRY time in seconds\&. The default is 5\&.
.PP
\fIrefresh_jitter\fR
This value is a real number\&. The maximum amount is 0\&.5\&. The default is 0\&.25\&.
.PP
\fIreload_jitter\fR
This value is a real number\&. The default is 0\&.75\&.
.PP
\fImax_transfer_timeout\fR
defines the maximum amount of time in seconds for a transfer\&.
The default is 14400 (4 hours)\&.
.PP
\fIsecondary_zones\fR
is a list of slave zones that the
\fBb10\-zonemgr\fR
should keep timers for\&. The list items include the
\fIname\fR
(which defines the zone name) and the
\fIclass\fR
(which defaults to
\(lqIN\(rq)\&.
.PP
(A deprecated configuration is
\fIjitter_scope\fR
which is superceded by
\fIrefresh_jitter\fR
and
\fIreload_jitter\fR\&.)
.PP
The configuration commands are:
.PP
......@@ -107,5 +128,5 @@ The
daemon was designed in July 2010 by CNNIC for the ISC BIND 10 project\&.
.SH "COPYRIGHT"
.br
Copyright \(co 2010 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2010-2011 Internet Systems Consortium, Inc. ("ISC")
.br
......@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2010-2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
......@@ -20,7 +20,7 @@
<refentry>
<refentryinfo>
<date>October 18, 2010</date>
<date>May 19, 2011</date>
</refentryinfo>
<refmeta>
......@@ -36,7 +36,7 @@
<docinfo>
<copyright>
<year>2010</year>
<year>2010-2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
......@@ -92,6 +92,39 @@
<para>
The configurable settings are:
</para>
<para>
<varname>lowerbound_refresh</varname>
defines the minimum SOA REFRESH time in seconds.
The default is 10.
</para>
<para>
<varname>lowerbound_retry</varname>
defines the minimum SOA RETRY time in seconds.
The default is 5.
</para>
<para>
<varname>refresh_jitter</varname>
This value is a real number.
The maximum amount is 0.5.
The default is 0.25.
</para>
<!-- TODO: needs to be documented -->
<!-- TODO: Set to 0 to disable the jitter. -->
<para>
<varname>reload_jitter</varname>
This value is a real number.
The default is 0.75.
</para>
<!-- TODO: needs to be documented -->
<!-- TODO: Set to 0 to disable the jitter. -->
<!-- what does 0 do? -->
<!-- TODO: no max? -->
<!-- TODO: remove this. This is old removed config
<para>
<varname>jitter_scope</varname>
defines the random jitter range subtracted from the refresh
......@@ -106,16 +139,8 @@
The default is 0.25.
Set to 0 to disable the jitter.
</para>
<para>
<varname>lowerbound_refresh</varname>
defines the minimum SOA REFRESH time in seconds.
The default is 10.
</para>
<para>
<varname>lowerbound_retry</varname>
defines the minimum SOA RETRY time in seconds.
The default is 5.
</para>
-->
<para>
<varname>max_transfer_timeout</varname>
defines the maximum amount of time in seconds for a transfer.
......@@ -123,6 +148,21 @@
The default is 14400 (4 hours).
</para>
<!-- TODO: this duplicates list in Xfrin too -->