)]}'
{
  "commit": "d0b235d66f148651b6f400c8ef5737f80e9d21ed",
  "tree": "f859f15e9ebbb781a5b5bc142717109e1d4c9ef7",
  "parents": [
    "a0349aaa7cd7fb559286aafff184018ec6e0b08f"
  ],
  "author": {
    "name": "Lily Chen",
    "email": "chlily@google.com",
    "time": "Thu Oct 29 19:09:47 2026 +0000"
  },
  "committer": {
    "name": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Nov 03 13:35:30 2026 -0800"
  },
  "message": "pki: Add trusted subtrees to CertificateTrust\n\nMakes the trusted_subtrees_ field of MTCAnchor store it as a\nstd::shared_ptr, which is then copied into the CertificateTrust\nrepresenting the MTCAnchor. Along the way, remove constexpr from\nCertificateTrust, and make a new type, TrustedSubtreeSet, holding a\nstd::vector\u003cLogTrustedSubtrees\u003e to handle validation and lookup of\ntrusted subtrees.\n\nAfter this change, logic for handling trusted subtrees no longer lives\nin MTCAnchor.\n\nChanges the TrustAnchor::CertTrust() getter to return a reference since\nCertificateTrust copies are no longer free.\n\nThis is a step towards making trust anchors uniformly representable as a\n(ParsedCertificate, CertificateTrust) pair, pivoting away from the\nearlier plan of migrating the representation of all trust anchors to\nthe TrustAnchor type.\n\nBug: 575507260\nChange-Id: I45aea0a3f0a1f1e75093d8b8408ec3086a6a6964\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/104988\nPresubmit-BoringSSL-Verified: boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cboringssl-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Matt Mueller \u003cmattm@google.com\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: Lily Chen \u003cchlily@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "291c30a6aa35a8a168cab75609f335941e9fcf8a",
      "old_mode": 33188,
      "old_path": "pki/trust_store.cc",
      "new_id": "fd31acb56137967043a58c8497eab7a7a9264c2b",
      "new_mode": 33188,
      "new_path": "pki/trust_store.cc"
    },
    {
      "type": "modify",
      "old_id": "9a1dcf15749f5153c2bad089d1cd004e69268b60",
      "old_mode": 33188,
      "old_path": "pki/trust_store.h",
      "new_id": "42c37fb90af5e921bb954350eec8f0f4e04ce34c",
      "new_mode": 33188,
      "new_path": "pki/trust_store.h"
    },
    {
      "type": "modify",
      "old_id": "87b6228e7913641d5217599a1aa280d8b9c5873b",
      "old_mode": 33188,
      "old_path": "pki/trust_store_in_memory_unittest.cc",
      "new_id": "1ac1b4031962bb15878232197da95ede31f638cc",
      "new_mode": 33188,
      "new_path": "pki/trust_store_in_memory_unittest.cc"
    }
  ]
}
