)]}'
{
  "commit": "e33257fa6702d3a4c539c7666cb7678e05ab68ee",
  "tree": "88bd9023f941f060645381d2009fe6e54fbcba24",
  "parents": [
    "8ead3f531445004f1122d11fa7083e8d1bcc5200"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Jun 15 13:12:42 2023 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jun 19 18:54:09 2023 +0000"
  },
  "message": "Pass IPv6 vs IPv4 down to the shim\n\nThe runner currently tries to listen on IPv6 and then falls back to IPv4\non error. The shim does the same. If they pick different ones, this\nbreaks down.\n\nNormally, fallback happens because the system doesn\u0027t have IPv6, and\nboth sides will make the same decision. But if binding to IPv6 fails for\nother reasons, they may mismatch. We\u0027re observing them fail due to what\nseems to port exhaustion. When this happens, shim and runner don\u0027t\nagree on the same address family.\n\nInstead, just tell the shim which address to connect to. This doesn\u0027t\nfix the underlying port exhaustion problem, but it does seem to fix the\nflakes. Although given we are still exhausting ports and falling back to\nIPv4, it doesn\u0027t truly fix it. Later CLs will address port exhaustion by\nusing a single server port.\n\nThis changes the runner \u003c-\u003e shim protocol, but hopefully in a fairly\nobvious way that others using BoGo can easily follow. It shouldn\u0027t break\nour cross-version tests because we keep runner and shim at the same\nversio there.\n\nTo avoid needing to make an incompatible change to the shim \u003c-\u003e\nhandshaker protocol, which would impact our cross-version tests, this\nintroduces a mechanism for the shim omit flags when talking to the\nhandshaker. The handshaker doesn\u0027t need to know how to connect to the\nrunner.\n\nAlso print the error string on Windows. Sadly this is a bit tedious.\n\nChange-Id: Ic8bda9a854a115c206c05a659a2e34f544b844a6\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/60885\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "86ad24d0d548194e4b5ffab85d6b58bc2a76c9c4",
      "old_mode": 33188,
      "old_path": "ssl/test/PORTING.md",
      "new_id": "5819b49f709934297f64ba2c03da3c1aff44032e",
      "new_mode": 33188,
      "new_path": "ssl/test/PORTING.md"
    },
    {
      "type": "modify",
      "old_id": "e2f79d30084498d7395be7a1496f8398eaa3a1b1",
      "old_mode": 33188,
      "old_path": "ssl/test/bssl_shim.cc",
      "new_id": "c14d7c0601ce72841391cc4120c204f83bf12b21",
      "new_mode": 33188,
      "new_path": "ssl/test/bssl_shim.cc"
    },
    {
      "type": "modify",
      "old_id": "6516547fa85b549500828428091021aaab370095",
      "old_mode": 33188,
      "old_path": "ssl/test/handshake_util.cc",
      "new_id": "b6d8280d6c06d6e32acbd60bb204f48e71c45911",
      "new_mode": 33188,
      "new_path": "ssl/test/handshake_util.cc"
    },
    {
      "type": "modify",
      "old_id": "da0795bbb95159af4e4229be90a5e4217bba3967",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/runner.go",
      "new_id": "e7ee1941930ad9d08a5ff440be6d0863f178ff9b",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/runner.go"
    },
    {
      "type": "modify",
      "old_id": "485a560b28422bbd14f11832f099d8ea733b615b",
      "old_mode": 33188,
      "old_path": "ssl/test/test_config.cc",
      "new_id": "980bef1352291bc6faee6641d115de9755fd03f9",
      "new_mode": 33188,
      "new_path": "ssl/test/test_config.cc"
    },
    {
      "type": "modify",
      "old_id": "e5c605799db1ee5ac4b765912af1b49028832f4f",
      "old_mode": 33188,
      "old_path": "ssl/test/test_config.h",
      "new_id": "4e848000560f0cc0a5986d89ab0aecf77465461b",
      "new_mode": 33188,
      "new_path": "ssl/test/test_config.h"
    }
  ]
}
