)]}'
{
  "commit": "95c5ec67ea2c2760c15ffd771e52f5e31f3e116f",
  "tree": "7c9cd77561028ee617e99d8255a967b5420d49ca",
  "parents": [
    "d65e1b2e41deb810565c94555d791e7384618da0"
  ],
  "author": {
    "name": "Filippo Valsorda",
    "email": "filippo@golang.org",
    "time": "Thu Apr 30 21:24:25 2020 -0400"
  },
  "committer": {
    "name": "Filippo Valsorda",
    "email": "filippo@golang.org",
    "time": "Fri May 08 00:05:42 2020 +0000"
  },
  "message": "crypto/x509: treat certificate names with trailing dots as invalid\n\nTrailing dots are not allowed in certificate fields like CN and SANs\n(while they are allowed and ignored as inputs to verification APIs).\nMove to considering names with trailing dots in certificates as invalid\nhostnames.\n\nFollowing the rule of CL 231378, these invalid names lose wildcard\nprocessing, but can still match if there is a 1:1 match, trailing dot\nincluded, with the VerifyHostname input.\n\nThey also become ignored Common Name values regardless of the\nGODEBUG\u003dx509ignoreCN\u003dX value, because we have to ignore invalid\nhostnames in Common Name for #24151. The error message automatically\naccounts for this, and doesn\u0027t suggest the environment variable. You\ndon\u0027t get to use a legacy deprecated field AND invalid hostnames.\n\n(While at it, also consider wildcards in VerifyHostname inputs as\ninvalid hostnames, not that it should change any observed behavior.)\n\nChange-Id: Iecdee8927df50c1d9daf904776b051de9f5e76ad\nReviewed-on: https://go-review.googlesource.com/c/go/+/231380\nRun-TryBot: Filippo Valsorda \u003cfilippo@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Katie Hockman \u003ckatie@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e8886c14c7e4844482aeb26eb12f07b77351532a",
      "old_mode": 33188,
      "old_path": "src/crypto/x509/verify.go",
      "new_id": "a9516fc375d074bb6fedd9d40463b493311912d0",
      "new_mode": 33188,
      "new_path": "src/crypto/x509/verify.go"
    },
    {
      "type": "modify",
      "old_id": "8a9036a3d0a66b5fd01eb0a63010846070e910ce",
      "old_mode": 33188,
      "old_path": "src/crypto/x509/verify_test.go",
      "new_id": "18271540c7513167293928ea8c680723488998a7",
      "new_mode": 33188,
      "new_path": "src/crypto/x509/verify_test.go"
    },
    {
      "type": "modify",
      "old_id": "f29e322bb4f036f4b03957aedbdc0146a91a371b",
      "old_mode": 33188,
      "old_path": "src/crypto/x509/x509_test.go",
      "new_id": "d69c8ba72ee474bc28b27fd88724a1f70c6623a1",
      "new_mode": 33188,
      "new_path": "src/crypto/x509/x509_test.go"
    }
  ]
}
