summaryrefslogtreecommitdiffstats
path: root/net/der
diff options
context:
space:
mode:
authormattm <mattm@chromium.org>2015-08-10 17:26:24 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-11 00:26:54 +0000
commit057b015555a4af92d9cf5108f9d2a7f4581378f3 (patch)
tree25ea3fbf465cb6c638d179597e791e8c19b33dbc /net/der
parenta9f6e67ad01169650c9627bba46e54d3ab0e1933 (diff)
downloadchromium_src-057b015555a4af92d9cf5108f9d2a7f4581378f3.zip
chromium_src-057b015555a4af92d9cf5108f9d2a7f4581378f3.tar.gz
chromium_src-057b015555a4af92d9cf5108f9d2a7f4581378f3.tar.bz2
RFC 2459 name comparison.
BUG=410574 Review URL: https://codereview.chromium.org/1125333005 Cr-Commit-Position: refs/heads/master@{#342750}
Diffstat (limited to 'net/der')
-rw-r--r--net/der/input.cc4
-rw-r--r--net/der/input.h3
-rw-r--r--net/der/input_unittest.cc7
-rw-r--r--net/der/tag.h3
4 files changed, 17 insertions, 0 deletions
diff --git a/net/der/input.cc b/net/der/input.cc
index 45edfdc..75d1c9c 100644
--- a/net/der/input.cc
+++ b/net/der/input.cc
@@ -23,6 +23,10 @@ bool Input::Equals(const Input& other) const {
return memcmp(data_, other.data_, len_) == 0;
}
+std::string Input::AsString() const {
+ return std::string(reinterpret_cast<const char*>(data_), len_);
+}
+
ByteReader::ByteReader(const Input& in)
: data_(in.UnsafeData()), len_(in.Length()) {
}
diff --git a/net/der/input.h b/net/der/input.h
index f8eb467..c0195ff 100644
--- a/net/der/input.h
+++ b/net/der/input.h
@@ -61,6 +61,9 @@ class NET_EXPORT_PRIVATE Input {
// is not an option.
const uint8_t* UnsafeData() const { return data_; }
+ // Returns a copy of the data represented by this object as a std::string.
+ std::string AsString() const;
+
private:
const uint8_t* data_;
size_t len_;
diff --git a/net/der/input_unittest.cc b/net/der/input_unittest.cc
index 12f8c86..63fe715 100644
--- a/net/der/input_unittest.cc
+++ b/net/der/input_unittest.cc
@@ -27,6 +27,13 @@ TEST(InputTest, Equals) {
EXPECT_FALSE(test_truncated.Equals(test));
}
+TEST(InputTest, AsString) {
+ Input input(kInput);
+ std::string expected_string(reinterpret_cast<const char*>(kInput),
+ arraysize(kInput));
+ EXPECT_EQ(expected_string, input.AsString());
+}
+
TEST(InputTest, StaticArray) {
Input input(kInput);
EXPECT_EQ(arraysize(kInput), input.Length());
diff --git a/net/der/tag.h b/net/der/tag.h
index 1c89080..4f8752b 100644
--- a/net/der/tag.h
+++ b/net/der/tag.h
@@ -30,8 +30,11 @@ const Tag kNull = 0x05;
const Tag kOid = 0x06;
const Tag kUtf8String = 0x0C;
const Tag kPrintableString = 0x13;
+const Tag kIA5String = 0x16;
const Tag kUtcTime = 0x17;
const Tag kGeneralizedTime = 0x18;
+const Tag kUniversalString = 0x1C;
+const Tag kBmpString = 0x1E;
// Universal class constructed types
const Tag kSequence = 0x30;