)]}'
{
  "commit": "afa460c7b92c646a2c0d0537e14770a2b71cb762",
  "tree": "71f8e4c54865695671c0278b8ef41c7cc5e7dcd0",
  "parents": [
    "1df70cea5daa391e10f5df9057c60fd740b912ab"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Dec 05 19:43:49 2022 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Feb 01 17:59:40 2023 +0000"
  },
  "message": "Unexport and remove support for implicit tagging on ASN1_ITYPE_EXTERN.\n\nCurrently, the only EXTERN type is X509_NAME. Implicitly tagging an\nX509_NAME didn\u0027t work anyway because of the cached encoding. Moreover,\neven if it did work, it\u0027d be invalid. Name in RFC 5280 is actually a\none-element CHOICE type, and CHOICE types can never be implicitly\ntagged. So just remove support.\n\nOne thing of note: I\u0027m thinking EXTERN can be used later to retain\nASN1_ITEM compatibility, once X509 and friends no longer use the\ntemplate machinery. That means we\u0027re not only assuming X509_NAME is\nnever implicitly tagged, but also that external callers using\n\u003copenssl/asn1t.h\u003e won\u0027t implicitly tag a built-in type.\n\nThis removes a case we need to handle in the rewritten tasn_enc.c. (In\nparticular, crypto/asn1 and crypto/bytestring use a different tag\nrepresentation and I\u0027d like to minimum the number of conversions we\nneed.)\n\nUpdate-Note: IMPLEMENT_EXTERN_ASN1 can no longer be used outside the\nlibrary. I found no callers using this machinery, and we\u0027re better off\ngradually migrating every \u003copenssl/asn1t.h\u003e user to CBS/CBB anyway.\n\nBug: 548\nChange-Id: I0aab531077d25960dd3f16183656f318d78a0806\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/56186\nReviewed-by: Bob Beck \u003cbbe@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "21619c92c3529ed77e38230b6db2d8b056e6aae8",
      "old_mode": 33188,
      "old_path": "crypto/asn1/internal.h",
      "new_id": "0631861546f81378d8eeb58632350fec1d5f6649",
      "new_mode": 33188,
      "new_path": "crypto/asn1/internal.h"
    },
    {
      "type": "modify",
      "old_id": "5eb6e6e0db32f4799e6a197b205fd5d8a85a8d57",
      "old_mode": 33188,
      "old_path": "crypto/asn1/tasn_dec.c",
      "new_id": "54e9a99d6d2fd8d4ebe2c1a9302ef55017cf368e",
      "new_mode": 33188,
      "new_path": "crypto/asn1/tasn_dec.c"
    },
    {
      "type": "modify",
      "old_id": "0a0fdb09b6fa62c3993491a195fb6266d4608042",
      "old_mode": 33188,
      "old_path": "crypto/asn1/tasn_enc.c",
      "new_id": "e46968c7ea8ced02b6f6ddd511c0cf28e383970f",
      "new_mode": 33188,
      "new_path": "crypto/asn1/tasn_enc.c"
    },
    {
      "type": "modify",
      "old_id": "3e7cb94dae96597cff6a6d541aa6fe871f772cfa",
      "old_mode": 33188,
      "old_path": "crypto/x509/x_name.c",
      "new_id": "1d6691bcc24f4f459276f96a8b7de43be022624b",
      "new_mode": 33188,
      "new_path": "crypto/x509/x_name.c"
    },
    {
      "type": "modify",
      "old_id": "324eb57f6d92e29ee2218c9cf13e8cff04721200",
      "old_mode": 33188,
      "old_path": "include/openssl/asn1t.h",
      "new_id": "f65519329b96cfa4e480ac06ab3a3466df56429a",
      "new_mode": 33188,
      "new_path": "include/openssl/asn1t.h"
    }
  ]
}
