Commit de69a926 authored by Stephen Morris's avatar Stephen Morris
Browse files

[1545] Merge branch 'master' into trac1545

parents 38c6a486 15560cac
......@@ -1223,6 +1223,7 @@ AC_CONFIG_FILES([Makefile
tests/tools/badpacket/tests/Makefile
tests/tools/perfdhcp/Makefile
tests/tools/perfdhcp/tests/Makefile
tests/tools/perfdhcp/templates/Makefile
dns++.pc
])
AC_OUTPUT([doc/version.ent
......
/bind10-guide.html
/bind10-guide.txt
/bind10-messages.html
......@@ -785,7 +785,7 @@ as a dependency earlier -->
</chapter>
<chapter id="bind10">
<title>Starting BIND10 with <command>bind10</command></title>
<title>Starting BIND 10 with <command>bind10</command></title>
<para>
BIND 10 provides the <command>bind10</command> command which
starts up the required processes.
......@@ -1746,7 +1746,7 @@ can use various data source backends.
<para>
Each data source has several options. The first one is
<varname>type</varname>, which specifies the type of data source to
use. Valid types include the ones listed below, but bind10 uses
use. Valid types include the ones listed below, but BIND 10 uses
dynamically loaded modules for them, so there may be more in your
case. This option is mandatory.
</para>
......@@ -1765,8 +1765,14 @@ can use various data source backends.
answering up. The first option is <varname>cache-enable</varname>,
a boolean value turning the cache on and off (off is the default).
The second one, <varname>cache-zones</varname>, is a list of zone
origins to load into in-memory. Remember that zones in the data source
not listed here will not be loaded and will not be available at all.
origins to load into in-memory.
<!-- NOT YET: http://bind10.isc.org/ticket/2240
Once the cache is enabled,
the zones in the data source not listed in
<varname>cache-zones</varname> will not be loaded and will
not be available at all.
-->
</para>
<section id='datasource-types'>
......@@ -1775,7 +1781,7 @@ can use various data source backends.
As mentioned, the type used by default is <quote>sqlite3</quote>.
It has single configuration option inside <varname>params</varname>
&mdash; <varname>database_file</varname>, which contains the path
to the sqlite3 file containing the data.
to the SQLite3 file containing the data.
</para>
<para>
......@@ -1792,7 +1798,7 @@ can use various data source backends.
<section id='datasrc-examples'>
<title>Examples</title>
<para>
As this is one of the more complex configurations of Bind10,
As this is one of the more complex configurations of BIND 10,
we show some examples. They all assume they start with default
configuration.
</para>
......@@ -1818,7 +1824,7 @@ can use various data source backends.
&gt; <userinput>config commit</userinput></screen>
Now every time the zone in the data source is changed by the
operator, Bind10 needs to be told to reload it, by
operator, the authoritative server needs to be told to reload it, by
<screen>&gt; <userinput>Auth loadzone example.org</userinput></screen>
You don't need to do this when the zone is modified by
XfrIn, it does so automatically.
......@@ -1826,7 +1832,7 @@ can use various data source backends.
<para>
Now, the last example is when there are master files we want to
serve in addition to whatever is inside the sqlite3 database.
serve in addition to whatever is inside the SQLite3 database.
<screen>&gt; <userinput>config add data_sources/classes/IN</userinput>
&gt; <userinput>config set data_sources/classes/IN[1]/type MasterFiles</userinput>
......@@ -1855,7 +1861,7 @@ can use various data source backends.
<note>
<para>
There's also <varname>Auth/database_file</varname> configuration
variable, pointing to a sqlite3 database file. This is no longer
variable, pointing to a SQLite3 database file. This is no longer
used by <command>b10-auth</command>, but it is left in place for
now, since other modules use it. Once <command>b10-xfrin</command>,
<command>b10-xfrout</command> and <command>b10-ddns</command>
......@@ -2600,18 +2606,18 @@ then change those defaults with config set Resolver/forward_addresses[0]/address
be deployed that facilitate communication between servers and
clients. Even though principles of both DHCPv4 and DHCPv6 are
somewhat similar, these are two radically different
protocols. BIND10 offers server implementations for both DHCPv4
protocols. BIND 10 offers server implementations for both DHCPv4
and DHCPv6. This chapter is about DHCP for IPv4. For a description
of the DHCPv6 server, see <xref linkend="dhcp6"/>.</para>
<para>The DHCPv4 server component is currently under intense
development. You may want to check out <ulink
url="http://bind10.isc.org/wiki/Kea">BIND10 DHCP (Kea) wiki</ulink>
url="http://bind10.isc.org/wiki/Kea">BIND 10 DHCP (Kea) wiki</ulink>
and recent posts on <ulink
url="https://lists.isc.org/mailman/listinfo/bind10-dev">BIND10
url="https://lists.isc.org/mailman/listinfo/bind10-dev">BIND 10
developers mailing list</ulink>.</para>
<para>The DHCPv4 and DHCPv6 components in BIND10 architecture are
<para>The DHCPv4 and DHCPv6 components in BIND 10 architecture are
internally code named <quote>Kea</quote>.</para>
<note>
......@@ -2629,7 +2635,7 @@ then change those defaults with config set Resolver/forward_addresses[0]/address
<section id="dhcp4-usage">
<title>DHCPv4 Server Usage</title>
<para>BIND10 provides the DHCPv4 server component since December
<para>BIND 10 provides the DHCPv4 server component since December
2011. It is a skeleton server and can be described as an early
prototype that is not fully functional yet. It is mature enough
to conduct first tests in lab environment, but it has
......@@ -2638,9 +2644,9 @@ then change those defaults with config set Resolver/forward_addresses[0]/address
</para>
<para>
<command>b10-dhcp4</command> is a BIND10 component and is being
run under BIND10 framework. To add a DHCPv4 process to the set of running
BIND10 services, you can use following commands in <command>bindctl</command>:
<command>b10-dhcp4</command> is a BIND 10 component and is being
run under BIND 10 framework. To add a DHCPv4 process to the set of running
BIND 10 services, you can use following commands in <command>bindctl</command>:
<screen>&gt; <userinput>config add Boss/components b10-dhcp4</userinput>
&gt; <userinput>config set Boss/components/b10-dhcp4/kind dispensable</userinput>
&gt; <userinput>config commit</userinput></screen></para>
......@@ -2790,19 +2796,19 @@ const std::string HARDCODED_SERVER_ID = "192.0.2.1";</screen>
<chapter id="dhcp6">
<title>DHCPv6 Server</title>
<para>Dynamic Host Configuration Protocol for IPv6 (DHCPv6) is
specified in RFC3315. BIND10 provides DHCPv6 server implementation
specified in RFC3315. BIND 10 provides DHCPv6 server implementation
that is described in this chapter. For a description of the DHCPv4
server implementation, see <xref linkend="dhcp4"/>.
</para>
<para>The DHCPv6 server component is currently under intense
development. You may want to check out <ulink
url="http://bind10.isc.org/wiki/Kea">BIND10 DHCP (Kea) wiki</ulink>
url="http://bind10.isc.org/wiki/Kea">BIND 10 DHCP (Kea) wiki</ulink>
and recent posts on <ulink
url="https://lists.isc.org/mailman/listinfo/bind10-dev">BIND10
url="https://lists.isc.org/mailman/listinfo/bind10-dev">BIND 10
developers mailing list</ulink>.</para>
<para>The DHCPv4 and DHCPv6 components in BIND10 architecture are
<para>The DHCPv4 and DHCPv6 components in BIND 10 architecture are
internally code named <quote>Kea</quote>.</para>
<note>
......@@ -2821,7 +2827,7 @@ const std::string HARDCODED_SERVER_ID = "192.0.2.1";</screen>
<section id="dhcp6-usage">
<title>DHCPv6 Server Usage</title>
<para>
BIND10 provides the DHCPv6 server component since September
BIND 10 provides the DHCPv6 server component since September
2011. It is a skeleton server and can be described as an early
prototype that is not fully functional yet. It is mature
enough to conduct first tests in lab environment, but it has
......@@ -2830,9 +2836,9 @@ const std::string HARDCODED_SERVER_ID = "192.0.2.1";</screen>
</para>
<para>
<command>b10-dhcp6</command> is a BIND10 component and is being
run under BIND10 framework. To add a DHCPv6 process to the set of running
BIND10 services, you can use following commands in <command>bindctl</command>:
<command>b10-dhcp6</command> is a BIND 10 component and is being
run under BIND 10 framework. To add a DHCPv6 process to the set of running
BIND 10 services, you can use following commands in <command>bindctl</command>:
<screen>&gt; <userinput>config add Boss/components b10-dhcp6</userinput>
&gt; <userinput>config set Boss/components/b10-dhcp6/kind dispensable</userinput>
&gt; <userinput>config commit</userinput></screen>
......@@ -2999,7 +3005,7 @@ const std::string HARDCODED_DNS_SERVER = "2001:db8:1::1";</screen>
<para>For non-Linux systems, there is currently stub
implementation provided. Interface manager detects loopback
interfaces only as their name (lo or lo0) can be easily predicted.
Please contact BIND10 development team if you are interested
Please contact the BIND 10 development team if you are interested
in running DHCP components on systems other than Linux.</para>
</section>
......
......@@ -5,3 +5,4 @@
/b10-auth
/spec_config.h
/spec_config.h.pre
/b10-auth.8
......@@ -114,6 +114,18 @@ private:
MessageRenderer& renderer_;
};
// Similar to Renderer holder, this is a very basic RAII-style class
// that calls clear(Message::PARSE) on the given Message upon destruction
class MessageHolder {
public:
MessageHolder(Message& message) : message_(message) {}
~MessageHolder() {
message_.clear(Message::PARSE);
}
private:
Message& message_;
};
// A helper container of socket session forwarder.
//
// This class provides a simple wrapper interface to SocketSessionForwarder
......@@ -344,6 +356,11 @@ public:
OutputBufferPtr buffer,
DNSServer* server) const
{
// Keep a holder on the message, so that it is automatically
// cleared if processMessage() is done
// This is not done in processMessage itself (which would be
// equivalent), to allow tests to inspect the message handling.
MessageHolder message_holder(*message);
server_->processMessage(io_message, *message, *buffer, server);
}
private:
......
......@@ -562,8 +562,7 @@ Query::reset() {
bool
Query::processDSAtChild() {
const ClientList::FindResult zresult =
client_list_->find(*qname_, true);
const ClientList::FindResult zresult = client_list_->find(*qname_, true);
if (zresult.dsrc_client_ == NULL) {
return (false);
......
......@@ -104,10 +104,6 @@ protected:
}
~AuthSrvTest() {
// Clear the message now; depending on the RTTI implementation,
// type information may be lost if the message is cleared
// automatically later, so as a precaution we do it now.
parse_message->clear(Message::PARSE);
server.destroyDDNSForwarder();
}
......@@ -833,6 +829,9 @@ TEST_F(AuthSrvTest, builtInQueryViaDNSServer) {
response_obuffer->getData(),
response_obuffer->getLength(),
&response_data[0], response_data.size());
// After it has been run, the message should be cleared
EXPECT_EQ(0, parse_message->getRRCount(Message::SECTION_QUESTION));
}
// In the following tests we confirm the response data is rendered in
......
/bind10
/bind10_src.py
/run_bind10.sh
/bind10.8
/bindctl
/bindctl_main.py
/run_bindctl.sh
/bindctl.1
/b10-cfgmgr
/b10-cfgmgr.py
/b10-cfgmgr.8
......@@ -3,3 +3,4 @@
/cmdctl.spec
/cmdctl.spec.pre
/run_b10-cmdctl.sh
/b10-cmdctl.8
/b10-dbutil
/dbutil.py
/run_dbutil.sh
/b10-dbutil.8
/b10-ddns
/ddns.py
/b10-ddns.8
/b10-dhcp4
/spec_config.h
/spec_config.h.pre
/b10-dhcp4.8
......@@ -8,3 +8,4 @@ b10-dhcp6
spec_config.h
spec_config.h.pre
tests/dhcp6_unittests
/b10-dhcp6.8
/b10-loadzone
/b10-loadzone.py
/run_loadzone.sh
/b10-loadzone.8
/b10-msgq
/msgq.py
/run_msgq.sh
/b10-msgq.8
......@@ -5,3 +5,4 @@
/resolver_messages.h
/spec_config.h
/spec_config.h.pre
/b10-resolver.8
/b10-sockcreator
/b10-sockcreator.8
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment