)]}'
{
  "commit": "af0665d8b0f39d14ba88209dfdb169a0b99d3734",
  "tree": "8fd138b5f6c2e5e12419808f5c3dd37559a00afb",
  "parents": [
    "c44c3c288d91ccfb83eb859d94bc80c4c59dfec7"
  ],
  "author": {
    "name": "Hanno Becker",
    "email": "hanno.becker@arm.com",
    "time": "Wed May 24 09:16:26 2017 +0100"
  },
  "committer": {
    "name": "Hanno Becker",
    "email": "hanno.becker@arm.com",
    "time": "Thu Jun 08 10:12:16 2017 +0100"
  },
  "message": "Simplify retaining of messages for future processing\n\nThere are situations in which it is not clear what message to expect\nnext. For example, the message following the ServerHello might be\neither a Certificate, a ServerKeyExchange or a CertificateRequest. We\ndeal with this situation in the following way: Initially, the message\nprocessing function for one of the allowed message types is called,\nwhich fetches and decodes a new message. If that message is not the\nexpected one, the function returns successfully (instead of throwing\nan error as usual for unexpected messages), and the handshake\ncontinues to the processing function for the next possible message. To\nnot have this function fetch a new message, a flag in the SSL context\nstructure is used to indicate that the last message was retained for\nfurther processing, and if that\u0027s set, the following processing\nfunction will not fetch a new record.\n\nThis commit simplifies the usage of this message-retaining parameter\nby doing the check within the record-fetching routine instead of the\nspecific message-processing routines. The code gets cleaner this way\nand allows retaining messages to be used in other situations as well\nwithout much effort. This will be used in the next commits.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "49b1aca8c21d79118fcc34eb68123dc20109691f",
      "old_mode": 33188,
      "old_path": "include/mbedtls/ssl.h",
      "new_id": "51c1c60d7ede65df089bdb8fec14a7e565ecba06",
      "new_mode": 33188,
      "new_path": "include/mbedtls/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "616cadc08bed74c862d2bbde3cebc19378bec3fe",
      "old_mode": 33188,
      "old_path": "library/ssl_cli.c",
      "new_id": "a2b9f8cfe118d110fe9b7e0aa63e2ebbb40ce0a1",
      "new_mode": 33188,
      "new_path": "library/ssl_cli.c"
    },
    {
      "type": "modify",
      "old_id": "208500a66cd0a9658a6633468a469bcb301482c1",
      "old_mode": 33188,
      "old_path": "library/ssl_tls.c",
      "new_id": "0a29970e87f420368ebaee28f272a743cbdd4020",
      "new_mode": 33188,
      "new_path": "library/ssl_tls.c"
    }
  ]
}
