Commit 7ebd4f56 authored by Tomek Mrugalski's avatar Tomek Mrugalski 🛰
Browse files

[3417] "bind 10" => Kea converted in many .cc/.h files

parent 393e456b
......@@ -12,7 +12,7 @@
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
// host rewritten in C++ using BIND 10 DNS library
// host rewritten in C++ using Kea DNS library
#include <arpa/inet.h>
#include <netdb.h> // for getaddrinfo
......
......@@ -184,9 +184,9 @@ void ControlledDhcpv4Srv::init(const std::string& config_file) {
}
/// Integrate the asynchronous I/O model of BIND 10 configuration
/// control with the "select" model of the DHCP server. This is
/// fully explained in \ref dhcpv4Session.
/// Integrate the asynchronous I/O model of former BIND 10/Bundy
/// configuration control with the "select" model of the DHCP server.
/// This is fully explained in \ref dhcpv4Session.
int ctrl_socket = cc_session_->getSocketDesc();
LOG_DEBUG(dhcp4_logger, DBG_DHCP4_START, DHCP4_CCSESSION_STARTED)
.arg(ctrl_socket);
......
......@@ -310,13 +310,12 @@ Dhcpv4Srv::run() {
}
} catch (const isc::Exception& e) {
// Catch-all exception (at least for ones based on the isc
// Exception class, which covers more or less all that
// are explicitly raised in the BIND 10 code). Just log
// the problem and ignore the packet. (The problem is logged
// as a debug message because debug is disabled by default -
// it prevents a DDOS attack based on the sending of problem
// packets.)
// Catch-all exception (at least for ones based on the isc Exception
// class, which covers more or less all that are explicitly raised
// in the Kea code). Just log the problem and ignore the packet.
// (The problem is logged as a debug message because debug is
// disabled by default - it prevents a DDOS attack based on the
// sending of problem packets.)
if (dhcp4_logger.isDebugEnabled(DBG_DHCP4_BASIC)) {
std::string source = "unknown";
HWAddrPtr hwptr = query->getHWAddr();
......
......@@ -413,13 +413,12 @@ bool Dhcpv6Srv::run() {
} catch (const isc::Exception& e) {
// Catch-all exception (at least for ones based on the isc
// Exception class, which covers more or less all that
// are explicitly raised in the BIND 10 code). Just log
// the problem and ignore the packet. (The problem is logged
// as a debug message because debug is disabled by default -
// it prevents a DDOS attack based on the sending of problem
// packets.)
// Catch-all exception (at least for ones based on the isc Exception
// class, which covers more or less all that are explicitly raised
// in the Kea code). Just log the problem and ignore the packet.
// (The problem is logged as a debug message because debug is
// disabled by default - it prevents a DDOS attack based on the
// sending of problem packets.)
LOG_DEBUG(dhcp6_logger, DBG_DHCP6_BASIC, DHCP6_PACKET_PROCESS_FAIL)
.arg(query->getName())
.arg(query->getRemoteAddr().toText())
......
......@@ -191,7 +191,7 @@ public:
/// \brief Return the native \c io_service object used in this wrapper.
///
/// This is a short term work around to support other BIND 10 modules
/// This is a short term work around to support other Kea modules
/// that share the same \c io_service with the authoritative server.
/// It will eventually be removed once the wrapper interface is
/// generalized.
......
......@@ -310,7 +310,7 @@ TCPServer::resume(const bool done) {
done_ = done;
// post() can throw due to memory allocation failure, but as like other
// cases of the entire BIND 10 implementation, we consider it fatal and
// cases of the entire Kea implementation, we consider it fatal and
// let the exception be propagated.
io_.post(*this);
}
......
......@@ -35,7 +35,7 @@
/// The \c asiolink namespace is used to define a set of wrapper interfaces
/// for the ASIO library.
///
/// BIND 10 uses the non-Boost version of ASIO because it's header-only,
/// Kea uses the non-Boost version of ASIO because it's header-only,
/// i.e., does not require a separate library object to be linked, and thus
/// lowers the bar for introduction.
///
......@@ -49,7 +49,7 @@
/// of including header files, ASIO may or may not work on some platforms.
///
/// This wrapper interface is intended to centralize these
/// problematic issues in a single sub module. Other BIND 10 modules should
/// problematic issues in a single sub module. Other Kea modules should
/// simply include \c asiolink.h and use the wrapper API instead of
/// including ASIO header files and using ASIO-specific classes directly.
///
......
......@@ -167,7 +167,7 @@ public:
/// output stream \c os.
///
/// This method converts the address and port of the endpoint in the textual
/// format that other BIND 10 modules would use in logging, i.e.,
/// format that other Kea modules would use in logging, i.e.,
/// - For IPv6 address: [&lt;address&gt;]:port (e.g., [2001:db8::5300]:53)
/// - For IPv4 address: &lt;address&gt;:port (e.g., 192.0.2.53:5300)
///
......
......@@ -75,7 +75,7 @@ public:
/// \brief Return the native \c io_service object used in this wrapper.
///
/// This is a short term work around to support other BIND 10 modules
/// This is a short term work around to support other Kea modules
/// that share the same \c io_service with the authoritative server.
/// It will eventually be removed once the wrapper interface is
/// generalized.
......
......@@ -66,7 +66,7 @@ public:
/// \brief Return the native \c io_service object used in this wrapper.
///
/// This is a short term work around to support other BIND 10 modules
/// This is a short term work around to support other Kea modules
/// that share the same \c io_service with the authoritative server.
/// It will eventually be removed once the wrapper interface is
/// generalized.
......
......@@ -178,18 +178,22 @@ ConstElementPtr getValueOrDefault(ConstElementPtr config_part,
}
}
// Prefix name with "b10-".
//
// In BIND 10, modules have names taken from the .spec file, which are typically
// names starting with a capital letter (e.g. "Resolver", "Auth" etc.). The
// names of the associated binaries are derived from the module names, being
// prefixed "b10-" and having the first letter of the module name lower-cased
// (e.g. "b10-resolver", "b10-auth"). (It is a required convention that there
// be this relationship between the names.)
/// @brief Prefix name with "b10-".
///
/// In BIND 10, modules had names taken from the .spec file, which are typically
/// names starting with a capital letter (e.g. "Resolver", "Auth" etc.). The
/// names of the associated binaries are derived from the module names, being
/// prefixed "b10-" and having the first letter of the module name lower-cased
/// (e.g. "b10-resolver", "b10-auth"). (It is a required convention that there
/// be this relationship between the names.)
///
/// In Kea we're not using module names, but we do still keep some capability to
/// run Kea servers in Bundy framework. For that reason the whole discussion here
/// applies only to case when Kea is compiled with Bundy configuration backend.
//
// Within the binaries the root loggers are named after the binaries themselves.
// (The reason for this is that the name of the logger is included in the
// message logged, so making it clear which message comes from which BIND 10
// message logged, so making it clear which message comes from which Kea
// process.) As logging is configured using module names, the configuration code
// has to match these with the corresponding logger names. This function
// converts a module name to a root logger name by lowercasing the first letter
......
......@@ -350,7 +350,7 @@ TEST_F(CCSessionTest, session2) {
ConstElementPtr msg;
std::string group, to;
msg = session.getFirstMessage(group, to);
EXPECT_EQ("{ \"command\": [ \"module_spec\", { \"commands\": [ { \"command_args\": [ { \"item_default\": \"\", \"item_name\": \"message\", \"item_optional\": false, \"item_type\": \"string\" } ], \"command_description\": \"Print the given message to stdout\", \"command_name\": \"print_message\" }, { \"command_args\": [ ], \"command_description\": \"Shut down BIND 10\", \"command_name\": \"shutdown\" } ], \"config_data\": [ { \"item_default\": 1, \"item_name\": \"item1\", \"item_optional\": false, \"item_type\": \"integer\" }, { \"item_default\": 1.1, \"item_name\": \"item2\", \"item_optional\": false, \"item_type\": \"real\" }, { \"item_default\": true, \"item_name\": \"item3\", \"item_optional\": false, \"item_type\": \"boolean\" }, { \"item_default\": \"test\", \"item_name\": \"item4\", \"item_optional\": false, \"item_type\": \"string\" }, { \"item_default\": [ \"a\", \"b\" ], \"item_name\": \"item5\", \"item_optional\": false, \"item_type\": \"list\", \"list_item_spec\": { \"item_default\": \"\", \"item_name\": \"list_element\", \"item_optional\": false, \"item_type\": \"string\" } }, { \"item_default\": { }, \"item_name\": \"item6\", \"item_optional\": false, \"item_type\": \"map\", \"map_item_spec\": [ { \"item_default\": \"default\", \"item_name\": \"value1\", \"item_optional\": true, \"item_type\": \"string\" }, { \"item_name\": \"value2\", \"item_optional\": true, \"item_type\": \"integer\" } ] } ], \"module_name\": \"Spec2\", \"statistics\": [ { \"item_default\": \"1970-01-01T00:00:00Z\", \"item_description\": \"A dummy date time\", \"item_format\": \"date-time\", \"item_name\": \"dummy_time\", \"item_optional\": false, \"item_title\": \"Dummy Time\", \"item_type\": \"string\" } ] } ] }", msg->str());
EXPECT_EQ("{ \"command\": [ \"module_spec\", { \"commands\": [ { \"command_args\": [ { \"item_default\": \"\", \"item_name\": \"message\", \"item_optional\": false, \"item_type\": \"string\" } ], \"command_description\": \"Print the given message to stdout\", \"command_name\": \"print_message\" }, { \"command_args\": [ ], \"command_description\": \"Shut down Kea\", \"command_name\": \"shutdown\" } ], \"config_data\": [ { \"item_default\": 1, \"item_name\": \"item1\", \"item_optional\": false, \"item_type\": \"integer\" }, { \"item_default\": 1.1, \"item_name\": \"item2\", \"item_optional\": false, \"item_type\": \"real\" }, { \"item_default\": true, \"item_name\": \"item3\", \"item_optional\": false, \"item_type\": \"boolean\" }, { \"item_default\": \"test\", \"item_name\": \"item4\", \"item_optional\": false, \"item_type\": \"string\" }, { \"item_default\": [ \"a\", \"b\" ], \"item_name\": \"item5\", \"item_optional\": false, \"item_type\": \"list\", \"list_item_spec\": { \"item_default\": \"\", \"item_name\": \"list_element\", \"item_optional\": false, \"item_type\": \"string\" } }, { \"item_default\": { }, \"item_name\": \"item6\", \"item_optional\": false, \"item_type\": \"map\", \"map_item_spec\": [ { \"item_default\": \"default\", \"item_name\": \"value1\", \"item_optional\": true, \"item_type\": \"string\" }, { \"item_name\": \"value2\", \"item_optional\": true, \"item_type\": \"integer\" } ] } ], \"module_name\": \"Spec2\", \"statistics\": [ { \"item_default\": \"1970-01-01T00:00:00Z\", \"item_description\": \"A dummy date time\", \"item_format\": \"date-time\", \"item_name\": \"dummy_time\", \"item_optional\": false, \"item_title\": \"Dummy Time\", \"item_type\": \"string\" } ] } ] }", msg->str());
EXPECT_EQ("ConfigManager", group);
EXPECT_EQ("*", to);
EXPECT_EQ(0, session.getMsgQueue()->size());
......@@ -458,7 +458,7 @@ TEST_F(CCSessionTest, session3) {
ConstElementPtr msg;
std::string group, to;
msg = session.getFirstMessage(group, to);
EXPECT_EQ("{ \"command\": [ \"module_spec\", { \"commands\": [ { \"command_args\": [ { \"item_default\": \"\", \"item_name\": \"message\", \"item_optional\": false, \"item_type\": \"string\" } ], \"command_description\": \"Print the given message to stdout\", \"command_name\": \"print_message\" }, { \"command_args\": [ ], \"command_description\": \"Shut down BIND 10\", \"command_name\": \"shutdown\" } ], \"config_data\": [ { \"item_default\": 1, \"item_name\": \"item1\", \"item_optional\": false, \"item_type\": \"integer\" }, { \"item_default\": 1.1, \"item_name\": \"item2\", \"item_optional\": false, \"item_type\": \"real\" }, { \"item_default\": true, \"item_name\": \"item3\", \"item_optional\": false, \"item_type\": \"boolean\" }, { \"item_default\": \"test\", \"item_name\": \"item4\", \"item_optional\": false, \"item_type\": \"string\" }, { \"item_default\": [ \"a\", \"b\" ], \"item_name\": \"item5\", \"item_optional\": false, \"item_type\": \"list\", \"list_item_spec\": { \"item_default\": \"\", \"item_name\": \"list_element\", \"item_optional\": false, \"item_type\": \"string\" } }, { \"item_default\": { }, \"item_name\": \"item6\", \"item_optional\": false, \"item_type\": \"map\", \"map_item_spec\": [ { \"item_default\": \"default\", \"item_name\": \"value1\", \"item_optional\": true, \"item_type\": \"string\" }, { \"item_name\": \"value2\", \"item_optional\": true, \"item_type\": \"integer\" } ] } ], \"module_name\": \"Spec2\", \"statistics\": [ { \"item_default\": \"1970-01-01T00:00:00Z\", \"item_description\": \"A dummy date time\", \"item_format\": \"date-time\", \"item_name\": \"dummy_time\", \"item_optional\": false, \"item_title\": \"Dummy Time\", \"item_type\": \"string\" } ] } ] }", msg->str());
EXPECT_EQ("{ \"command\": [ \"module_spec\", { \"commands\": [ { \"command_args\": [ { \"item_default\": \"\", \"item_name\": \"message\", \"item_optional\": false, \"item_type\": \"string\" } ], \"command_description\": \"Print the given message to stdout\", \"command_name\": \"print_message\" }, { \"command_args\": [ ], \"command_description\": \"Shut down Kea\", \"command_name\": \"shutdown\" } ], \"config_data\": [ { \"item_default\": 1, \"item_name\": \"item1\", \"item_optional\": false, \"item_type\": \"integer\" }, { \"item_default\": 1.1, \"item_name\": \"item2\", \"item_optional\": false, \"item_type\": \"real\" }, { \"item_default\": true, \"item_name\": \"item3\", \"item_optional\": false, \"item_type\": \"boolean\" }, { \"item_default\": \"test\", \"item_name\": \"item4\", \"item_optional\": false, \"item_type\": \"string\" }, { \"item_default\": [ \"a\", \"b\" ], \"item_name\": \"item5\", \"item_optional\": false, \"item_type\": \"list\", \"list_item_spec\": { \"item_default\": \"\", \"item_name\": \"list_element\", \"item_optional\": false, \"item_type\": \"string\" } }, { \"item_default\": { }, \"item_name\": \"item6\", \"item_optional\": false, \"item_type\": \"map\", \"map_item_spec\": [ { \"item_default\": \"default\", \"item_name\": \"value1\", \"item_optional\": true, \"item_type\": \"string\" }, { \"item_name\": \"value2\", \"item_optional\": true, \"item_type\": \"integer\" } ] } ], \"module_name\": \"Spec2\", \"statistics\": [ { \"item_default\": \"1970-01-01T00:00:00Z\", \"item_description\": \"A dummy date time\", \"item_format\": \"date-time\", \"item_name\": \"dummy_time\", \"item_optional\": false, \"item_title\": \"Dummy Time\", \"item_type\": \"string\" } ] } ] }", msg->str());
EXPECT_EQ("ConfigManager", group);
EXPECT_EQ("*", to);
EXPECT_EQ(1, session.getMsgQueue()->size());
......
......@@ -58,7 +58,7 @@ TEST(ModuleSpec, ReadingSpecfiles) {
": No such file or directory");
dd = moduleSpecFromFile(specfile("spec2.spec"));
EXPECT_EQ("[ { \"command_args\": [ { \"item_default\": \"\", \"item_name\": \"message\", \"item_optional\": false, \"item_type\": \"string\" } ], \"command_description\": \"Print the given message to stdout\", \"command_name\": \"print_message\" }, { \"command_args\": [ ], \"command_description\": \"Shut down BIND 10\", \"command_name\": \"shutdown\" } ]", dd.getCommandsSpec()->str());
EXPECT_EQ("[ { \"command_args\": [ { \"item_default\": \"\", \"item_name\": \"message\", \"item_optional\": false, \"item_type\": \"string\" } ], \"command_description\": \"Print the given message to stdout\", \"command_name\": \"print_message\" }, { \"command_args\": [ ], \"command_description\": \"Shut down Kea\", \"command_name\": \"shutdown\" } ]", dd.getCommandsSpec()->str());
EXPECT_EQ("[ { \"item_default\": \"1970-01-01T00:00:00Z\", \"item_description\": \"A dummy date time\", \"item_format\": \"date-time\", \"item_name\": \"dummy_time\", \"item_optional\": false, \"item_title\": \"Dummy Time\", \"item_type\": \"string\" } ]", dd.getStatisticsSpec()->str());
EXPECT_EQ("Spec2", dd.getModuleName());
EXPECT_EQ("", dd.getModuleDescription());
......
......@@ -63,7 +63,7 @@
},
{
"command_name": "shutdown",
"command_description": "Shut down BIND 10",
"command_description": "Shut down Kea",
"command_args": []
}
],
......
......@@ -171,9 +171,9 @@ public:
/// @brief Version of parser with protected methods public
///
/// Some of the methods in DbAccessParser are not required to be public in
/// BIND 10. Instead of being declared "private", they are declared "protected"
/// so that they can be accessed through a derived class in the unit tests.
/// Some of the methods in DbAccessParser are not required to be public in Kea.
/// Instead of being declared "private", they are declared "protected" so that
/// they can be accessed through a derived class in the unit tests.
class TestDbAccessParser : public DbAccessParser {
public:
......
......@@ -606,7 +606,7 @@ public:
/// member function that could be implemented using other member functions.
/// We considered making it a non member function, but we could not come
/// up with an intuitive function name to represent the specific service.
/// Some other BIND 10 developers argued, probably partly because of the
/// Some other developers argued, probably partly because of the
/// counter intuitive function name, a different signature of \c split
/// would be better to improve code readability.
/// While that may be a matter of personal preference, we accepted the
......
......@@ -23,7 +23,7 @@
// library.
//
// Note: if it turns out that we need this shortcut for many other places
// we may even want to make it expose to other BIND 10 modules, but for now
// we may even want to make it expose to other Kea modules, but for now
// we'll keep it semi-private (note also that except for very performance
// sensitive applications the standard std::tolower() function should be just
// sufficient).
......
......@@ -438,12 +438,13 @@ public:
/// signatures for this RRset. It can be argued that this is not a
/// fundamental part of the RRset abstraction, since RFC 2181 defined an
/// RRset as a group of records with the same label, class and type but
/// different data. However, BIND 10 has to deal with DNSSEC and in
/// different data. However, BIND 10 had to deal with DNSSEC and in
/// practice, including the information at the AbstractRRset level makes
/// implementation easier. (If a class is ever needed that must be
/// ignorant of the idea of an associated RRSIG RRset - e.g. a specialised
/// RRSIG RRset class - these methods can just throw a "NotImplemented"
/// exception.)
/// exception.) DNSSEC is unlikely to be ever needed in Kea, but it does
/// not make sense to redesign the abstract RRSet class now.
//@{
/// \brief Return pointer to this RRset's RRSIG RRset
///
......
......@@ -41,7 +41,7 @@ public:
/// @brief Callout Manager
///
/// This class manages the registration, deregistration and execution of the
/// library callouts. It is part of the hooks framework used by the BIND 10
/// library callouts. It is part of the hooks framework used by the Kea
/// server, and is not for use by user-written code in a hooks library.
///
/// In operation, the class needs to know two items of data:
......
......@@ -39,9 +39,9 @@ typedef int (*unload_function_ptr)();
namespace isc {
namespace hooks {
/// @brief User-Library Initialization for Statically-Linked BIND 10
/// @brief User-Library Initialization for Statically-Linked Kea
///
/// If BIND 10 is statically-linked, a user-created hooks library will not be
/// If Kea is statically-linked, a user-created hooks library will not be
/// able to access symbols in it. In particular, it will not be able to access
/// singleton objects.
///
......@@ -49,20 +49,20 @@ namespace hooks {
/// a singleton ServerHooks object, hooks framework objects store a reference
/// to it when they are created. When the user library needs to register a
/// callout (which requires access to the ServerHooks information), it accesses
/// the ServerHooks object through a pointer passed from the BIND 10 image.
/// the ServerHooks object through a pointer passed from the Kea image.
///
/// The logging framework is more problematical. Here the code is partly
/// statically linked (the BIND 10 logging library) and partly shared (the
/// statically linked (the Kea logging library) and partly shared (the
/// log4cplus). The state of the former is not accessible to the user library,
/// but the state of the latter is. So within the user library, we need to
/// initialize the BIND 10 logging library but not initialize the log4cplus
/// initialize the Kea logging library but not initialize the log4cplus
/// code. Some of the initialization is done when the library is loaded, but
/// other parts are done at run-time.
///
/// This function - to be called by the user library code in its load() function
/// when running against a statically linked BIND 10 - initializes the BIND 10
/// when running against a statically linked Kea - initializes the Kea
/// logging library. In particular, it loads the message dictionary with the
/// text of the BIND 10 messages.
/// text of the Kea messages.
///
/// @note This means that the virtual address space is loaded with two copies
/// of the message dictionary. Depending on how the user libraries are linked,
......
Supports Markdown
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