{"action":"created","comment":{"url":"https://api.github.com/repos/openssl/openssl/pulls/comments/71503633","id":71503633,"diff_hunk":"@@ -1781,6 +1781,16 @@ int tls_construct_server_key_exchange(SSL *s)\n             n += 1 + nr[i];\n         else\n #endif\n+#ifndef OPENSSL_NO_DH\n+        /*\n+         * for interoperability with some versions of the Microsoft TLS\n+         * stack, we need to zero pad the DHE pub key to the same length\n+         * as the prime, so include the length of the prime here\n+         */\n+        if ((i == 2) && (type & (SSL_kDHE | SSL_kDHEPSK)) && (nr[0] > nr[2]))","path":"ssl/statem/statem_srvr.c","position":19,"original_position":19,"commit_id":"5e5847be2b5120c908e091dcec2e7f483a9bfe44","original_commit_id":"5e5847be2b5120c908e091dcec2e7f483a9bfe44","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},"body":"Why do we need the `nr[0] > nr[2]` expression here?","created_at":"2016-07-20T10:51:00Z","updated_at":"2016-07-20T10:51:00Z","html_url":"https://github.com/openssl/openssl/pull/1320#discussion_r71503633","pull_request_url":"https://api.github.com/repos/openssl/openssl/pulls/1320","_links":{"self":{"href":"https://api.github.com/repos/openssl/openssl/pulls/comments/71503633"},"html":{"href":"https://github.com/openssl/openssl/pull/1320#discussion_r71503633"},"pull_request":{"href":"https://api.github.com/repos/openssl/openssl/pulls/1320"}}},"pull_request":{"url":"https://api.github.com/repos/openssl/openssl/pulls/1320","id":77683149,"html_url":"https://github.com/openssl/openssl/pull/1320","diff_url":"https://github.com/openssl/openssl/pull/1320.diff","patch_url":"https://github.com/openssl/openssl/pull/1320.patch","issue_url":"https://api.github.com/repos/openssl/openssl/issues/1320","number":1320,"state":"open","locked":false,"title":"zero pad DHE public key in ServerKeyExchange message for interop","user":{"login":"russor","id":2165776,"avatar_url":"https://avatars.githubusercontent.com/u/2165776?v=3","gravatar_id":"","url":"https://api.github.com/users/russor","html_url":"https://github.com/russor","followers_url":"https://api.github.com/users/russor/followers","following_url":"https://api.github.com/users/russor/following{/other_user}","gists_url":"https://api.github.com/users/russor/gists{/gist_id}","starred_url":"https://api.github.com/users/russor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/russor/subscriptions","organizations_url":"https://api.github.com/users/russor/orgs","repos_url":"https://api.github.com/users/russor/repos","events_url":"https://api.github.com/users/russor/events{/privacy}","received_events_url":"https://api.github.com/users/russor/received_events","type":"User","site_admin":false},"body":"Some versions of the Microsoft TLS stack have problems when the DHE public key\r\nis encoded with fewer bytes than the DHE prime.\r\n\r\nThere's some public acknowledgement of the bug at these links:\r\n\r\nhttps://connect.microsoft.com/IE/feedback/details/1253526/tls-serverkeyexchange-with-1024-dhe-may-encode-dh-y-as-127-bytes-breaking-internet-explorer-11\r\nhttps://connect.microsoft.com/IE/feedback/details/1104905/wininet-calculation-of-mac-in-tls-handshake-intermittently-fails-for-dhe-rsa-key-exchange\r\n\r\nThis encoding issue also causes the same errors with 2048-bit DHE, if the\r\npublic key is encoded in fewer than 256 bytes and includes the TLS stack on\r\nWindows Phone 8.x.\r\n\r\nPull request against master, but can be easily backported to 1.0.2 and 1.0.1 (if eligible), in those versions the logic is in ssl/s3_srvr.c and the added lines could be copied as-is.","created_at":"2016-07-15T21:46:19Z","updated_at":"2016-07-20T10:51:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e8f0950f1e9f40790321ea03f57877748d2d7f33","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/openssl/openssl/milestones/1","html_url":"https://github.com/openssl/openssl/milestones/1.1.0","labels_url":"https://api.github.com/repos/openssl/openssl/milestones/1/labels","id":1748232,"number":1,"title":"1.1.0","description":"","creator":{"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},"open_issues":15,"closed_issues":187,"state":"open","created_at":"2016-05-04T17:53:39Z","updated_at":"2016-07-20T10:44:34Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/openssl/openssl/pulls/1320/commits","review_comments_url":"https://api.github.com/repos/openssl/openssl/pulls/1320/comments","review_comment_url":"https://api.github.com/repos/openssl/openssl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openssl/openssl/issues/1320/comments","statuses_url":"https://api.github.com/repos/openssl/openssl/statuses/5e5847be2b5120c908e091dcec2e7f483a9bfe44","head":{"label":"russor:master","ref":"master","sha":"5e5847be2b5120c908e091dcec2e7f483a9bfe44","user":{"login":"russor","id":2165776,"avatar_url":"https://avatars.githubusercontent.com/u/2165776?v=3","gravatar_id":"","url":"https://api.github.com/users/russor","html_url":"https://github.com/russor","followers_url":"https://api.github.com/users/russor/followers","following_url":"https://api.github.com/users/russor/following{/other_user}","gists_url":"https://api.github.com/users/russor/gists{/gist_id}","starred_url":"https://api.github.com/users/russor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/russor/subscriptions","organizations_url":"https://api.github.com/users/russor/orgs","repos_url":"https://api.github.com/users/russor/repos","events_url":"https://api.github.com/users/russor/events{/privacy}","received_events_url":"https://api.github.com/users/russor/received_events","type":"User","site_admin":false},"repo":{"id":63441026,"name":"openssl","full_name":"russor/openssl","owner":{"login":"russor","id":2165776,"avatar_url":"https://avatars.githubusercontent.com/u/2165776?v=3","gravatar_id":"","url":"https://api.github.com/users/russor","html_url":"https://github.com/russor","followers_url":"https://api.github.com/users/russor/followers","following_url":"https://api.github.com/users/russor/following{/other_user}","gists_url":"https://api.github.com/users/russor/gists{/gist_id}","starred_url":"https://api.github.com/users/russor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/russor/subscriptions","organizations_url":"https://api.github.com/users/russor/orgs","repos_url":"https://api.github.com/users/russor/repos","events_url":"https://api.github.com/users/russor/events{/privacy}","received_events_url":"https://api.github.com/users/russor/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/russor/openssl","description":"TLS/SSL and crypto library","fork":true,"url":"https://api.github.com/repos/russor/openssl","forks_url":"https://api.github.com/repos/russor/openssl/forks","keys_url":"https://api.github.com/repos/russor/openssl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/russor/openssl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/russor/openssl/teams","hooks_url":"https://api.github.com/repos/russor/openssl/hooks","issue_events_url":"https://api.github.com/repos/russor/openssl/issues/events{/number}","events_url":"https://api.github.com/repos/russor/openssl/events","assignees_url":"https://api.github.com/repos/russor/openssl/assignees{/user}","branches_url":"https://api.github.com/repos/russor/openssl/branches{/branch}","tags_url":"https://api.github.com/repos/russor/openssl/tags","blobs_url":"https://api.github.com/repos/russor/openssl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/russor/openssl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/russor/openssl/git/refs{/sha}","trees_url":"https://api.github.com/repos/russor/openssl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/russor/openssl/statuses/{sha}","languages_url":"https://api.github.com/repos/russor/openssl/languages","stargazers_url":"https://api.github.com/repos/russor/openssl/stargazers","contributors_url":"https://api.github.com/repos/russor/openssl/contributors","subscribers_url":"https://api.github.com/repos/russor/openssl/subscribers","subscription_url":"https://api.github.com/repos/russor/openssl/subscription","commits_url":"https://api.github.com/repos/russor/openssl/commits{/sha}","git_commits_url":"https://api.github.com/repos/russor/openssl/git/commits{/sha}","comments_url":"https://api.github.com/repos/russor/openssl/comments{/number}","issue_comment_url":"https://api.github.com/repos/russor/openssl/issues/comments{/number}","contents_url":"https://api.github.com/repos/russor/openssl/contents/{+path}","compare_url":"https://api.github.com/repos/russor/openssl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/russor/openssl/merges","archive_url":"https://api.github.com/repos/russor/openssl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/russor/openssl/downloads","issues_url":"https://api.github.com/repos/russor/openssl/issues{/number}","pulls_url":"https://api.github.com/repos/russor/openssl/pulls{/number}","milestones_url":"https://api.github.com/repos/russor/openssl/milestones{/number}","notifications_url":"https://api.github.com/repos/russor/openssl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/russor/openssl/labels{/name}","releases_url":"https://api.github.com/repos/russor/openssl/releases{/id}","deployments_url":"https://api.github.com/repos/russor/openssl/deployments","created_at":"2016-07-15T17:56:08Z","updated_at":"2016-07-15T17:56:21Z","pushed_at":"2016-07-15T21:40:22Z","git_url":"git://github.com/russor/openssl.git","ssh_url":"git@github.com:russor/openssl.git","clone_url":"https://github.com/russor/openssl.git","svn_url":"https://github.com/russor/openssl","homepage":"https://www.openssl.org","size":92298,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"openssl:master","ref":"master","sha":"8918a954bf7225ad2bc70d39f3a9fbd8fec8e233","user":{"login":"openssl","id":3279138,"avatar_url":"https://avatars.githubusercontent.com/u/3279138?v=3","gravatar_id":"","url":"https://api.github.com/users/openssl","html_url":"https://github.com/openssl","followers_url":"https://api.github.com/users/openssl/followers","following_url":"https://api.github.com/users/openssl/following{/other_user}","gists_url":"https://api.github.com/users/openssl/gists{/gist_id}","starred_url":"https://api.github.com/users/openssl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openssl/subscriptions","organizations_url":"https://api.github.com/users/openssl/orgs","repos_url":"https://api.github.com/users/openssl/repos","events_url":"https://api.github.com/users/openssl/events{/privacy}","received_events_url":"https://api.github.com/users/openssl/received_events","type":"Organization","site_admin":false},"repo":{"id":7634677,"name":"openssl","full_name":"openssl/openssl","owner":{"login":"openssl","id":3279138,"avatar_url":"https://avatars.githubusercontent.com/u/3279138?v=3","gravatar_id":"","url":"https://api.github.com/users/openssl","html_url":"https://github.com/openssl","followers_url":"https://api.github.com/users/openssl/followers","following_url":"https://api.github.com/users/openssl/following{/other_user}","gists_url":"https://api.github.com/users/openssl/gists{/gist_id}","starred_url":"https://api.github.com/users/openssl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openssl/subscriptions","organizations_url":"https://api.github.com/users/openssl/orgs","repos_url":"https://api.github.com/users/openssl/repos","events_url":"https://api.github.com/users/openssl/events{/privacy}","received_events_url":"https://api.github.com/users/openssl/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openssl/openssl","description":"TLS/SSL and crypto library","fork":false,"url":"https://api.github.com/repos/openssl/openssl","forks_url":"https://api.github.com/repos/openssl/openssl/forks","keys_url":"https://api.github.com/repos/openssl/openssl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openssl/openssl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openssl/openssl/teams","hooks_url":"https://api.github.com/repos/openssl/openssl/hooks","issue_events_url":"https://api.github.com/repos/openssl/openssl/issues/events{/number}","events_url":"https://api.github.com/repos/openssl/openssl/events","assignees_url":"https://api.github.com/repos/openssl/openssl/assignees{/user}","branches_url":"https://api.github.com/repos/openssl/openssl/branches{/branch}","tags_url":"https://api.github.com/repos/openssl/openssl/tags","blobs_url":"https://api.github.com/repos/openssl/openssl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openssl/openssl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openssl/openssl/git/refs{/sha}","trees_url":"https://api.github.com/repos/openssl/openssl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openssl/openssl/statuses/{sha}","languages_url":"https://api.github.com/repos/openssl/openssl/languages","stargazers_url":"https://api.github.com/repos/openssl/openssl/stargazers","contributors_url":"https://api.github.com/repos/openssl/openssl/contributors","subscribers_url":"https://api.github.com/repos/openssl/openssl/subscribers","subscription_url":"https://api.github.com/repos/openssl/openssl/subscription","commits_url":"https://api.github.com/repos/openssl/openssl/commits{/sha}","git_commits_url":"https://api.github.com/repos/openssl/openssl/git/commits{/sha}","comments_url":"https://api.github.com/repos/openssl/openssl/comments{/number}","issue_comment_url":"https://api.github.com/repos/openssl/openssl/issues/comments{/number}","contents_url":"https://api.github.com/repos/openssl/openssl/contents/{+path}","compare_url":"https://api.github.com/repos/openssl/openssl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openssl/openssl/merges","archive_url":"https://api.github.com/repos/openssl/openssl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openssl/openssl/downloads","issues_url":"https://api.github.com/repos/openssl/openssl/issues{/number}","pulls_url":"https://api.github.com/repos/openssl/openssl/pulls{/number}","milestones_url":"https://api.github.com/repos/openssl/openssl/milestones{/number}","notifications_url":"https://api.github.com/repos/openssl/openssl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openssl/openssl/labels{/name}","releases_url":"https://api.github.com/repos/openssl/openssl/releases{/id}","deployments_url":"https://api.github.com/repos/openssl/openssl/deployments","created_at":"2013-01-15T22:34:48Z","updated_at":"2016-07-20T06:52:11Z","pushed_at":"2016-07-20T10:44:46Z","git_url":"git://github.com/openssl/openssl.git","ssh_url":"git@github.com:openssl/openssl.git","clone_url":"https://github.com/openssl/openssl.git","svn_url":"https://github.com/openssl/openssl","homepage":"https://www.openssl.org","size":113736,"stargazers_count":2903,"watchers_count":2903,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1663,"mirror_url":null,"open_issues_count":113,"forks":1663,"open_issues":113,"watchers":2903,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openssl/openssl/pulls/1320"},"html":{"href":"https://github.com/openssl/openssl/pull/1320"},"issue":{"href":"https://api.github.com/repos/openssl/openssl/issues/1320"},"comments":{"href":"https://api.github.com/repos/openssl/openssl/issues/1320/comments"},"review_comments":{"href":"https://api.github.com/repos/openssl/openssl/pulls/1320/comments"},"review_comment":{"href":"https://api.github.com/repos/openssl/openssl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openssl/openssl/pulls/1320/commits"},"statuses":{"href":"https://api.github.com/repos/openssl/openssl/statuses/5e5847be2b5120c908e091dcec2e7f483a9bfe44"}}}}
{"actor":{"display_login":"mattcaswell"}}