BIND 10 master, updated. f04b17998eb9024b4801ac96eda3113abcbde74a [master]Merge remote-tracking branch 'origin/trac2945'

BIND 10 source code commits bind10-changes at lists.isc.org
Wed Jan 22 13:20:15 UTC 2014


The branch, master has been updated
       via  f04b17998eb9024b4801ac96eda3113abcbde74a (commit)
       via  bd923e85fd2f9bd6ad4dbfbbadae4fb43ff79210 (commit)
       via  99b7eba1c65fbf8c6c0f71fd2f930fd480fd0b03 (commit)
       via  660b35748eb0ed8efdc401639d3320854aea0ce5 (commit)
       via  82ebca7dc6224c1f884ca1f528026b716f4e4b8f (commit)
       via  93445f2e2a578c547adb2b9e5443468165636383 (commit)
      from  c45e92efcc01438ac68b523428ae03da43e168c3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f04b17998eb9024b4801ac96eda3113abcbde74a
Merge: c45e92e bd923e8
Author: Jeremy C. Reed <jreed at isc.org>
Date:   Wed Jan 22 07:19:36 2014 -0600

    [master]Merge remote-tracking branch 'origin/trac2945'
    
    merge in origin/trac2945 for some doxygen fixes

-----------------------------------------------------------------------

Summary of changes:
 src/bin/auth/auth_srv.cc                          |    2 +
 src/bin/auth/auth_srv.h                           |    2 +
 src/bin/dhcp4/ctrl_dhcp4_srv.h                    |    3 +-
 src/bin/dhcp6/ctrl_dhcp6_srv.h                    |    3 +-
 src/lib/asiolink/io_address.h                     |    4 +-
 src/lib/cc/session.h                              |    2 +-
 src/lib/config/config_data.h                      |    4 +-
 src/lib/datasrc/cache_config.h                    |    2 +-
 src/lib/datasrc/client_list.h                     |    2 +-
 src/lib/datasrc/memory/domaintree.h               |    4 +
 src/lib/datasrc/memory/rdataset.h                 |    2 +-
 src/lib/datasrc/memory/zone_table.h               |    2 -
 src/lib/datasrc/memory/zone_writer_local.h        |   95 +++++++++++++++++++++
 src/lib/datasrc/sqlite3_accessor.cc               |    1 +
 src/lib/datasrc/zone_finder.h                     |    6 +-
 src/lib/dhcpsrv/dbaccess_parser.h                 |    3 +-
 src/lib/dns/nsec3hash.h                           |    4 +-
 src/lib/log/interprocess/interprocess_sync_file.h |    2 +-
 src/lib/log/interprocess/interprocess_sync_null.h |    2 +-
 19 files changed, 125 insertions(+), 20 deletions(-)
 create mode 100644 src/lib/datasrc/memory/zone_writer_local.h

-----------------------------------------------------------------------
diff --git a/src/bin/auth/auth_srv.cc b/src/bin/auth/auth_srv.cc
index c0f9730..8dd74c7 100644
--- a/src/bin/auth/auth_srv.cc
+++ b/src/bin/auth/auth_srv.cc
@@ -297,6 +297,8 @@ public:
     ///
     /// \param server The DNSServer as passed to processMessage()
     /// \param message The response as constructed by processMessage()
+    /// \param stats_attrs Object to store message attributes in for use
+    ///                    with statistics
     /// \param done If true, it indicates there is a response.
     ///             this value will be passed to server->resume(bool)
     void resumeServer(isc::asiodns::DNSServer* server,
diff --git a/src/bin/auth/auth_srv.h b/src/bin/auth/auth_srv.h
index b8147e0..02d8798 100644
--- a/src/bin/auth/auth_srv.h
+++ b/src/bin/auth/auth_srv.h
@@ -104,6 +104,8 @@ public:
     /// process.  It's normally a reference to an xfr::XfroutClient object,
     /// but can refer to a local mock object for testing (or other
     /// experimental) purposes.
+    /// \param ddns_forwarder Forwarder to which DDNS UPDATE requests
+    ///                       are passed to
     AuthSrv(isc::xfr::AbstractXfroutClient& xfrout_client,
             isc::util::io::BaseSocketSessionForwarder& ddns_forwarder);
     ~AuthSrv();
diff --git a/src/bin/dhcp4/ctrl_dhcp4_srv.h b/src/bin/dhcp4/ctrl_dhcp4_srv.h
index ce2a753..59dde87 100644
--- a/src/bin/dhcp4/ctrl_dhcp4_srv.h
+++ b/src/bin/dhcp4/ctrl_dhcp4_srv.h
@@ -107,7 +107,8 @@ protected:
     /// various configuration values. Installing the dummy handler
     /// that guarantees to return success causes initial configuration
     /// to be stored for the session being created and that it can
-    /// be later accessed with \ref isc::config::ConfigData::getFullConfig.
+    /// be later accessed with
+    /// \ref isc::config::ConfigData::getFullConfig().
     ///
     /// @param new_config new configuration.
     ///
diff --git a/src/bin/dhcp6/ctrl_dhcp6_srv.h b/src/bin/dhcp6/ctrl_dhcp6_srv.h
index 2fb6cc9..62c1813 100644
--- a/src/bin/dhcp6/ctrl_dhcp6_srv.h
+++ b/src/bin/dhcp6/ctrl_dhcp6_srv.h
@@ -105,7 +105,8 @@ protected:
     /// various configuration values. Installing the dummy handler
     /// that guarantees to return success causes initial configuration
     /// to be stored for the session being created and that it can
-    /// be later accessed with \ref isc::config::ConfigData::getFullConfig.
+    /// be later accessed with
+    /// \ref isc::config::ConfigData::getFullConfig().
     ///
     /// @param new_config new configuration.
     ///
diff --git a/src/lib/asiolink/io_address.h b/src/lib/asiolink/io_address.h
index 8b18bf6..53edb35 100644
--- a/src/lib/asiolink/io_address.h
+++ b/src/lib/asiolink/io_address.h
@@ -196,7 +196,7 @@ public:
     ///
     /// \param other Address to compare against.
     ///
-    /// See \ref smaller_than method for details.
+    /// See \ref lessThan method for details.
     bool operator<(const IOAddress& other) const {
         return (lessThan(other));
     }
@@ -205,7 +205,7 @@ public:
     ///
     /// \param other Address to compare against.
     ///
-    /// See \ref smaller_equal method for details.
+    /// See \ref smallerEqual method for details.
     bool operator<=(const IOAddress& other) const {
         return (smallerEqual(other));
     }
diff --git a/src/lib/cc/session.h b/src/lib/cc/session.h
index 63bb41c..e9a3375 100644
--- a/src/lib/cc/session.h
+++ b/src/lib/cc/session.h
@@ -163,7 +163,7 @@ namespace isc {
 
             /// @brief returns socket descriptor from underlying socket connection
             ///
-            /// @param returns socket descriptor used for session connection
+            /// @return socket descriptor used for session connection
             virtual int getSocketDesc() const;
     private:
             // The following two methods are virtual to allow tests steal and
diff --git a/src/lib/config/config_data.h b/src/lib/config/config_data.h
index bcc97de..7900aa9 100644
--- a/src/lib/config/config_data.h
+++ b/src/lib/config/config_data.h
@@ -110,8 +110,8 @@ public:
     isc::data::ConstElementPtr getItemList(const std::string& identifier = "",
                                            bool recurse = false) const;
 
-    /// Returns a map of the top-level configuration items, as currently
-    /// set or their defaults
+    /// \brief Returns a map of the top-level configuration items, as
+    /// currently set or their defaults.
     ///
     /// \return An ElementPtr pointing to a MapElement containing
     ///         the top-level configuration items
diff --git a/src/lib/datasrc/cache_config.h b/src/lib/datasrc/cache_config.h
index c221066..cfcdc7b 100644
--- a/src/lib/datasrc/cache_config.h
+++ b/src/lib/datasrc/cache_config.h
@@ -170,7 +170,7 @@ public:
     /// \param zone_name The origin name of the zone
     /// \return A \c LoadAction functor to load zone data or an empty functor
     /// (see above).
-    memory::LoadAction getLoadAction(const dns::RRClass& rrlcass,
+    memory::LoadAction getLoadAction(const dns::RRClass& rrclass,
                                      const dns::Name& zone_name) const;
 
     /// \brief Read only iterator type over configured cached zones.
diff --git a/src/lib/datasrc/client_list.h b/src/lib/datasrc/client_list.h
index 77c2fd5..31cb6c2 100644
--- a/src/lib/datasrc/client_list.h
+++ b/src/lib/datasrc/client_list.h
@@ -316,7 +316,7 @@ typedef boost::shared_ptr<ClientList> ClientListPtr;
 typedef boost::shared_ptr<const ClientList> ConstClientListPtr;
 
 /// \brief Concrete implementation of the ClientList, which is constructed
-/// based on configuration.
+///     based on configuration.
 ///
 /// This is the implementation which is expected to be used in the servers.
 /// However, it is expected most of the code will use it as the ClientList,
diff --git a/src/lib/datasrc/memory/domaintree.h b/src/lib/datasrc/memory/domaintree.h
index 05d9795..f309e4a 100644
--- a/src/lib/datasrc/memory/domaintree.h
+++ b/src/lib/datasrc/memory/domaintree.h
@@ -1206,6 +1206,10 @@ public:
     ///
     /// \param mem_sgmt A \c MemorySegment from which memory for the new
     /// \c DomainTree is allocated.
+    /// \param return_empty_node Whether \c find() on this tree should
+    ///                          return empty nodes (which contain no
+    ///                          data). If it's \c true, \c find() will
+    ///                          match and return empty nodes.
     static DomainTree* create(util::MemorySegment& mem_sgmt,
                               bool return_empty_node = false)
     {
diff --git a/src/lib/datasrc/memory/rdataset.h b/src/lib/datasrc/memory/rdataset.h
index bd93781..a30ec05 100644
--- a/src/lib/datasrc/memory/rdataset.h
+++ b/src/lib/datasrc/memory/rdataset.h
@@ -300,7 +300,7 @@ public:
     /// needs to be extended, unless there's a reason other than simply
     /// because it's already a member function.
     ///
-    /// \param rdata_head A pointer to \c RdataSet from which the search
+    /// \param rdataset_head A pointer to \c RdataSet from which the search
     /// starts.  It can be NULL.
     /// \param type The RRType of \c RdataSet to find.
     /// \param sigonly_ok Whether it should find an RdataSet that only has
diff --git a/src/lib/datasrc/memory/zone_table.h b/src/lib/datasrc/memory/zone_table.h
index 6bad516..dd1c721 100644
--- a/src/lib/datasrc/memory/zone_table.h
+++ b/src/lib/datasrc/memory/zone_table.h
@@ -146,8 +146,6 @@ public:
     ///
     /// \param mem_sgmt The \c MemorySegment that allocated memory for
     /// \c ztable and used for prior calls to \c addZone().
-    /// \param zone_class The RR class of the zone.  It must be the RR class
-    /// that is supposed to be associated to the zone table.
     /// \param ztable A non NULL pointer to a valid \c ZoneTable object
     /// that was originally created by the \c create() method (the behavior
     /// is undefined if this condition isn't met).
diff --git a/src/lib/datasrc/memory/zone_writer_local.h b/src/lib/datasrc/memory/zone_writer_local.h
new file mode 100644
index 0000000..e387433
--- /dev/null
+++ b/src/lib/datasrc/memory/zone_writer_local.h
@@ -0,0 +1,95 @@
+// Copyright (C) 2012  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
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+// PERFORMANCE OF THIS SOFTWARE.
+
+#ifndef MEM_ZONE_WRITER_LOCAL_H
+#define MEM_ZONE_WRITER_LOCAL_H
+
+#include "zone_writer.h"
+
+#include <dns/rrclass.h>
+#include <dns/name.h>
+
+namespace isc {
+namespace datasrc {
+namespace memory {
+
+class ZoneData;
+class ZoneTableSegmentLocal;
+
+/// \brief Writer implementation which loads data locally.
+///
+/// This implementation prepares a clean zone data and lets one callback
+/// to fill it and another to install it somewhere. The class does mostly
+/// nothing (and delegates the work to the callbacks), just stores little bit
+/// of state between the calls.
+class ZoneWriterLocal : public ZoneWriter {
+public:
+    /// \brief Constructor
+    ///
+    /// \param segment The zone table segment to store the zone into.
+    /// \param load_action The callback used to load data.
+    /// \param origin The origin of the zone.
+    /// \param rrclass The class of the zone.
+    ZoneWriterLocal(ZoneTableSegmentLocal* segment,
+                    const LoadAction& load_action, const dns::Name& origin,
+                    const dns::RRClass& rrclass);
+
+    /// \brief Destructor
+    ~ZoneWriterLocal();
+
+    /// \brief Loads the data.
+    ///
+    /// This calls the load_action (passed to constructor) and stores the
+    /// data for future use.
+    ///
+    /// \throw isc::InvalidOperation if it is called the second time in
+    ///     lifetime of the object.
+    /// \throw Whatever the load_action throws, it is propagated up.
+    virtual void load();
+
+    /// \brief Installs the zone.
+    ///
+    /// It modifies the zone table accessible through the segment (passed to
+    /// constructor).
+    ///
+    /// \throw isc::InvalidOperation if it is called the second time in
+    ///     lifetime of the object or if load() was not called previously or if
+    ///     cleanup() was already called.
+    virtual void install();
+
+    /// \brief Clean up memory.
+    ///
+    /// Cleans up the memory used by load()ed zone if not yet installed, or
+    /// the old zone replaced by install().
+    virtual void cleanup();
+private:
+    ZoneTableSegmentLocal* segment_;
+    LoadAction load_action_;
+    dns::Name origin_;
+    dns::RRClass rrclass_;
+    ZoneData* zone_data_;
+    enum State {
+        ZW_UNUSED,
+        ZW_LOADED,
+        ZW_INSTALLED,
+        ZW_CLEANED
+    };
+    State state_;
+};
+
+}
+}
+}
+
+#endif
diff --git a/src/lib/datasrc/sqlite3_accessor.cc b/src/lib/datasrc/sqlite3_accessor.cc
index 8fec5c3..02b55e9 100644
--- a/src/lib/datasrc/sqlite3_accessor.cc
+++ b/src/lib/datasrc/sqlite3_accessor.cc
@@ -904,6 +904,7 @@ public:
     /// sequence.  Note that because of serial number rollover, it may well
     /// be that the start serial number is greater than the end one.
     ///
+    /// \param accessor The accessor to the database to use to get data.
     /// \param zone_id ID of the zone (in the zone table)
     /// \param start Serial number of first version in difference sequence
     /// \param end Serial number of last version in difference sequence
diff --git a/src/lib/datasrc/zone_finder.h b/src/lib/datasrc/zone_finder.h
index 83851f6..13fccc5 100644
--- a/src/lib/datasrc/zone_finder.h
+++ b/src/lib/datasrc/zone_finder.h
@@ -648,10 +648,10 @@ public:
     /// proofs, wildcard information etc. The options parameter works the
     /// same way and it should conform to the same exception restrictions.
     ///
-    /// \param name \see find, parameter name
+    /// \param name see find(), parameter name
     /// \param target the successfull result is returned through this
-    /// \param options \see find, parameter options
-    /// \return \see find and it's result
+    /// \param options see find(), parameter options
+    /// \return see find() and its result
     virtual boost::shared_ptr<Context> findAll(
         const isc::dns::Name& name,
         std::vector<isc::dns::ConstRRsetPtr> &target,
diff --git a/src/lib/dhcpsrv/dbaccess_parser.h b/src/lib/dhcpsrv/dbaccess_parser.h
index 35d72ff..77c9845 100644
--- a/src/lib/dhcpsrv/dbaccess_parser.h
+++ b/src/lib/dhcpsrv/dbaccess_parser.h
@@ -94,7 +94,8 @@ public:
     ///
     /// Creates an instance of this parser.
     ///
-    /// @param param_name Name of the parameter used to access the configuration.
+    /// @param param_name Name of the parameter used to access the
+    /// 	configuration.
     ///
     /// @return Pointer to a DbAccessParser.  The caller is responsible for
     ///         destroying the parser after use.
diff --git a/src/lib/dns/nsec3hash.h b/src/lib/dns/nsec3hash.h
index f1ca1a3..42b5117 100644
--- a/src/lib/dns/nsec3hash.h
+++ b/src/lib/dns/nsec3hash.h
@@ -122,7 +122,7 @@ public:
     ///                  (SHA-1) is supported
     /// \param iterations the number of iterations
     /// \param salt_data the salt data as a byte array
-    /// \param salt_data_length the length of the salt data
+    /// \param salt_length the length of the salt data
     static NSEC3Hash* create(uint8_t algorithm, uint16_t iterations,
                              const uint8_t* salt_data, size_t salt_length);
 
@@ -233,7 +233,7 @@ public:
     ///                  (SHA-1) is supported
     /// \param iterations the number of iterations
     /// \param salt_data the salt data as a byte array
-    /// \param salt_data_length the length of the salt data
+    /// \param salt_length the length of the salt data
     virtual NSEC3Hash* create(uint8_t algorithm, uint16_t iterations,
                               const uint8_t* salt_data, size_t salt_length)
         const = 0;
diff --git a/src/lib/log/interprocess/interprocess_sync_file.h b/src/lib/log/interprocess/interprocess_sync_file.h
index cb07003..454cd8b 100644
--- a/src/lib/log/interprocess/interprocess_sync_file.h
+++ b/src/lib/log/interprocess/interprocess_sync_file.h
@@ -53,7 +53,7 @@ public:
     ///
     /// Creates a file-based interprocess synchronization object
     ///
-    /// \param name Name of the synchronization task. This has to be
+    /// \param task_name Name of the synchronization task. This has to be
     /// identical among the various processes that need to be
     /// synchronized for the same task.
     InterprocessSyncFile(const std::string& task_name) :
diff --git a/src/lib/log/interprocess/interprocess_sync_null.h b/src/lib/log/interprocess/interprocess_sync_null.h
index 41dab50..f046f79 100644
--- a/src/lib/log/interprocess/interprocess_sync_null.h
+++ b/src/lib/log/interprocess/interprocess_sync_null.h
@@ -32,7 +32,7 @@ public:
     ///
     /// Creates a null interprocess synchronization object
     ///
-    /// \param name Name of the synchronization task. This has to be
+    /// \param task_name Name of the synchronization task. This has to be
     /// identical among the various processes that need to be
     /// synchronized for the same task.
     InterprocessSyncNull(const std::string& task_name) :



More information about the bind10-changes mailing list