)]}'
{
  "commit": "7934f08b263e31e68ba067e666268e42e8a4011d",
  "tree": "77352381fe0b55eddb87700a672d01d3293b8a2e",
  "parents": [
    "8f94c31b19c688692d9afcffe3afb2f85391b125"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Tue Aug 01 16:32:25 2017 -0400"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Tue Aug 08 21:13:04 2017 +0000"
  },
  "message": "Replace init_msg/init_num with a get_message hook.\n\nRather than init_msg/init_num, there is a get_message function which\neither returns success or try again. This function does not advance the\ncurrent message (see the previous preparatory change). It only completes\nthe current one if necessary.\n\nBeing idempotent means it may be freely placed at the top of states\nwhich otherwise have other asychronous operations. It also eases\nconverting the TLS 1.2 state machine. See\nhttps://docs.google.com/a/google.com/document/d/11n7LHsT3GwE34LAJIe3EFs4165TI4UR_3CqiM9LJVpI/edit?usp\u003dsharing\nfor details.\n\nThe read_message hook (later to be replaced by something which doesn\u0027t\ndepend on BIO) intentionally does not finish the handshake, only \"makes\nprogress\". A follow-up change will align both TLS and DTLS on consuming\none handshake record and always consuming the entire record (so init_buf\nmay contain trailing data). In a few places I\u0027ve gone ahead and\naccounted for that case because it was more natural to do so.\n\nThis change also removes a couple pointers of redundant state from every\nsocket.\n\nBug: 128\nChange-Id: I89d8f3622d3b53147d69ee3ac34bb654ed044a71\nReviewed-on: https://boringssl-review.googlesource.com/18806\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nCQ-Verified: CQ bot account: commit-bot@chromium.org \u003ccommit-bot@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1eea758f86aae1eac3c934518c44a393b4bc155c",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl3.h",
      "new_id": "f213dba73ab024799e398f896ae6d28a3406bc6e",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl3.h"
    },
    {
      "type": "modify",
      "old_id": "70af6c1c64d545abbe3779c49849b6eb66cb9af9",
      "old_mode": 33188,
      "old_path": "ssl/d1_both.cc",
      "new_id": "2538d28df33751d1a3b26d7e2d9bd7c3be31ba1f",
      "new_mode": 33188,
      "new_path": "ssl/d1_both.cc"
    },
    {
      "type": "modify",
      "old_id": "d17afa6e397bd9675bfcd72da95894e74eaaa99d",
      "old_mode": 33188,
      "old_path": "ssl/dtls_method.cc",
      "new_id": "9189427646201634880e7e408dc840ff69e009eb",
      "new_mode": 33188,
      "new_path": "ssl/dtls_method.cc"
    },
    {
      "type": "modify",
      "old_id": "c43bda3941e6f736156a6fb20e0377e6ee8629b8",
      "old_mode": 33188,
      "old_path": "ssl/handshake_client.cc",
      "new_id": "aa1524b73827426581c7ad05814265db86597683",
      "new_mode": 33188,
      "new_path": "ssl/handshake_client.cc"
    },
    {
      "type": "modify",
      "old_id": "1889177c8a9d96e7f052267e62c65f052d6d93df",
      "old_mode": 33188,
      "old_path": "ssl/handshake_server.cc",
      "new_id": "6cccff91956c483ae825201bf42904f8d7bc1e6a",
      "new_mode": 33188,
      "new_path": "ssl/handshake_server.cc"
    },
    {
      "type": "modify",
      "old_id": "90236e563bca34fb5bb58454ef2b2628d9da090d",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "e3230495eb33a8af6bc205c6e5dc3f0135d9cc51",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "4ae6f70d4d0e13458fe357b1c7e4db9097c440e7",
      "old_mode": 33188,
      "old_path": "ssl/s3_both.cc",
      "new_id": "9c4aa7ff5be5d6012605ebce6e0e62e859f04ea7",
      "new_mode": 33188,
      "new_path": "ssl/s3_both.cc"
    },
    {
      "type": "modify",
      "old_id": "f929fe332bd1aa8c976e4b3c41c2e0d0004696a4",
      "old_mode": 33188,
      "old_path": "ssl/s3_pkt.cc",
      "new_id": "4f802df7234c5480ddea7067a67acb33753fa038",
      "new_mode": 33188,
      "new_path": "ssl/s3_pkt.cc"
    },
    {
      "type": "modify",
      "old_id": "1ca7a952931f75043d99c9d825397c8acf2a135b",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.cc",
      "new_id": "950bbf8427354852ea4dc15b68e4155aa4493894",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "27a942a8986d8766a8efdc5eb4863cf950ff6672",
      "old_mode": 33188,
      "old_path": "ssl/t1_lib.cc",
      "new_id": "39f4be623f7665d0f17d3fbc97ec3c96fa9b9843",
      "new_mode": 33188,
      "new_path": "ssl/t1_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "1c2e7f7545e8bd7ae3c625f9c6ba8ddcb8f33d08",
      "old_mode": 33188,
      "old_path": "ssl/tls13_both.cc",
      "new_id": "39e0cb32237183267feec780aa794e503f6f43d2",
      "new_mode": 33188,
      "new_path": "ssl/tls13_both.cc"
    },
    {
      "type": "modify",
      "old_id": "fa4731fb468b3cb28774114d0bdb35fc8085d66a",
      "old_mode": 33188,
      "old_path": "ssl/tls13_client.cc",
      "new_id": "83066be5c93fff27104ee65e06e0c123587bae3d",
      "new_mode": 33188,
      "new_path": "ssl/tls13_client.cc"
    },
    {
      "type": "modify",
      "old_id": "1ae4849d7a621f1d89da43306c9d42af52a88ea1",
      "old_mode": 33188,
      "old_path": "ssl/tls13_enc.cc",
      "new_id": "f744cf89735110b7d7620dafc7efafef491a273a",
      "new_mode": 33188,
      "new_path": "ssl/tls13_enc.cc"
    },
    {
      "type": "modify",
      "old_id": "c2cd682481cfa41830f16d4e2acd5ac40c9af2eb",
      "old_mode": 33188,
      "old_path": "ssl/tls13_server.cc",
      "new_id": "2b802c47b92b22ab8e478280e4c9b93e0a195e94",
      "new_mode": 33188,
      "new_path": "ssl/tls13_server.cc"
    },
    {
      "type": "modify",
      "old_id": "1063ca9e95757b9837bee46e060bfc016cd71da0",
      "old_mode": 33188,
      "old_path": "ssl/tls_method.cc",
      "new_id": "2fe4be3bdd6352093fe3ff79e4e7f1ad6eb74064",
      "new_mode": 33188,
      "new_path": "ssl/tls_method.cc"
    }
  ]
}
