)]}'
{
  "commit": "417069f8b2fd6dd4f8c2f5f69de7c038a2397050",
  "tree": "a756b9a6d276c71b0b978fc9911cef88d7a934de",
  "parents": [
    "8267582590020ca2877592084f3a56b2f6e3209b"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Feb 13 18:33:02 2023 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jul 11 19:05:08 2023 +0000"
  },
  "message": "Make built-in curves static.\n\nThis replaces our dynamically creating singleton EC_GROUPs from curve\ndata with static EC_GROUP instances.\n\nThey\u0027re just shy of being fully static because delocate still forces us\ngo to through CRYPTO_once to initialize structures with pointers.\n(Though, without delocate, the loader would need similar initialization\nvia a runtime relocation.)\n\nThis means we can now have functions like EC_group_p256(), analogous to\nEVP_sha256(). These are infallible functions that return const EC_GROUP\npointers. Although there is an initial 2KiB hit to binary size (now we\nprecompute a few more Montgomery values), I\u0027m hoping it\u0027ll eventually\nhelp binaries that only use a few of the curves to drop the others. Also\nit removes some locks used to initialize the static curve objects, as\nwell as removing an annoying error condition.\n\nBug: 20\nChange-Id: Id051c5439f2b2fe2b09bf10964d656503ee27d9e\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/60931\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5c0dab1a4f653e6f52fc58b968e77e35bc10cd4c",
      "old_mode": 33188,
      "old_path": "crypto/ec_extra/ec_asn1.c",
      "new_id": "1cd9799dd0aa6fdd330d537e55549defed2faeec",
      "new_mode": 33188,
      "new_path": "crypto/ec_extra/ec_asn1.c"
    },
    {
      "type": "modify",
      "old_id": "8231eee6307cec947ffd18248cbba57ba3e667aa",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bcm.c",
      "new_id": "9d9227d772117fcb14ab24476d96d2a30331a3fa",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bcm.c"
    },
    {
      "type": "modify",
      "old_id": "da25030658cdfe65d63fa2a4b6654596cb738b2b",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bn/rsaz_exp.c",
      "new_id": "436055e9b109c5a9d3eb95d64b707349c9fa0dc6",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bn/rsaz_exp.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0b489ab5199ec37ddf1ce83c9de3b7ce6d3a6a44",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/builtin_curves.h"
    },
    {
      "type": "modify",
      "old_id": "fe773963317e48f12ca5580d6fed8a9fad8f7139",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/ec.c",
      "new_id": "00587a1f2e631bdf9eee51b11cc2477a6f8d06b4",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/ec.c"
    },
    {
      "type": "modify",
      "old_id": "77c3dd6f1b7c0e3d305235505d7b4db5943690fb",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/internal.h",
      "new_id": "f2cb69bfe95ebbba6c84b34ba1aca2a61a9cd687",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/internal.h"
    },
    {
      "type": "modify",
      "old_id": "120c40bd5a448e05420cd4c069704f77645c10f0",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/make_tables.go",
      "new_id": "30535f5fbb8f6e444bb79ed051f015c393a60a3c",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/make_tables.go"
    },
    {
      "type": "modify",
      "old_id": "dd5259bb848c8140765d907706a1505e0ff9b8f4",
      "old_mode": 33188,
      "old_path": "include/openssl/ec.h",
      "new_id": "f1a77b229adcc155e8b8ce692957e93ad2f79f0a",
      "new_mode": 33188,
      "new_path": "include/openssl/ec.h"
    },
    {
      "type": "modify",
      "old_id": "00986cf421fdc92a78fb3b899c27a552c5b8035c",
      "old_mode": 33188,
      "old_path": "include/openssl/ec_key.h",
      "new_id": "b7bc74cb0a551f79ebba07899d410864722ea3b2",
      "new_mode": 33188,
      "new_path": "include/openssl/ec_key.h"
    }
  ]
}
