)]}'
{
  "commit": "f8b3961b0209d85382ea2b19609d787dd7c50c08",
  "tree": "496df940240cf7310708813d64158ad84dd682b1",
  "parents": [
    "6d84569802d8f164b85cc31750b3e379f23d6711"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Sun Aug 08 15:21:45 2021 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Aug 10 19:44:59 2021 +0000"
  },
  "message": "Always use an ASN1_STRING_TABLE global mask of UTF8String.\n\nASN1_STRING_set_by_NID is very complex and depends on a \"global mask\"\nfor most NIDs. (Some NIDs use a single type and use STABLE_NO_MASK to\ndisable the global mask.) Historically, it defaulted to allowing all\ntypes, but it switched to UTF8String in OpenSSL 1.0.2.\n\nUpdating the global mask is not thread-safe, and it\u0027s 2021. Let\u0027s just\nalways use UTF-8. The only callers I found set it to UTF-8 anyway (with\nthe exception of some test script we don\u0027t use, and some code that\nwasn\u0027t compiled). No-op writes in the C/C++ memory model are still race\nconditions, so this CL fixes some bugs in those callers.\n\nUpdate-Note: The global mask for ASN1_STRING_set_by_NID is now always\nUTF-8. Callers that want another type should reconsider and, if UTF-8 is\nstill unsuitable, just pass the actual desired type into\nASN1_mbstring_copy, X509_NAME_ENTRY_set_data, etc\n\nChange-Id: I679e99c57da9a48c805460abcb3af5b2f938c93f\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/48766\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "efbf0fa89aae26aba77c76a24342085da7c382f0",
      "old_mode": 33188,
      "old_path": "crypto/asn1/a_strnid.c",
      "new_id": "de564d0620807edd475c4e2cce8a31f13a4388cf",
      "new_mode": 33188,
      "new_path": "crypto/asn1/a_strnid.c"
    },
    {
      "type": "modify",
      "old_id": "4f5f700e354ca675493e375e4966b995d640f59d",
      "old_mode": 33188,
      "old_path": "include/openssl/asn1.h",
      "new_id": "788ef2e82550ff3daad1218877d1486f29836d90",
      "new_mode": 33188,
      "new_path": "include/openssl/asn1.h"
    }
  ]
}
