)]}' { "commit": "8c6fe45c2f678041f5150460a0efc5e9ce5cda8a", "tree": "be11a618d0987a3170fb84bd86cc3d40bb8182d5", "parents": [ "cde8abae14da0cf7d7047974246df5f0ccf4ca4d" ], "author": { "name": "David Benjamin", "email": "davidben@chromium.org", "time": "Sun Nov 30 02:49:50 2014 -0500" }, "committer": { "name": "Adam Langley", "email": "agl@google.com", "time": "Tue Dec 02 19:35:27 2014 +0000" }, "message": "Replace s-\u003efirst_packet with a s-\u003es3-\u003ehave_version bit.\n\nfirst_packet is a temporary connection-global flag set for the duration of some\ncall and then queried from other code. This kind of logic is too difficult to\nreason through. It also incorrectly treats renegotiate ClientHellos as\npre-version-negotiation records. This eliminates the need to query\nenc_write_ctx (which wasn\u0027t EVP_AEAD-aware anyway).\n\nInstead, take a leaf from Go TLS\u0027s book and add a have_version bit. This is\nplaced on s-\u003es3 as it is connection state; s-\u003es3 automatically gets reset on\nSSL_clear while s doesn\u0027t.\n\nThis new flag will also be used to determine whether to do the V2ClientHello\nsniff when the version-locked methods merge into SSLv23_method. It will also\nreplace needing to condition s-\u003emethod against a dummy DTLS_ANY_VERSION value\nto determine whether DTLS version negotiation has happened yet.\n\nChange-Id: I5c8bc6258b182ba4ab175a48a84eab6d3a001333\nReviewed-on: https://boringssl-review.googlesource.com/2442\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "2a388c7c2ab7523fa17c539d4e32fc434523e3c4", "old_mode": 33188, "old_path": "include/openssl/ssl.h", "new_id": "216d0c9c403b84c72082d41fbc988ff6470163c5", "new_mode": 33188, "new_path": "include/openssl/ssl.h" }, { "type": "modify", "old_id": "54e8c1e9abaeab5db1f74013b87ea546bea6c8f2", "old_mode": 33188, "old_path": "include/openssl/ssl3.h", "new_id": "3bb9da3a51dbf6033fba4fbff23480cb7228bb16", "new_mode": 33188, "new_path": "include/openssl/ssl3.h" }, { "type": "modify", "old_id": "64c1775a85cb90a14a39a04a4bd8fb52adba5dc1", "old_mode": 33188, "old_path": "ssl/d1_clnt.c", "new_id": "88a6af4710bad1b5a4d93c4ed7c02a6f8f875785", "new_mode": 33188, "new_path": "ssl/d1_clnt.c" }, { "type": "modify", "old_id": "2f75d2f6fe6bd71957a66633828f2900b65f5fec", "old_mode": 33188, "old_path": "ssl/d1_pkt.c", "new_id": "377b264381dcce4efab4c82ce48efe5c84833b45", "new_mode": 33188, "new_path": "ssl/d1_pkt.c" }, { "type": "modify", "old_id": "2b39ad1682d492089b21d116bf6d00a9a3c829c3", "old_mode": 33188, "old_path": "ssl/s3_clnt.c", "new_id": "635606e8298e534a7671b8a9784c9c7460820c79", "new_mode": 33188, "new_path": "ssl/s3_clnt.c" }, { "type": "modify", "old_id": "4cb7e6a554a482f32de4ede904970092a23444b4", "old_mode": 33188, "old_path": "ssl/s3_pkt.c", "new_id": "914a58e5a5c189cde3dc9fbb3fc0c8303299a251", "new_mode": 33188, "new_path": "ssl/s3_pkt.c" }, { "type": "modify", "old_id": "5ba5b42ed3a22b22faefb7cb4f76c1c6ee3f915a", "old_mode": 33188, "old_path": "ssl/s3_srvr.c", "new_id": "527850bea9afc3b92d3bcd5062f5b515f1c6a773", "new_mode": 33188, "new_path": "ssl/s3_srvr.c" }, { "type": "modify", "old_id": "783e8aefb45c7dd452c7c467378ddc71dc9f9012", "old_mode": 33188, "old_path": "ssl/ssl_lib.c", "new_id": "fef0649e26c6e3392d95f82b029204dab676e956", "new_mode": 33188, "new_path": "ssl/ssl_lib.c" } ] }