)]}'
{
  "commit": "f4ef9b517ec8a0858036c5dd4418428e795fec3e",
  "tree": "318146c1269afc422f791d6b4d3590f0d8636966",
  "parents": [
    "9cd7fbdac6f102e4680028247b85910c68cc3c51"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Feb 17 13:20:28 2016 -0500"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Wed Feb 17 18:28:05 2016 +0000"
  },
  "message": "otherPrimeInfos is not optional in version 1 RSAPrivateKeys.\n\nCurrently, we correctly refuse to parse version 0 multi-prime keys, but we\nstill parse version 1 two-prime keys. Both should be rejected.\n\nI missed an additional clause in the spec originally. It seems otherPrimeInfos\nis marked OPTIONAL not because it is actually optional, but because they wanted\nthe two RSAPrivateKey forms to share one definition. The prose rules following\nthe definition imply that otherPrimeInfos\u0027 presence is entirely determined by\nthe version:\n\n    * version is the version number, for compatibility with future\n      revisions of this document.  It shall be 0 for this version of the\n      document, unless multi-prime is used, in which case it shall be 1.\n\n            Version ::\u003d INTEGER { two-prime(0), multi(1) }\n               (CONSTRAINED BY\n               {-- version must be multi if otherPrimeInfos present --})\n\nand:\n\n    * otherPrimeInfos contains the information for the additional primes\n      r_3, ..., r_u, in order.  It shall be omitted if version is 0 and\n      shall contain at least one instance of OtherPrimeInfo if version\n      is 1.\n\nChange-Id: I458232a2e20ed68fddcc39c4c45333f33441f70b\nReviewed-on: https://boringssl-review.googlesource.com/7143\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "83bae4d5d58a425243f6ae856414344b6bc3ee41",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_asn1.c",
      "new_id": "36f6ee0ca4daaa3b426cb8dcb21b6e40f6afc263",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_asn1.c"
    }
  ]
}
