{"action":"created","issue":{"url":"https://api.github.com/repos/openssl/openssl/issues/2015","repository_url":"https://api.github.com/repos/openssl/openssl","labels_url":"https://api.github.com/repos/openssl/openssl/issues/2015/labels{/name}","comments_url":"https://api.github.com/repos/openssl/openssl/issues/2015/comments","events_url":"https://api.github.com/repos/openssl/openssl/issues/2015/events","html_url":"https://github.com/openssl/openssl/pull/2015","id":192571514,"number":2015,"title":"TLSv1.3: Extensions refactor and add EncryptedExtensions message","user":{"login":"mattcaswell","id":7422273,"avatar_url":"https://avatars.githubusercontent.com/u/7422273?v=3","gravatar_id":"","url":"https://api.github.com/users/mattcaswell","html_url":"https://github.com/mattcaswell","followers_url":"https://api.github.com/users/mattcaswell/followers","following_url":"https://api.github.com/users/mattcaswell/following{/other_user}","gists_url":"https://api.github.com/users/mattcaswell/gists{/gist_id}","starred_url":"https://api.github.com/users/mattcaswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattcaswell/subscriptions","organizations_url":"https://api.github.com/users/mattcaswell/orgs","repos_url":"https://api.github.com/users/mattcaswell/repos","events_url":"https://api.github.com/users/mattcaswell/events{/privacy}","received_events_url":"https://api.github.com/users/mattcaswell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":16,"created_at":"2016-11-30T13:55:56Z","updated_at":"2016-12-08T12:40:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openssl/openssl/pulls/2015","html_url":"https://github.com/openssl/openssl/pull/2015","diff_url":"https://github.com/openssl/openssl/pull/2015.diff","patch_url":"https://github.com/openssl/openssl/pull/2015.patch"},"body":"<!--\r\nThank you for your pull request. Please review below requirements.\r\n\r\nContributors guide: https://github.com/openssl/openssl/blob/master/CONTRIBUTING\r\n-->\r\n\r\n##### Checklist\r\n<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->\r\n- [x] tests are added or updated\r\n- [x] CLA is signed\r\n\r\n##### Description of change\r\n<!-- Provide a description of the changes.\r\n\r\nIf it fixes a github issue, add Fixes #XXXX.\r\n-->\r\nThis is a major refactor/rewrite of the extension parsing and construction code. TLSv1.3 introduces a number of new messages where extensions may appear. Some extensions that previously appeared in the ServerHello, now move to the EncryptedExtensions message. This PR introduces a new extension framework which can be reused for whichever message needs to use it. Each built-in extension is given a definition consisting of:\r\n\r\n- a parse initialisation function\r\n- a client side parser\r\n- a server side parser\r\n- a parse finalisation function\r\n- a client side construction function\r\n- a server side construction function\r\n- a context defining what messages/protocols/protocol versions the extension is valid for\r\n\r\nFinally this is all brought together to introduced the new EncryptedExtensions message. I've also updated the ServerHello to be in the new TLSv1.3 format."},"comment":{"url":"https://api.github.com/repos/openssl/openssl/issues/comments/265731045","html_url":"https://github.com/openssl/openssl/pull/2015#issuecomment-265731045","issue_url":"https://api.github.com/repos/openssl/openssl/issues/2015","id":265731045,"user":{"login":"levitte","id":698918,"avatar_url":"https://avatars.githubusercontent.com/u/698918?v=3","gravatar_id":"","url":"https://api.github.com/users/levitte","html_url":"https://github.com/levitte","followers_url":"https://api.github.com/users/levitte/followers","following_url":"https://api.github.com/users/levitte/following{/other_user}","gists_url":"https://api.github.com/users/levitte/gists{/gist_id}","starred_url":"https://api.github.com/users/levitte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/levitte/subscriptions","organizations_url":"https://api.github.com/users/levitte/orgs","repos_url":"https://api.github.com/users/levitte/repos","events_url":"https://api.github.com/users/levitte/events{/privacy}","received_events_url":"https://api.github.com/users/levitte/received_events","type":"User","site_admin":false},"created_at":"2016-12-08T12:40:54Z","updated_at":"2016-12-08T12:40:54Z","body":"I'm currently hitting a failing `80-test_ssl_old.t` on VMS...  Trying to see if it's caused by this PR or a fluke"}}
{"actor":{"display_login":"levitte"}}