Chromium Code Reviews| Index: net/cert/internal/parse_name.cc |
| diff --git a/net/cert/internal/parse_name.cc b/net/cert/internal/parse_name.cc |
| index d9eaaeed7c86f25de361e8d5f5804f892294a879..ec3277bd3f69d76f515a126e40e3e0d51f68277b 100644 |
| --- a/net/cert/internal/parse_name.cc |
| +++ b/net/cert/internal/parse_name.cc |
| @@ -12,6 +12,10 @@ |
| #include "base/sys_byteorder.h" |
| #include "base/third_party/icu/icu_utf.h" |
| +#if !defined(OS_NACL) |
| +#include "net/base/net_string_util.h" |
| +#endif |
| + |
| namespace net { |
| namespace { |
| @@ -192,12 +196,11 @@ der::Input TypeDomainComponentOid() { |
| bool X509NameAttribute::ValueAsString(std::string* out) const { |
| switch (value_tag) { |
| case der::kTeletexString: |
| - for (char c : value.AsStringPiece()) { |
| - if (c < 32 || c > 126) |
| - return false; |
| - } |
| - *out = value.AsString(); |
| - return true; |
| +#if !defined(OS_NACL) |
| + return ConvertToUtf8(value.AsString(), kCharsetLatin1, out); |
| +#else |
| +// For nacl, just fall through to treating like IA5String (ascii). |
|
eroman
2017/05/05 17:55:29
Why the difference for nacl?
mattm
2017/05/05 19:58:39
the net/ build for nacl doesn't include base/net_s
eroman
2017/05/05 20:07:07
It is unfortunate to have a different behavior her
mattm
2017/05/05 20:16:25
Done.
davidben
2017/05/12 16:47:26
FWIW, Latin1 doesn't need much code to convert to
|
| +#endif |
| case der::kIA5String: |
| for (char c : value.AsStringPiece()) { |
| if (static_cast<uint8_t>(c) > 127) |