)]}'
{
  "commit": "f81aa23cf04f2be5fd2159e855e185b2d75ba503",
  "tree": "76c86297ddadb90fb189b5311414ef3dbf4f5cb5",
  "parents": [
    "95c5ec67ea2c2760c15ffd771e52f5e31f3e116f"
  ],
  "author": {
    "name": "Filippo Valsorda",
    "email": "filippo@golang.org",
    "time": "Thu Apr 30 22:35:35 2020 -0400"
  },
  "committer": {
    "name": "Filippo Valsorda",
    "email": "filippo@golang.org",
    "time": "Fri May 08 00:05:56 2020 +0000"
  },
  "message": "crypto/x509: treat hostnames with colons as invalid\n\nColons are port separators, so it\u0027s risky to allow them in hostnames.\nPer the CL 231377 rule, if we at least consider them invalid we will not\napply wildcard processing to them, making behavior a little more\npredictable.\n\nWe were considering hostnames with colons valid (against spec) because\nthat meant we\u0027d not ignore them in Common Name. (There was at least\none deployment that was putting colons in Common Name and expecting it\nto verify.)\n\nNow that Common Name is ignored by default, those clients will break\nagain, so it\u0027s a good time to drop the exception. Hopefully they moved\nto SANs, where invalid hostnames are checked 1:1 (ignoring wildcards)\nbut still work. (If they didn\u0027t, this change means they can\u0027t use\nGODEBUG\u003dx509ignoreCN\u003d0 to opt back in, but again you don\u0027t get to use a\nlegacy deprecated field AND invalid hostnames.)\n\nUpdates #24151\n\nChange-Id: Id44b4fecb2d620480acdfc65fea1473f7abbca7f\nReviewed-on: https://go-review.googlesource.com/c/go/+/231381\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": "a9516fc375d074bb6fedd9d40463b493311912d0",
      "old_mode": 33188,
      "old_path": "src/crypto/x509/verify.go",
      "new_id": "a058f349c54804a972c6def1de0f952aed70886a",
      "new_mode": 33188,
      "new_path": "src/crypto/x509/verify.go"
    },
    {
      "type": "modify",
      "old_id": "18271540c7513167293928ea8c680723488998a7",
      "old_mode": 33188,
      "old_path": "src/crypto/x509/verify_test.go",
      "new_id": "650b2d2fc6e9ecc898a2f59a3a6a9ce7befb7d25",
      "new_mode": 33188,
      "new_path": "src/crypto/x509/verify_test.go"
    },
    {
      "type": "modify",
      "old_id": "d69c8ba72ee474bc28b27fd88724a1f70c6623a1",
      "old_mode": 33188,
      "old_path": "src/crypto/x509/x509_test.go",
      "new_id": "7e001471dd4b673e0a3f1d4fb70d2788c869418b",
      "new_mode": 33188,
      "new_path": "src/crypto/x509/x509_test.go"
    }
  ]
}
