[svn] commit: r127 - in /branches/f2f200910/src/lib/dns: rrset.cc rrset_unittest.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Tue Oct 27 22:41:44 UTC 2009
Author: jinmei
Date: Tue Oct 27 22:41:44 2009
New Revision: 127
Log:
imported A/AAAA/NS implementations and added some simple test cases.
Added:
branches/f2f200910/src/lib/dns/rrset_unittest.cc
Modified:
branches/f2f200910/src/lib/dns/rrset.cc
Modified: branches/f2f200910/src/lib/dns/rrset.cc
==============================================================================
--- branches/f2f200910/src/lib/dns/rrset.cc (original)
+++ branches/f2f200910/src/lib/dns/rrset.cc Tue Oct 27 22:41:44 2009
@@ -28,6 +28,9 @@
using ISC::DNS::RRClass;
using ISC::DNS::RRType;
using ISC::DNS::TTL;
+using ISC::DNS::Rdata::IN::A;
+using ISC::DNS::Rdata::IN::AAAA;
+using ISC::DNS::Rdata::Generic::NS;
RRClass::RRClass(const std::string& classstr)
{
@@ -104,88 +107,88 @@
buffer.write_uint32(ttlval_);
}
+A::A(const std::string& addrstr)
+{
+ if (inet_pton(AF_INET, addrstr.c_str(), &addr_) != 1)
+ throw ISCInvalidAddressString();
+}
+
+void
+A::from_wire(Buffer& buffer, NameDecompressor& decompressor)
+{
+ //TBD
+}
+
+void
+A::to_wire(Buffer& buffer, NameCompressor& compressor) const
+{
+ buffer.write_uint16(sizeof(addr_));
+ buffer.write_data(&addr_, sizeof(addr_));
+}
+
+std::string
+A::to_text() const
+{
+ char addrbuf[sizeof("255.255.255.255")];
+
+ if (inet_ntop(AF_INET, &addr_, addrbuf, sizeof(addrbuf)) == NULL)
+ throw std::runtime_error("unexpected inet_ntop() failure");
+
+ return (std::string(addrbuf));
+}
+
+AAAA::AAAA(const std::string& addrstr)
+{
+ if (inet_pton(AF_INET6, addrstr.c_str(), &addr_) != 1)
+ throw ISCInvalidAddressString();
+}
+
+void
+AAAA::from_wire(Buffer& buffer, NameDecompressor& decompressor)
+{
+ //TBD
+}
+
+void
+AAAA::to_wire(Buffer& buffer, NameCompressor& compressor) const
+{
+ buffer.write_uint16(sizeof(addr_));
+ buffer.write_data(&addr_, sizeof(addr_));
+}
+
+std::string
+AAAA::to_text() const
+{
+ char addrbuf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
+
+ if (inet_ntop(AF_INET6, &addr_, addrbuf, sizeof(addrbuf)) == NULL)
+ throw std::runtime_error("unexpected inet_ntop() failure");
+
+ return (std::string(addrbuf));
+}
+
+void
+NS::from_wire(Buffer& buffer, NameDecompressor& decompressor)
+{
+ //TBD
+}
+
+void
+NS::to_wire(Buffer& buffer, NameCompressor& compressor) const
+{
+ // XXX: note that a complete implementation cannot be this simple
+ // because we need to disable compression for the NS name.
+ buffer.write_uint16(nsname_.get_length());
+ nsname_.to_wire(buffer, compressor);
+}
+
+std::string
+NS::to_text() const
+{
+ return (nsname_.to_text());
+}
+
#ifdef notyet
-ARdata::ARdata(const std::string& addrstr)
-{
- if (inet_pton(AF_INET, addrstr.c_str(), &_addr) != 1)
- throw ISCInvalidAddressString();
-}
-
-void
-ARdata::from_wire(IOBuffer& buffer, NameDecompressor& decompressor)
-{
- //TBD
-}
-
-void
-ARdata::to_wire(IOBuffer& buffer, NameCompressor& compressor) const
-{
- buffer.write_uint16(sizeof(_addr));
- buffer.write_data(&_addr, sizeof(_addr));
-}
-
-std::string
-ARdata::to_text() const
-{
- char addrbuf[sizeof("255.255.255.255")];
-
- if (inet_ntop(AF_INET, &_addr, addrbuf, sizeof(addrbuf)) == NULL)
- throw runtime_error("unexpected inet_ntop() failure");
-
- return (std::string(addrbuf));
-}
-
-AAAARdata::AAAARdata(const std::string& addrstr)
-{
- if (inet_pton(AF_INET6, addrstr.c_str(), &_addr) != 1)
- throw ISCInvalidAddressString();
-}
-
-void
-AAAARdata::from_wire(IOBuffer& buffer, NameDecompressor& decompressor)
-{
- //TBD
-}
-
-void
-AAAARdata::to_wire(IOBuffer& buffer, NameCompressor& compressor) const
-{
- buffer.write_uint16(sizeof(_addr));
- buffer.write_data(&_addr, sizeof(_addr));
-}
-
-std::string
-AAAARdata::to_text() const
-{
- char addrbuf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
-
- if (inet_ntop(AF_INET6, &_addr, addrbuf, sizeof(addrbuf)) == NULL)
- throw runtime_error("unexpected inet_ntop() failure");
-
- return (std::string(addrbuf));
-}
-
-void
-NSRdata::from_wire(IOBuffer& buffer, NameDecompressor& decompressor)
-{
- //TBD
-}
-
-void
-NSRdata::to_wire(IOBuffer& buffer, NameCompressor& compressor) const
-{
- // XXX: note that a complete implementation cannot be that simple
- // because we need to disable compression for the NS name.
- buffer.write_uint16(_nsname.get_length());
- _nsname.to_wire(buffer, compressor);
-}
-
-std::string
-NSRdata::to_text() const
-{
- return (_nsname.to_text());
-}
-
void
RdataSet::add_rdata(rdataptr_t rdata)
{
@@ -247,7 +250,7 @@
// sort Rdata list based on rrset-order and sortlist, and possible
// other options. Details to be considered.
- IOBuffer& b = message.get_iobuffer();
+ Buffer& b = message.get_iobuffer();
NameCompressor& c = message.get_compressor();
for (vector<rdataptr_t>::iterator it = _rdatalist.begin();
it != _rdatalist.end();
@@ -277,7 +280,7 @@
int
Question::to_wire(Message& message, section_t section)
{
- IOBuffer& b = message.get_iobuffer();
+ Buffer& b = message.get_iobuffer();
NameCompressor& c = message.get_compressor();
_name.to_wire(b, c);
More information about the bind10-changes
mailing list