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) |