diff options
author | mattm <mattm@chromium.org> | 2015-08-10 17:26:24 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-11 00:26:54 +0000 |
commit | 057b015555a4af92d9cf5108f9d2a7f4581378f3 (patch) | |
tree | 25ea3fbf465cb6c638d179597e791e8c19b33dbc /net/der | |
parent | a9f6e67ad01169650c9627bba46e54d3ab0e1933 (diff) | |
download | chromium_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.cc | 4 | ||||
-rw-r--r-- | net/der/input.h | 3 | ||||
-rw-r--r-- | net/der/input_unittest.cc | 7 | ||||
-rw-r--r-- | net/der/tag.h | 3 |
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; |