)]}'
{
  "commit": "0d82223ab4fc93fdbf56e00857bc94b321978c55",
  "tree": "67a116110f65f603a143aae5ec1ca2035486446f",
  "parents": [
    "974314a2b8ced6dba92f2de0a105ac86271f5325"
  ],
  "author": {
    "name": "Jonas Oreland",
    "email": "jonaso@google.com",
    "time": "Thu Jan 22 10:25:33 2026 -0800"
  },
  "committer": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Jan 22 12:06:46 2026 -0800"
  },
  "message": "Allow DTLSv1_set_initial_timeout_duration to be called mid-handshake\n\nThis is useful for WebRTC that \"guess\" a reasonable timeout\nduration based on first ICE rtt...but that can be wildly incorrect\nso modifying it can reduce worst case behavior.\n\nThe patch\na) modifies the timeout for next flight\nb) modifies ongoing timer(s).\nc) change representation of the DTLSTimer to keep a start time\nand a duration rather than only a expire time.\n\n---\n\nUpdate test as (from davidben@ thanks!)\nThe tests needed to AdvanceClock() because all the WriteFoo()\nmethods buffer up a packet, with the other methods implicitly flushing. SetTimeout() was patterned after SetMTU() which was missing an\nimplicit flush, but probably should have had one, to avoid reordering\nof signals.\n\nOnce that\u0027s fixed, the original test is sensitive to the timeout / 4\nbusiness. While I\u0027m here, trim the tests a bit. They included a bunch of\nbits that were part of exercising the core ACK machinery. But since\nthat\u0027s already covered elsewhere, we really only need to drive the shim\ninto a state with an ACK timer and try a SetTimeout\n\n---\n\nUpdate-Note: DTLSv1_set_initial_timeout_duration now also affect ongoing flights. You might need modify your code to check for timeout after calling the function.\n\nBug: webrtc:404763475\nChange-Id: Iaea911c38e2e7cfc056728d9f47530729032ffc2\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/86167\nCommit-Queue: Lily Chen \u003cchlily@google.com\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "26f61c7a0f45dc9ae7d68702a1d14091ea068696",
      "old_mode": 33188,
      "old_path": "include/openssl/base.h",
      "new_id": "1d050c7f1659db62624b1ea29654d0a9e312bd2a",
      "new_mode": 33188,
      "new_path": "include/openssl/base.h"
    },
    {
      "type": "modify",
      "old_id": "bc66010a1159b995092820ed2ac508fddd57e3c3",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "7d9499dbcd28324c92059e9d718a9059e7a144a1",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "01ff5b7766af53ad9cbc7ceb096d4997dd2eb0d9",
      "old_mode": 33188,
      "old_path": "ssl/d1_lib.cc",
      "new_id": "2f5ee09ae41184d15a528b891eb6071cf5e667f6",
      "new_mode": 33188,
      "new_path": "ssl/d1_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "f518b6fcf32688ba49f4f70fed080f8352e38ae9",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "e0fe1bfed058b8c4fd28574ce30cf4e85e190c7a",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "354947739ce42432da820fce797f618a9b60ee33",
      "old_mode": 33188,
      "old_path": "ssl/test/packeted_bio.cc",
      "new_id": "b30e384918df1531d9354e3d52a0fa3b4ba85501",
      "new_mode": 33188,
      "new_path": "ssl/test/packeted_bio.cc"
    },
    {
      "type": "modify",
      "old_id": "ed281e3c213cfc638684f102f040cb2661ced177",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/dtls.go",
      "new_id": "a18111a1dd05fbf7356e81474e53c81763c28a95",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/dtls.go"
    },
    {
      "type": "modify",
      "old_id": "08aea767ced5dd4c8dc4a22b4dcd3fbb28f21d41",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/dtls_tests.go",
      "new_id": "d2e161457ef1cb97f986856d621024e5be4dbb83",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/dtls_tests.go"
    },
    {
      "type": "modify",
      "old_id": "9cbca3737a1ab6617078b4d6ae689c2c5fc6f234",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/packet_adapter.go",
      "new_id": "96240b29f715fb90a488e9345e863313a3505476",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/packet_adapter.go"
    }
  ]
}
