Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(683)

Unified Diff: net/dns/record_rdata.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/dns/record_rdata.h ('k') | net/dns/record_rdata_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/dns/record_rdata.cc
diff --git a/net/dns/record_rdata.cc b/net/dns/record_rdata.cc
deleted file mode 100644
index 0c605593ab7d337b1edf18ebda380d1a0d6e0ead..0000000000000000000000000000000000000000
--- a/net/dns/record_rdata.cc
+++ /dev/null
@@ -1,287 +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.
-
-#include "net/dns/record_rdata.h"
-
-#include "base/big_endian.h"
-#include "net/base/dns_util.h"
-#include "net/dns/dns_protocol.h"
-#include "net/dns/dns_response.h"
-
-namespace net {
-
-static const size_t kSrvRecordMinimumSize = 6;
-
-RecordRdata::RecordRdata() {
-}
-
-SrvRecordRdata::SrvRecordRdata() : priority_(0), weight_(0), port_(0) {
-}
-
-SrvRecordRdata::~SrvRecordRdata() {}
-
-// static
-scoped_ptr<SrvRecordRdata> SrvRecordRdata::Create(
- const base::StringPiece& data,
- const DnsRecordParser& parser) {
- if (data.size() < kSrvRecordMinimumSize) return scoped_ptr<SrvRecordRdata>();
-
- scoped_ptr<SrvRecordRdata> rdata(new SrvRecordRdata);
-
- base::BigEndianReader reader(data.data(), data.size());
- // 2 bytes for priority, 2 bytes for weight, 2 bytes for port.
- reader.ReadU16(&rdata->priority_);
- reader.ReadU16(&rdata->weight_);
- reader.ReadU16(&rdata->port_);
-
- if (!parser.ReadName(data.substr(kSrvRecordMinimumSize).begin(),
- &rdata->target_))
- return scoped_ptr<SrvRecordRdata>();
-
- return rdata.Pass();
-}
-
-uint16 SrvRecordRdata::Type() const {
- return SrvRecordRdata::kType;
-}
-
-bool SrvRecordRdata::IsEqual(const RecordRdata* other) const {
- if (other->Type() != Type()) return false;
- const SrvRecordRdata* srv_other = static_cast<const SrvRecordRdata*>(other);
- return weight_ == srv_other->weight_ &&
- port_ == srv_other->port_ &&
- priority_ == srv_other->priority_ &&
- target_ == srv_other->target_;
-}
-
-ARecordRdata::ARecordRdata() {
-}
-
-ARecordRdata::~ARecordRdata() {
-}
-
-// static
-scoped_ptr<ARecordRdata> ARecordRdata::Create(
- const base::StringPiece& data,
- const DnsRecordParser& parser) {
- if (data.size() != kIPv4AddressSize)
- return scoped_ptr<ARecordRdata>();
-
- scoped_ptr<ARecordRdata> rdata(new ARecordRdata);
-
- rdata->address_.resize(kIPv4AddressSize);
- for (unsigned i = 0; i < kIPv4AddressSize; ++i) {
- rdata->address_[i] = data[i];
- }
-
- return rdata.Pass();
-}
-
-uint16 ARecordRdata::Type() const {
- return ARecordRdata::kType;
-}
-
-bool ARecordRdata::IsEqual(const RecordRdata* other) const {
- if (other->Type() != Type()) return false;
- const ARecordRdata* a_other = static_cast<const ARecordRdata*>(other);
- return address_ == a_other->address_;
-}
-
-AAAARecordRdata::AAAARecordRdata() {
-}
-
-AAAARecordRdata::~AAAARecordRdata() {
-}
-
-// static
-scoped_ptr<AAAARecordRdata> AAAARecordRdata::Create(
- const base::StringPiece& data,
- const DnsRecordParser& parser) {
- if (data.size() != kIPv6AddressSize)
- return scoped_ptr<AAAARecordRdata>();
-
- scoped_ptr<AAAARecordRdata> rdata(new AAAARecordRdata);
-
- rdata->address_.resize(kIPv6AddressSize);
- for (unsigned i = 0; i < kIPv6AddressSize; ++i) {
- rdata->address_[i] = data[i];
- }
-
- return rdata.Pass();
-}
-
-uint16 AAAARecordRdata::Type() const {
- return AAAARecordRdata::kType;
-}
-
-bool AAAARecordRdata::IsEqual(const RecordRdata* other) const {
- if (other->Type() != Type()) return false;
- const AAAARecordRdata* a_other = static_cast<const AAAARecordRdata*>(other);
- return address_ == a_other->address_;
-}
-
-CnameRecordRdata::CnameRecordRdata() {
-}
-
-CnameRecordRdata::~CnameRecordRdata() {
-}
-
-// static
-scoped_ptr<CnameRecordRdata> CnameRecordRdata::Create(
- const base::StringPiece& data,
- const DnsRecordParser& parser) {
- scoped_ptr<CnameRecordRdata> rdata(new CnameRecordRdata);
-
- if (!parser.ReadName(data.begin(), &rdata->cname_))
- return scoped_ptr<CnameRecordRdata>();
-
- return rdata.Pass();
-}
-
-uint16 CnameRecordRdata::Type() const {
- return CnameRecordRdata::kType;
-}
-
-bool CnameRecordRdata::IsEqual(const RecordRdata* other) const {
- if (other->Type() != Type()) return false;
- const CnameRecordRdata* cname_other =
- static_cast<const CnameRecordRdata*>(other);
- return cname_ == cname_other->cname_;
-}
-
-PtrRecordRdata::PtrRecordRdata() {
-}
-
-PtrRecordRdata::~PtrRecordRdata() {
-}
-
-// static
-scoped_ptr<PtrRecordRdata> PtrRecordRdata::Create(
- const base::StringPiece& data,
- const DnsRecordParser& parser) {
- scoped_ptr<PtrRecordRdata> rdata(new PtrRecordRdata);
-
- if (!parser.ReadName(data.begin(), &rdata->ptrdomain_))
- return scoped_ptr<PtrRecordRdata>();
-
- return rdata.Pass();
-}
-
-uint16 PtrRecordRdata::Type() const {
- return PtrRecordRdata::kType;
-}
-
-bool PtrRecordRdata::IsEqual(const RecordRdata* other) const {
- if (other->Type() != Type()) return false;
- const PtrRecordRdata* ptr_other = static_cast<const PtrRecordRdata*>(other);
- return ptrdomain_ == ptr_other->ptrdomain_;
-}
-
-TxtRecordRdata::TxtRecordRdata() {
-}
-
-TxtRecordRdata::~TxtRecordRdata() {
-}
-
-// static
-scoped_ptr<TxtRecordRdata> TxtRecordRdata::Create(
- const base::StringPiece& data,
- const DnsRecordParser& parser) {
- scoped_ptr<TxtRecordRdata> rdata(new TxtRecordRdata);
-
- for (size_t i = 0; i < data.size(); ) {
- uint8 length = data[i];
-
- if (i + length >= data.size())
- return scoped_ptr<TxtRecordRdata>();
-
- rdata->texts_.push_back(data.substr(i + 1, length).as_string());
-
- // Move to the next string.
- i += length + 1;
- }
-
- return rdata.Pass();
-}
-
-uint16 TxtRecordRdata::Type() const {
- return TxtRecordRdata::kType;
-}
-
-bool TxtRecordRdata::IsEqual(const RecordRdata* other) const {
- if (other->Type() != Type()) return false;
- const TxtRecordRdata* txt_other = static_cast<const TxtRecordRdata*>(other);
- return texts_ == txt_other->texts_;
-}
-
-NsecRecordRdata::NsecRecordRdata() {
-}
-
-NsecRecordRdata::~NsecRecordRdata() {
-}
-
-// static
-scoped_ptr<NsecRecordRdata> NsecRecordRdata::Create(
- const base::StringPiece& data,
- const DnsRecordParser& parser) {
- scoped_ptr<NsecRecordRdata> rdata(new NsecRecordRdata);
-
- // Read the "next domain". This part for the NSEC record format is
- // ignored for mDNS, since it has no semantic meaning.
- unsigned next_domain_length = parser.ReadName(data.data(), NULL);
-
- // If we did not succeed in getting the next domain or the data length
- // is too short for reading the bitmap header, return.
- if (next_domain_length == 0 || data.length() < next_domain_length + 2)
- return scoped_ptr<NsecRecordRdata>();
-
- struct BitmapHeader {
- uint8 block_number; // The block number should be zero.
- uint8 length; // Bitmap length in bytes. Between 1 and 32.
- };
-
- const BitmapHeader* header = reinterpret_cast<const BitmapHeader*>(
- data.data() + next_domain_length);
-
- // The block number must be zero in mDns-specific NSEC records. The bitmap
- // length must be between 1 and 32.
- if (header->block_number != 0 || header->length == 0 || header->length > 32)
- return scoped_ptr<NsecRecordRdata>();
-
- base::StringPiece bitmap_data = data.substr(next_domain_length + 2);
-
- // Since we may only have one block, the data length must be exactly equal to
- // the domain length plus bitmap size.
- if (bitmap_data.length() != header->length)
- return scoped_ptr<NsecRecordRdata>();
-
- rdata->bitmap_.insert(rdata->bitmap_.begin(),
- bitmap_data.begin(),
- bitmap_data.end());
-
- return rdata.Pass();
-}
-
-uint16 NsecRecordRdata::Type() const {
- return NsecRecordRdata::kType;
-}
-
-bool NsecRecordRdata::IsEqual(const RecordRdata* other) const {
- if (other->Type() != Type())
- return false;
- const NsecRecordRdata* nsec_other =
- static_cast<const NsecRecordRdata*>(other);
- return bitmap_ == nsec_other->bitmap_;
-}
-
-bool NsecRecordRdata::GetBit(unsigned i) const {
- unsigned byte_num = i/8;
- if (bitmap_.size() < byte_num + 1)
- return false;
-
- unsigned bit_num = 7 - i % 8;
- return (bitmap_[byte_num] & (1 << bit_num)) != 0;
-}
-
-} // namespace net
« no previous file with comments | « net/dns/record_rdata.h ('k') | net/dns/record_rdata_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698