)]}'
{
  "commit": "ba62c812f01fb379f49f94a08a2d1282ce46e678",
  "tree": "9d3923ee255a8fff69083b0cd9cf21f0c46679af",
  "parents": [
    "2fb5f9cb8feec2234952f6999af941ac48555710"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Fri May 17 11:37:24 2024 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri May 17 21:31:34 2024 +0000"
  },
  "message": "Reject invalid IPv4 addresses in ipv4_from_asc\n\nThe old scanf-based parser accepted all kinds of invalid inputs like:\n\"1.2.3.4.5\"\n\"1.2.3.4 \"\n\"1.2.3. 4\"\n\" 1.2.3.4\"\n\"1.2.3.4.\"\n\"1.2.3.+4\"\n\"1.2.3.4.example.test\"\n\"1.2.3.01\"\n\"1.2.3.0x1\"\n\nThanks to Amir Mohamadi for pointing this out in\nhttps://boringssl-review.googlesource.com/c/boringssl/+/68167. This is a\ndifferent implementation since patching sscanf doesn\u0027t quite catch all\nthe cases. Add a bunch of tests, some imported from Amr\u0027s patch to\nOpenSSL upstream, plus a bunch of my own. (IPv6 parsing is complicated!)\n\nUpdate-Note: The deprecated (and dangerous) string-based APIs for\nconfiguring X.509 extensions will no longer silently misinterpret some\ninvalid inputs as IPv4 addresses. This was run through TGP internally\nwithout any issue.\n\nChange-Id: I66e223a466cc3e74df9f9ddc8aef3b6b6c790f7e\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/68567\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c6144d15742925945d617a06cf2c9582b2284cb9",
      "old_mode": 33188,
      "old_path": "crypto/x509/v3_utl.c",
      "new_id": "4426be5e36d139ed128032224962d805852595e2",
      "new_mode": 33188,
      "new_path": "crypto/x509/v3_utl.c"
    },
    {
      "type": "modify",
      "old_id": "ab107c78a8ce31270450c068f86dc5c83fdccf57",
      "old_mode": 33188,
      "old_path": "crypto/x509/x509_test.cc",
      "new_id": "c22a918e4f32f4e5b811ebb60ec3edc4ad712679",
      "new_mode": 33188,
      "new_path": "crypto/x509/x509_test.cc"
    }
  ]
}
