| Index: third_party/crashpad/crashpad/util/net/http_multipart_builder.cc
|
| diff --git a/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc b/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc
|
| index 640d540a6ed0d889b378c76cb491a6aad454b626..91105be9c0cef74ddd8e0b85bd58e9e5c1ddee13 100644
|
| --- a/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc
|
| +++ b/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc
|
| @@ -40,8 +40,8 @@ std::string GenerateBoundaryString() {
|
| // characters from the set “'()+_,-./:=? ”, and not ending in a space.
|
| // However, some servers have been observed as dealing poorly with certain
|
| // nonalphanumeric characters. See
|
| - // blink/Source/platform/network/FormDataBuilder.cpp
|
| - // blink::FormDataBuilder::generateUniqueBoundaryString().
|
| + // blink/Source/platform/network/FormDataEncoder.cpp
|
| + // blink::FormDataEncoder::GenerateUniqueBoundaryString().
|
| //
|
| // This implementation produces a 56-character string with over 190 bits of
|
| // randomness (62^32 > 2^190).
|
| @@ -60,17 +60,12 @@ std::string GenerateBoundaryString() {
|
| // Escapes the specified name to be suitable for the name field of a
|
| // form-data part.
|
| std::string EncodeMIMEField(const std::string& name) {
|
| - // RFC 2388 §3 says to encode non-ASCII field names according to RFC 2047, but
|
| - // no browsers implement that behavior. Instead, they send field names in the
|
| - // page hosting the form’s encoding. However, some form of escaping is needed.
|
| // This URL-escapes the quote character and newline characters, per Blink. See
|
| - // blink/Source/platform/network/FormDataBuilder.cpp
|
| - // blink::appendQuotedString().
|
| - //
|
| - // TODO(mark): This encoding is not necessarily correct, and the same code in
|
| - // Blink is marked with a FIXME. Blink does not escape the '%' character,
|
| - // that’s a local addition, but it seems appropriate to be able to decode the
|
| - // string properly.
|
| + // blink/Source/platform/network/FormDataEncoder.cpp
|
| + // blink::AppendQuotedString(). %-encoding is endorsed by RFC 7578 §2, with
|
| + // approval for otherwise unencoded UTF-8 given by RFC 7578 §5.1. Blink does
|
| + // not escape the '%' character, but it seems appropriate to do so in order to
|
| + // be able to decode the string properly.
|
| std::string encoded;
|
| for (char character : name) {
|
| switch (character) {
|
|
|