Index: net/dns/record_rdata.h |
diff --git a/net/dns/record_rdata.h b/net/dns/record_rdata.h |
deleted file mode 100644 |
index 47ba177b7f43e2cd4d7d0298053cae4516d7cb3c..0000000000000000000000000000000000000000 |
--- a/net/dns/record_rdata.h |
+++ /dev/null |
@@ -1,216 +0,0 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef NET_DNS_RECORD_RDATA_H_ |
-#define NET_DNS_RECORD_RDATA_H_ |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/strings/string_piece.h" |
-#include "net/base/net_export.h" |
-#include "net/base/net_util.h" |
-#include "net/dns/dns_protocol.h" |
- |
-namespace net { |
- |
-class DnsRecordParser; |
- |
-// Parsed represenation of the extra data in a record. Does not include standard |
-// DNS record data such as TTL, Name, Type and Class. |
-class NET_EXPORT_PRIVATE RecordRdata { |
- public: |
- virtual ~RecordRdata() {} |
- |
- virtual bool IsEqual(const RecordRdata* other) const = 0; |
- virtual uint16 Type() const = 0; |
- |
- protected: |
- RecordRdata(); |
- |
- DISALLOW_COPY_AND_ASSIGN(RecordRdata); |
-}; |
- |
-// SRV record format (http://www.ietf.org/rfc/rfc2782.txt): |
-// 2 bytes network-order unsigned priority |
-// 2 bytes network-order unsigned weight |
-// 2 bytes network-order unsigned port |
-// target: domain name (on-the-wire representation) |
-class NET_EXPORT_PRIVATE SrvRecordRdata : public RecordRdata { |
- public: |
- static const uint16 kType = dns_protocol::kTypeSRV; |
- |
- ~SrvRecordRdata() override; |
- static scoped_ptr<SrvRecordRdata> Create(const base::StringPiece& data, |
- const DnsRecordParser& parser); |
- |
- bool IsEqual(const RecordRdata* other) const override; |
- uint16 Type() const override; |
- |
- uint16 priority() const { return priority_; } |
- uint16 weight() const { return weight_; } |
- uint16 port() const { return port_; } |
- |
- const std::string& target() const { return target_; } |
- |
- private: |
- SrvRecordRdata(); |
- |
- uint16 priority_; |
- uint16 weight_; |
- uint16 port_; |
- |
- std::string target_; |
- |
- DISALLOW_COPY_AND_ASSIGN(SrvRecordRdata); |
-}; |
- |
-// A Record format (http://www.ietf.org/rfc/rfc1035.txt): |
-// 4 bytes for IP address. |
-class NET_EXPORT_PRIVATE ARecordRdata : public RecordRdata { |
- public: |
- static const uint16 kType = dns_protocol::kTypeA; |
- |
- ~ARecordRdata() override; |
- static scoped_ptr<ARecordRdata> Create(const base::StringPiece& data, |
- const DnsRecordParser& parser); |
- bool IsEqual(const RecordRdata* other) const override; |
- uint16 Type() const override; |
- |
- const IPAddressNumber& address() const { return address_; } |
- |
- private: |
- ARecordRdata(); |
- |
- IPAddressNumber address_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ARecordRdata); |
-}; |
- |
-// AAAA Record format (http://www.ietf.org/rfc/rfc1035.txt): |
-// 16 bytes for IP address. |
-class NET_EXPORT_PRIVATE AAAARecordRdata : public RecordRdata { |
- public: |
- static const uint16 kType = dns_protocol::kTypeAAAA; |
- |
- ~AAAARecordRdata() override; |
- static scoped_ptr<AAAARecordRdata> Create(const base::StringPiece& data, |
- const DnsRecordParser& parser); |
- bool IsEqual(const RecordRdata* other) const override; |
- uint16 Type() const override; |
- |
- const IPAddressNumber& address() const { return address_; } |
- |
- private: |
- AAAARecordRdata(); |
- |
- IPAddressNumber address_; |
- |
- DISALLOW_COPY_AND_ASSIGN(AAAARecordRdata); |
-}; |
- |
-// CNAME record format (http://www.ietf.org/rfc/rfc1035.txt): |
-// cname: On the wire representation of domain name. |
-class NET_EXPORT_PRIVATE CnameRecordRdata : public RecordRdata { |
- public: |
- static const uint16 kType = dns_protocol::kTypeCNAME; |
- |
- ~CnameRecordRdata() override; |
- static scoped_ptr<CnameRecordRdata> Create(const base::StringPiece& data, |
- const DnsRecordParser& parser); |
- bool IsEqual(const RecordRdata* other) const override; |
- uint16 Type() const override; |
- |
- std::string cname() const { return cname_; } |
- |
- private: |
- CnameRecordRdata(); |
- |
- std::string cname_; |
- |
- DISALLOW_COPY_AND_ASSIGN(CnameRecordRdata); |
-}; |
- |
-// PTR record format (http://www.ietf.org/rfc/rfc1035.txt): |
-// domain: On the wire representation of domain name. |
-class NET_EXPORT_PRIVATE PtrRecordRdata : public RecordRdata { |
- public: |
- static const uint16 kType = dns_protocol::kTypePTR; |
- |
- ~PtrRecordRdata() override; |
- static scoped_ptr<PtrRecordRdata> Create(const base::StringPiece& data, |
- const DnsRecordParser& parser); |
- bool IsEqual(const RecordRdata* other) const override; |
- uint16 Type() const override; |
- |
- std::string ptrdomain() const { return ptrdomain_; } |
- |
- private: |
- PtrRecordRdata(); |
- |
- std::string ptrdomain_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PtrRecordRdata); |
-}; |
- |
-// TXT record format (http://www.ietf.org/rfc/rfc1035.txt): |
-// texts: One or more <character-string>s. |
-// a <character-string> is a length octet followed by as many characters. |
-class NET_EXPORT_PRIVATE TxtRecordRdata : public RecordRdata { |
- public: |
- static const uint16 kType = dns_protocol::kTypeTXT; |
- |
- ~TxtRecordRdata() override; |
- static scoped_ptr<TxtRecordRdata> Create(const base::StringPiece& data, |
- const DnsRecordParser& parser); |
- bool IsEqual(const RecordRdata* other) const override; |
- uint16 Type() const override; |
- |
- const std::vector<std::string>& texts() const { return texts_; } |
- |
- private: |
- TxtRecordRdata(); |
- |
- std::vector<std::string> texts_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TxtRecordRdata); |
-}; |
- |
-// Only the subset of the NSEC record format required by mDNS is supported. |
-// Nsec record format is described in http://www.ietf.org/rfc/rfc3845.txt and |
-// the limited version required for mDNS described in |
-// http://www.rfc-editor.org/rfc/rfc6762.txt Section 6.1. |
-class NET_EXPORT_PRIVATE NsecRecordRdata : public RecordRdata { |
- public: |
- static const uint16 kType = dns_protocol::kTypeNSEC; |
- |
- ~NsecRecordRdata() override; |
- static scoped_ptr<NsecRecordRdata> Create(const base::StringPiece& data, |
- const DnsRecordParser& parser); |
- bool IsEqual(const RecordRdata* other) const override; |
- uint16 Type() const override; |
- |
- // Length of the bitmap in bits. |
- unsigned bitmap_length() const { return bitmap_.size() * 8; } |
- |
- // Returns bit i-th bit in the bitmap, where bits withing a byte are organized |
- // most to least significant. If it is set, a record with rrtype i exists for |
- // the domain name of this nsec record. |
- bool GetBit(unsigned i) const; |
- |
- private: |
- NsecRecordRdata(); |
- |
- std::vector<uint8> bitmap_; |
- |
- DISALLOW_COPY_AND_ASSIGN(NsecRecordRdata); |
-}; |
- |
- |
-} // namespace net |
- |
-#endif // NET_DNS_RECORD_RDATA_H_ |