BIND 10 trac1130, updated. 822a00aee0d7feb845e28dad7dccb552d10d83db [trac1130] Move naptr rrdata from in_1 to rdata/generic
BIND 10 source code commits
bind10-changes at lists.isc.org
Thu Aug 11 03:26:45 UTC 2011
The branch, trac1130 has been updated
via 822a00aee0d7feb845e28dad7dccb552d10d83db (commit)
from 52357dbe51bd015119a798a4f8e7244a3e1efda4 (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 822a00aee0d7feb845e28dad7dccb552d10d83db
Author: Ocean Wang <wanghaidong at cnnic.cn>
Date: Thu Aug 11 11:25:55 2011 +0800
[trac1130] Move naptr rrdata from in_1 to rdata/generic
-----------------------------------------------------------------------
Summary of changes:
src/lib/dns/rdata/{in_1 => generic}/naptr_35.cc | 0
src/lib/dns/rdata/{in_1 => generic}/naptr_35.h | 0
src/lib/dns/tests/Makefile.am | 2 +-
src/lib/dns/tests/rdata_in_naptr_unittest.cc | 159 -----------------------
4 files changed, 1 insertions(+), 160 deletions(-)
rename src/lib/dns/rdata/{in_1 => generic}/naptr_35.cc (100%)
rename src/lib/dns/rdata/{in_1 => generic}/naptr_35.h (100%)
delete mode 100644 src/lib/dns/tests/rdata_in_naptr_unittest.cc
-----------------------------------------------------------------------
diff --git a/src/lib/dns/rdata/generic/naptr_35.cc b/src/lib/dns/rdata/generic/naptr_35.cc
new file mode 100644
index 0000000..72a191e
--- /dev/null
+++ b/src/lib/dns/rdata/generic/naptr_35.cc
@@ -0,0 +1,276 @@
+// Copyright (C) 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
+// 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.
+
+#include <config.h>
+
+#include <string>
+
+#include <boost/lexical_cast.hpp>
+
+#include <exceptions/exceptions.h>
+
+#include <dns/name.h>
+#include <dns/messagerenderer.h>
+#include <dns/rdata.h>
+#include <dns/rdataclass.h>
+
+using namespace std;
+using namespace boost;
+using namespace isc::util;
+
+// BEGIN_ISC_NAMESPACE
+// BEGIN_RDATA_NAMESPACE
+
+NAPTR::NAPTR(InputBuffer& buffer, size_t len):
+ replacement_(".")
+{
+ order_ = buffer.readUint16();
+ preference_ = buffer.readUint16();
+
+ flags_ = getNextCharacterString(buffer, len);
+ services_ = getNextCharacterString(buffer, len);
+ regexp_ = getNextCharacterString(buffer, len);
+ replacement_ = Name(buffer);
+}
+
+NAPTR::NAPTR(const std::string& naptr_str):
+ replacement_(".")
+{
+ istringstream iss(naptr_str);
+ uint16_t order;
+ uint16_t preference;
+
+ iss >> order >> preference;
+
+ if (iss.bad() || iss.fail()) {
+ isc_throw(InvalidRdataText, "Invalid NAPTR text format");
+ }
+
+ order_ = order;
+ preference_ = preference;
+
+ string::const_iterator input_iterator = naptr_str.begin() + iss.tellg();
+ flags_ = getNextCharacterString(naptr_str, input_iterator);
+
+ services_ = getNextCharacterString(naptr_str, input_iterator);
+
+ regexp_ = getNextCharacterString(naptr_str, input_iterator);
+
+ skipLeftSpaces(naptr_str, input_iterator);
+
+ if (input_iterator < naptr_str.end()) {
+ string replacementStr(input_iterator, naptr_str.end());
+
+ replacement_ = Name(replacementStr);
+ } else {
+ isc_throw(InvalidRdataText, "Invalid NAPTR text format");
+ }
+}
+
+NAPTR::NAPTR(const NAPTR& naptr):
+ Rdata(), order_(naptr.order_), preference_(naptr.preference_),
+ flags_(naptr.flags_), services_(naptr.services_), regexp_(naptr.regexp_),
+ replacement_(naptr.replacement_)
+{
+}
+
+void
+NAPTR::toWire(OutputBuffer& buffer) const {
+ buffer.writeUint16(order_);
+ buffer.writeUint16(preference_);
+
+ buffer.writeUint8(flags_.size());
+ buffer.writeData(flags_.c_str(), flags_.size());
+
+ buffer.writeUint8(services_.size());
+ buffer.writeData(services_.c_str(), services_.size());
+
+ buffer.writeUint8(regexp_.size());
+ buffer.writeData(regexp_.c_str(), regexp_.size());
+
+ replacement_.toWire(buffer);
+}
+
+void
+NAPTR::toWire(AbstractMessageRenderer& renderer) const {
+ renderer.writeUint16(order_);
+ renderer.writeUint16(preference_);
+
+ renderer.writeUint8(flags_.size());
+ renderer.writeData(flags_.c_str(), flags_.size());
+
+ renderer.writeUint8(services_.size());
+ renderer.writeData(services_.c_str(), services_.size());
+
+ renderer.writeUint8(regexp_.size());
+ renderer.writeData(regexp_.c_str(), regexp_.size());
+
+ replacement_.toWire(renderer);
+}
+
+string
+NAPTR::toText() const {
+ string result;
+ result += lexical_cast<string>(order_);
+ result += " ";
+ result += lexical_cast<string>(preference_);
+ result += " \"";
+ result += flags_;
+ result += "\" \"";
+ result += services_;
+ result += "\" \"";
+ result += regexp_;
+ result += "\" ";
+ result += replacement_.toText();
+ return (result);
+}
+
+int
+NAPTR::compare(const Rdata& other) const {
+ const NAPTR other_naptr = dynamic_cast<const NAPTR&>(other);
+
+ if (order_ < other_naptr.order_) {
+ return (-1);
+ } else if (order_ > other_naptr.order_) {
+ return (1);
+ }
+
+ if (preference_ < other_naptr.preference_) {
+ return (-1);
+ } else if (preference_ > other_naptr.preference_) {
+ return (1);
+ }
+
+ if (flags_ < other_naptr.flags_) {
+ return (-1);
+ } else if (flags_ > other_naptr.flags_) {
+ return (1);
+ }
+
+ if (services_ < other_naptr.services_) {
+ return (-1);
+ } else if (services_ > other_naptr.services_) {
+ return (1);
+ }
+
+ if (regexp_ < other_naptr.regexp_) {
+ return (-1);
+ } else if (regexp_ > other_naptr.regexp_) {
+ return (1);
+ }
+
+ return (compareNames(replacement_, other_naptr.replacement_));
+}
+
+uint16_t
+NAPTR::getOrder() const {
+ return (order_);
+}
+
+uint16_t
+NAPTR::getPreference() const {
+ return (preference_);
+}
+
+const std::string&
+NAPTR::getFlags() const {
+ return (flags_);
+}
+
+const std::string&
+NAPTR::getServices() const {
+ return (services_);
+}
+
+const std::string&
+NAPTR::getRegexp() const {
+ return (regexp_);
+}
+
+const Name&
+NAPTR::getReplacement() const {
+ return (replacement_);
+}
+
+std::string
+NAPTR::getNextCharacterString(const std::string& input_str,
+ std::string::const_iterator& input_iterator)
+{
+ string result;
+
+ skipLeftSpaces(input_str, input_iterator);
+
+ // If the input string only contains white-spaces, it is an invalid
+ // <character-string>
+ if (input_iterator >= input_str.end()) {
+ isc_throw(InvalidRdataText, "Invalid NAPTR text format");
+ }
+
+ // Whether the <character-string> is seperated with doulble quotes symbol(")
+ bool quotes_seperated = (*input_iterator == '"');
+
+ if (quotes_seperated) {
+ ++input_iterator;
+ }
+
+ while(input_iterator < input_str.end()){
+ if (quotes_seperated) {
+ // If the <character-string> is seperated with quotes symbol and
+ // another quotes symbol is encountered, it is the end of the
+ // <character-string>
+ if (*input_iterator == '"') {
+ ++input_iterator;
+ break;
+ }
+ } else if (*input_iterator == ' ') {
+ // If the <character-string> is not seperated with quotes symbol,
+ // it is seperated with <space> char
+ ++input_iterator;
+ break;
+ }
+
+ result.push_back(*input_iterator);
+
+ ++input_iterator;
+ }
+
+ return (result);
+}
+
+std::string
+NAPTR::getNextCharacterString(InputBuffer& buffer, size_t len) {
+ uint8_t str_len = buffer.readUint8();
+
+ size_t pos = buffer.getPosition();
+ if (len - pos < str_len) {
+ isc_throw(InvalidRdataLength, "Invalid NAPTR string length");
+ }
+
+ uint8_t buf[MAX_CHARSTRING_LEN];
+ buffer.readData(buf, str_len);
+ return (string(buf, buf + str_len));
+}
+
+void
+NAPTR::skipLeftSpaces(const std::string& input_str,
+ std::string::const_iterator& input_iterator)
+{
+ // Skip white spaces
+ while (input_iterator < input_str.end() && isspace(*input_iterator)) {
+ ++input_iterator;
+ }
+}
+
+// END_RDATA_NAMESPACE
+// END_ISC_NAMESPACE
diff --git a/src/lib/dns/rdata/generic/naptr_35.h b/src/lib/dns/rdata/generic/naptr_35.h
new file mode 100644
index 0000000..fa93c14
--- /dev/null
+++ b/src/lib/dns/rdata/generic/naptr_35.h
@@ -0,0 +1,78 @@
+// Copyright (C) 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
+// 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.
+
+// BEGIN_HEADER_GUARD
+
+#include <string>
+
+#include <dns/name.h>
+#include <dns/rdata.h>
+#include <util/buffer.h>
+
+// BEGIN_ISC_NAMESPACE
+
+// BEGIN_COMMON_DECLARATIONS
+// END_COMMON_DECLARATIONS
+
+// BEGIN_RDATA_NAMESPACE
+
+class NAPTR : public Rdata {
+public:
+ // BEGIN_COMMON_MEMBERS
+ // END_COMMON_MEMBERS
+
+ // NAPTR specific methods
+ uint16_t getOrder() const;
+ uint16_t getPreference() const;
+ const std::string& getFlags() const;
+ const std::string& getServices() const;
+ const std::string& getRegexp() const;
+ const Name& getReplacement() const;
+private:
+ /// Get a <character-string> from a string
+ ///
+ /// \param input_str The input string
+ /// \param input_iterator The iterator from which to start extracting, the iterator will be updated
+ /// to new position after the function is returned
+ /// \return A std::string that contains the extracted <character-string>
+ std::string getNextCharacterString(const std::string& input_str, std::string::const_iterator& input_iterator);
+
+ /// Get a <character-string> from a input buffer
+ ///
+ /// \param buffer The input buffer
+ /// \param len The input buffer total length
+ /// \return A std::string that contains the extracted <character-string>
+ std::string getNextCharacterString(util::InputBuffer& buffer, size_t len);
+
+ /// Skip the left whitespaces of the input string
+ ///
+ /// \param input_str The input string
+ /// \param input_iterator From which the skipping started
+ void skipLeftSpaces(const std::string& input_str, std::string::const_iterator& input_iterator);
+
+ uint16_t order_;
+ uint16_t preference_;
+ std::string flags_;
+ std::string services_;
+ std::string regexp_;
+ Name replacement_;
+};
+
+// END_RDATA_NAMESPACE
+// END_ISC_NAMESPACE
+// END_HEADER_GUARD
+
+// Local Variables:
+// mode: c++
+// End:
diff --git a/src/lib/dns/rdata/in_1/naptr_35.cc b/src/lib/dns/rdata/in_1/naptr_35.cc
deleted file mode 100644
index 72a191e..0000000
--- a/src/lib/dns/rdata/in_1/naptr_35.cc
+++ /dev/null
@@ -1,276 +0,0 @@
-// Copyright (C) 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
-// 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.
-
-#include <config.h>
-
-#include <string>
-
-#include <boost/lexical_cast.hpp>
-
-#include <exceptions/exceptions.h>
-
-#include <dns/name.h>
-#include <dns/messagerenderer.h>
-#include <dns/rdata.h>
-#include <dns/rdataclass.h>
-
-using namespace std;
-using namespace boost;
-using namespace isc::util;
-
-// BEGIN_ISC_NAMESPACE
-// BEGIN_RDATA_NAMESPACE
-
-NAPTR::NAPTR(InputBuffer& buffer, size_t len):
- replacement_(".")
-{
- order_ = buffer.readUint16();
- preference_ = buffer.readUint16();
-
- flags_ = getNextCharacterString(buffer, len);
- services_ = getNextCharacterString(buffer, len);
- regexp_ = getNextCharacterString(buffer, len);
- replacement_ = Name(buffer);
-}
-
-NAPTR::NAPTR(const std::string& naptr_str):
- replacement_(".")
-{
- istringstream iss(naptr_str);
- uint16_t order;
- uint16_t preference;
-
- iss >> order >> preference;
-
- if (iss.bad() || iss.fail()) {
- isc_throw(InvalidRdataText, "Invalid NAPTR text format");
- }
-
- order_ = order;
- preference_ = preference;
-
- string::const_iterator input_iterator = naptr_str.begin() + iss.tellg();
- flags_ = getNextCharacterString(naptr_str, input_iterator);
-
- services_ = getNextCharacterString(naptr_str, input_iterator);
-
- regexp_ = getNextCharacterString(naptr_str, input_iterator);
-
- skipLeftSpaces(naptr_str, input_iterator);
-
- if (input_iterator < naptr_str.end()) {
- string replacementStr(input_iterator, naptr_str.end());
-
- replacement_ = Name(replacementStr);
- } else {
- isc_throw(InvalidRdataText, "Invalid NAPTR text format");
- }
-}
-
-NAPTR::NAPTR(const NAPTR& naptr):
- Rdata(), order_(naptr.order_), preference_(naptr.preference_),
- flags_(naptr.flags_), services_(naptr.services_), regexp_(naptr.regexp_),
- replacement_(naptr.replacement_)
-{
-}
-
-void
-NAPTR::toWire(OutputBuffer& buffer) const {
- buffer.writeUint16(order_);
- buffer.writeUint16(preference_);
-
- buffer.writeUint8(flags_.size());
- buffer.writeData(flags_.c_str(), flags_.size());
-
- buffer.writeUint8(services_.size());
- buffer.writeData(services_.c_str(), services_.size());
-
- buffer.writeUint8(regexp_.size());
- buffer.writeData(regexp_.c_str(), regexp_.size());
-
- replacement_.toWire(buffer);
-}
-
-void
-NAPTR::toWire(AbstractMessageRenderer& renderer) const {
- renderer.writeUint16(order_);
- renderer.writeUint16(preference_);
-
- renderer.writeUint8(flags_.size());
- renderer.writeData(flags_.c_str(), flags_.size());
-
- renderer.writeUint8(services_.size());
- renderer.writeData(services_.c_str(), services_.size());
-
- renderer.writeUint8(regexp_.size());
- renderer.writeData(regexp_.c_str(), regexp_.size());
-
- replacement_.toWire(renderer);
-}
-
-string
-NAPTR::toText() const {
- string result;
- result += lexical_cast<string>(order_);
- result += " ";
- result += lexical_cast<string>(preference_);
- result += " \"";
- result += flags_;
- result += "\" \"";
- result += services_;
- result += "\" \"";
- result += regexp_;
- result += "\" ";
- result += replacement_.toText();
- return (result);
-}
-
-int
-NAPTR::compare(const Rdata& other) const {
- const NAPTR other_naptr = dynamic_cast<const NAPTR&>(other);
-
- if (order_ < other_naptr.order_) {
- return (-1);
- } else if (order_ > other_naptr.order_) {
- return (1);
- }
-
- if (preference_ < other_naptr.preference_) {
- return (-1);
- } else if (preference_ > other_naptr.preference_) {
- return (1);
- }
-
- if (flags_ < other_naptr.flags_) {
- return (-1);
- } else if (flags_ > other_naptr.flags_) {
- return (1);
- }
-
- if (services_ < other_naptr.services_) {
- return (-1);
- } else if (services_ > other_naptr.services_) {
- return (1);
- }
-
- if (regexp_ < other_naptr.regexp_) {
- return (-1);
- } else if (regexp_ > other_naptr.regexp_) {
- return (1);
- }
-
- return (compareNames(replacement_, other_naptr.replacement_));
-}
-
-uint16_t
-NAPTR::getOrder() const {
- return (order_);
-}
-
-uint16_t
-NAPTR::getPreference() const {
- return (preference_);
-}
-
-const std::string&
-NAPTR::getFlags() const {
- return (flags_);
-}
-
-const std::string&
-NAPTR::getServices() const {
- return (services_);
-}
-
-const std::string&
-NAPTR::getRegexp() const {
- return (regexp_);
-}
-
-const Name&
-NAPTR::getReplacement() const {
- return (replacement_);
-}
-
-std::string
-NAPTR::getNextCharacterString(const std::string& input_str,
- std::string::const_iterator& input_iterator)
-{
- string result;
-
- skipLeftSpaces(input_str, input_iterator);
-
- // If the input string only contains white-spaces, it is an invalid
- // <character-string>
- if (input_iterator >= input_str.end()) {
- isc_throw(InvalidRdataText, "Invalid NAPTR text format");
- }
-
- // Whether the <character-string> is seperated with doulble quotes symbol(")
- bool quotes_seperated = (*input_iterator == '"');
-
- if (quotes_seperated) {
- ++input_iterator;
- }
-
- while(input_iterator < input_str.end()){
- if (quotes_seperated) {
- // If the <character-string> is seperated with quotes symbol and
- // another quotes symbol is encountered, it is the end of the
- // <character-string>
- if (*input_iterator == '"') {
- ++input_iterator;
- break;
- }
- } else if (*input_iterator == ' ') {
- // If the <character-string> is not seperated with quotes symbol,
- // it is seperated with <space> char
- ++input_iterator;
- break;
- }
-
- result.push_back(*input_iterator);
-
- ++input_iterator;
- }
-
- return (result);
-}
-
-std::string
-NAPTR::getNextCharacterString(InputBuffer& buffer, size_t len) {
- uint8_t str_len = buffer.readUint8();
-
- size_t pos = buffer.getPosition();
- if (len - pos < str_len) {
- isc_throw(InvalidRdataLength, "Invalid NAPTR string length");
- }
-
- uint8_t buf[MAX_CHARSTRING_LEN];
- buffer.readData(buf, str_len);
- return (string(buf, buf + str_len));
-}
-
-void
-NAPTR::skipLeftSpaces(const std::string& input_str,
- std::string::const_iterator& input_iterator)
-{
- // Skip white spaces
- while (input_iterator < input_str.end() && isspace(*input_iterator)) {
- ++input_iterator;
- }
-}
-
-// END_RDATA_NAMESPACE
-// END_ISC_NAMESPACE
diff --git a/src/lib/dns/rdata/in_1/naptr_35.h b/src/lib/dns/rdata/in_1/naptr_35.h
deleted file mode 100644
index fa93c14..0000000
--- a/src/lib/dns/rdata/in_1/naptr_35.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright (C) 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
-// 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.
-
-// BEGIN_HEADER_GUARD
-
-#include <string>
-
-#include <dns/name.h>
-#include <dns/rdata.h>
-#include <util/buffer.h>
-
-// BEGIN_ISC_NAMESPACE
-
-// BEGIN_COMMON_DECLARATIONS
-// END_COMMON_DECLARATIONS
-
-// BEGIN_RDATA_NAMESPACE
-
-class NAPTR : public Rdata {
-public:
- // BEGIN_COMMON_MEMBERS
- // END_COMMON_MEMBERS
-
- // NAPTR specific methods
- uint16_t getOrder() const;
- uint16_t getPreference() const;
- const std::string& getFlags() const;
- const std::string& getServices() const;
- const std::string& getRegexp() const;
- const Name& getReplacement() const;
-private:
- /// Get a <character-string> from a string
- ///
- /// \param input_str The input string
- /// \param input_iterator The iterator from which to start extracting, the iterator will be updated
- /// to new position after the function is returned
- /// \return A std::string that contains the extracted <character-string>
- std::string getNextCharacterString(const std::string& input_str, std::string::const_iterator& input_iterator);
-
- /// Get a <character-string> from a input buffer
- ///
- /// \param buffer The input buffer
- /// \param len The input buffer total length
- /// \return A std::string that contains the extracted <character-string>
- std::string getNextCharacterString(util::InputBuffer& buffer, size_t len);
-
- /// Skip the left whitespaces of the input string
- ///
- /// \param input_str The input string
- /// \param input_iterator From which the skipping started
- void skipLeftSpaces(const std::string& input_str, std::string::const_iterator& input_iterator);
-
- uint16_t order_;
- uint16_t preference_;
- std::string flags_;
- std::string services_;
- std::string regexp_;
- Name replacement_;
-};
-
-// END_RDATA_NAMESPACE
-// END_ISC_NAMESPACE
-// END_HEADER_GUARD
-
-// Local Variables:
-// mode: c++
-// End:
diff --git a/src/lib/dns/tests/Makefile.am b/src/lib/dns/tests/Makefile.am
index dbb0a9e..e878123 100644
--- a/src/lib/dns/tests/Makefile.am
+++ b/src/lib/dns/tests/Makefile.am
@@ -42,7 +42,7 @@ run_unittests_SOURCES += rdata_nsec3param_unittest.cc
run_unittests_SOURCES += rdata_rrsig_unittest.cc
run_unittests_SOURCES += rdata_rp_unittest.cc
run_unittests_SOURCES += rdata_tsig_unittest.cc
-run_unittests_SOURCES += rdata_in_naptr_unittest.cc
+run_unittests_SOURCES += rdata_naptr_unittest.cc
run_unittests_SOURCES += rrset_unittest.cc rrsetlist_unittest.cc
run_unittests_SOURCES += question_unittest.cc
run_unittests_SOURCES += rrparamregistry_unittest.cc
diff --git a/src/lib/dns/tests/rdata_in_naptr_unittest.cc b/src/lib/dns/tests/rdata_in_naptr_unittest.cc
deleted file mode 100644
index c63cd2c..0000000
--- a/src/lib/dns/tests/rdata_in_naptr_unittest.cc
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright (C) 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
-// 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.
-
-#include <util/buffer.h>
-#include <dns/exceptions.h>
-#include <dns/messagerenderer.h>
-#include <dns/rdata.h>
-#include <dns/rdataclass.h>
-#include <dns/rrclass.h>
-#include <dns/rrtype.h>
-
-#include <gtest/gtest.h>
-
-#include <dns/tests/unittest_util.h>
-#include <dns/tests/rdata_unittest.h>
-
-using isc::UnitTestUtil;
-using namespace std;
-using namespace isc::dns;
-using namespace isc::util;
-using namespace isc::dns::rdata;
-using namespace isc::dns::rdata::in;
-
-namespace {
-class Rdata_IN_NAPTR_Test : public RdataTest {
-};
-
-// 10 100 "S" "SIP+D2U" "" _sip._udp.example.com.
-static uint8_t naptr_rdata[] = {0x00,0x0a,0x00,0x64,0x01,0x53,0x07,0x53,0x49,
- 0x50,0x2b,0x44,0x32,0x55,0x00,0x04,0x5f,0x73,0x69,0x70,0x04,0x5f,0x75,0x64,
- 0x70,0x07,0x65,0x78,0x61,0x6d,0x70,0x6c,0x65,0x03,0x63,0x6f,0x6d,0x00};
-
-static const char *naptr_str =
- "10 100 \"S\" \"SIP+D2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str2 =
- "10 100 S SIP+D2U \"\" _sip._udp.example.com.";
-
-static const char *naptr_str_small1 =
- "9 100 \"S\" \"SIP+D2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str_small2 =
- "10 90 \"S\" \"SIP+D2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str_small3 =
- "10 100 \"R\" \"SIP+D2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str_small4 =
- "10 100 \"S\" \"SIP+C2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str_small5 =
- "10 100 \"S\" \"SIP+D2U\" \"\" _rip._udp.example.com.";
-
-static const char *naptr_str_large1 =
- "11 100 \"S\" \"SIP+D2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str_large2 =
- "10 110 \"S\" \"SIP+D2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str_large3 =
- "10 100 \"T\" \"SIP+D2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str_large4 =
- "10 100 \"S\" \"SIP+E2U\" \"\" _sip._udp.example.com.";
-static const char *naptr_str_large5 =
- "10 100 \"S\" \"SIP+D2U\" \"\" _tip._udp.example.com.";
-
-TEST_F(Rdata_IN_NAPTR_Test, createFromText) {
- NAPTR naptr(naptr_str);
- EXPECT_EQ(10, naptr.getOrder());
- EXPECT_EQ(100, naptr.getPreference());
- EXPECT_EQ(string("S"), naptr.getFlags());
- EXPECT_EQ(string("SIP+D2U"), naptr.getServices());
- EXPECT_EQ(string(""), naptr.getRegexp());
- EXPECT_EQ(Name("_sip._udp.example.com."), naptr.getReplacement());
-
- // Test <char-string> that separated by space
- NAPTR naptr2(naptr_str2);
- EXPECT_EQ(string("S"), naptr2.getFlags());
- EXPECT_EQ(string("SIP+D2U"), naptr2.getServices());
-}
-
-TEST_F(Rdata_IN_NAPTR_Test, badText) {
- // Order number cannot exceed 65535
- EXPECT_THROW(const NAPTR naptr("65536 10 S SIP \"\" _sip._udp.example.com."),
- InvalidRdataText);
- // Preference number cannot exceed 65535
- EXPECT_THROW(const NAPTR naptr("100 65536 S SIP \"\" _sip._udp.example.com."),
- InvalidRdataText);
- // No regexp given
- EXPECT_THROW(const NAPTR naptr("100 10 S SIP _sip._udp.example.com."),
- InvalidRdataText);
- // The double quotes seperator must match
- EXPECT_THROW(const NAPTR naptr("100 10 \"S SIP \"\" _sip._udp.example.com."),
- InvalidRdataText);
-}
-
-TEST_F(Rdata_IN_NAPTR_Test, createFromWire) {
- InputBuffer input_buffer(naptr_rdata, sizeof(naptr_rdata));
- NAPTR naptr(input_buffer, sizeof(naptr_rdata));
- EXPECT_EQ(10, naptr.getOrder());
- EXPECT_EQ(100, naptr.getPreference());
- EXPECT_EQ(string("S"), naptr.getFlags());
- EXPECT_EQ(string("SIP+D2U"), naptr.getServices());
- EXPECT_EQ(string(""), naptr.getRegexp());
- EXPECT_EQ(Name("_sip._udp.example.com."), naptr.getReplacement());
-}
-
-TEST_F(Rdata_IN_NAPTR_Test, toWire) {
- NAPTR naptr(naptr_str);
- naptr.toWire(obuffer);
-
- EXPECT_PRED_FORMAT4(UnitTestUtil::matchWireData, obuffer.getData(),
- obuffer.getLength(), naptr_rdata, sizeof(naptr_rdata));
-}
-
-TEST_F(Rdata_IN_NAPTR_Test, toWireRenderer) {
- NAPTR naptr(naptr_str);
-
- naptr.toWire(renderer);
- EXPECT_PRED_FORMAT4(UnitTestUtil::matchWireData, obuffer.getData(),
- obuffer.getLength(), naptr_rdata, sizeof(naptr_rdata));
-}
-
-TEST_F(Rdata_IN_NAPTR_Test, toText) {
- NAPTR naptr(naptr_str);
- EXPECT_EQ(naptr_str, naptr.toText());
-}
-
-TEST_F(Rdata_IN_NAPTR_Test, compare) {
- NAPTR naptr(naptr_str);
- NAPTR naptr_small1(naptr_str_small1);
- NAPTR naptr_small2(naptr_str_small2);
- NAPTR naptr_small3(naptr_str_small3);
- NAPTR naptr_small4(naptr_str_small4);
- NAPTR naptr_small5(naptr_str_small5);
- NAPTR naptr_large1(naptr_str_large1);
- NAPTR naptr_large2(naptr_str_large2);
- NAPTR naptr_large3(naptr_str_large3);
- NAPTR naptr_large4(naptr_str_large4);
- NAPTR naptr_large5(naptr_str_large5);
-
- EXPECT_EQ(0, naptr.compare(NAPTR(naptr_str)));
- EXPECT_EQ(1, naptr.compare(NAPTR(naptr_str_small1)));
- EXPECT_EQ(1, naptr.compare(NAPTR(naptr_str_small2)));
- EXPECT_EQ(1, naptr.compare(NAPTR(naptr_str_small3)));
- EXPECT_EQ(1, naptr.compare(NAPTR(naptr_str_small4)));
- EXPECT_EQ(1, naptr.compare(NAPTR(naptr_str_small5)));
- EXPECT_EQ(-1, naptr.compare(NAPTR(naptr_str_large1)));
- EXPECT_EQ(-1, naptr.compare(NAPTR(naptr_str_large2)));
- EXPECT_EQ(-1, naptr.compare(NAPTR(naptr_str_large3)));
- EXPECT_EQ(-1, naptr.compare(NAPTR(naptr_str_large4)));
- EXPECT_EQ(-1, naptr.compare(NAPTR(naptr_str_large5)));
-}
-
-}
More information about the bind10-changes
mailing list