{"action":"closed","issue":{"url":"https://api.github.com/repos/red/red/issues/3565","repository_url":"https://api.github.com/repos/red/red","labels_url":"https://api.github.com/repos/red/red/issues/3565/labels{/name}","comments_url":"https://api.github.com/repos/red/red/issues/3565/comments","events_url":"https://api.github.com/repos/red/red/issues/3565/events","html_url":"https://github.com/red/red/issues/3565","id":369890461,"node_id":"MDU6SXNzdWUzNjk4OTA0NjE=","number":3565,"title":"macOS: allow simple-io to use TLS >= 1.0","user":{"login":"x8x","id":9579520,"node_id":"MDQ6VXNlcjk1Nzk1MjA=","avatar_url":"https://avatars0.githubusercontent.com/u/9579520?v=4","gravatar_id":"","url":"https://api.github.com/users/x8x","html_url":"https://github.com/x8x","followers_url":"https://api.github.com/users/x8x/followers","following_url":"https://api.github.com/users/x8x/following{/other_user}","gists_url":"https://api.github.com/users/x8x/gists{/gist_id}","starred_url":"https://api.github.com/users/x8x/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/x8x/subscriptions","organizations_url":"https://api.github.com/users/x8x/orgs","repos_url":"https://api.github.com/users/x8x/repos","events_url":"https://api.github.com/users/x8x/events{/privacy}","received_events_url":"https://api.github.com/users/x8x/received_events","type":"User","site_admin":false},"labels":[{"id":88065,"node_id":"MDU6TGFiZWw4ODA2NQ==","url":"https://api.github.com/repos/red/red/labels/status.built","name":"status.built","color":"d4ffdd","default":false},{"id":88066,"node_id":"MDU6TGFiZWw4ODA2Ng==","url":"https://api.github.com/repos/red/red/labels/status.tested","name":"status.tested","color":"94c2a0","default":false},{"id":88069,"node_id":"MDU6TGFiZWw4ODA2OQ==","url":"https://api.github.com/repos/red/red/labels/type.wish","name":"type.wish","color":"e8aed4","default":false}],"state":"closed","locked":false,"assignee":{"login":"qtxie","id":1673525,"node_id":"MDQ6VXNlcjE2NzM1MjU=","avatar_url":"https://avatars2.githubusercontent.com/u/1673525?v=4","gravatar_id":"","url":"https://api.github.com/users/qtxie","html_url":"https://github.com/qtxie","followers_url":"https://api.github.com/users/qtxie/followers","following_url":"https://api.github.com/users/qtxie/following{/other_user}","gists_url":"https://api.github.com/users/qtxie/gists{/gist_id}","starred_url":"https://api.github.com/users/qtxie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qtxie/subscriptions","organizations_url":"https://api.github.com/users/qtxie/orgs","repos_url":"https://api.github.com/users/qtxie/repos","events_url":"https://api.github.com/users/qtxie/events{/privacy}","received_events_url":"https://api.github.com/users/qtxie/received_events","type":"User","site_admin":false},"assignees":[{"login":"qtxie","id":1673525,"node_id":"MDQ6VXNlcjE2NzM1MjU=","avatar_url":"https://avatars2.githubusercontent.com/u/1673525?v=4","gravatar_id":"","url":"https://api.github.com/users/qtxie","html_url":"https://github.com/qtxie","followers_url":"https://api.github.com/users/qtxie/followers","following_url":"https://api.github.com/users/qtxie/following{/other_user}","gists_url":"https://api.github.com/users/qtxie/gists{/gist_id}","starred_url":"https://api.github.com/users/qtxie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qtxie/subscriptions","organizations_url":"https://api.github.com/users/qtxie/orgs","repos_url":"https://api.github.com/users/qtxie/repos","events_url":"https://api.github.com/users/qtxie/events{/privacy}","received_events_url":"https://api.github.com/users/qtxie/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2018-10-14T10:53:14Z","updated_at":"2018-10-22T23:03:45Z","closed_at":"2018-10-22T23:03:45Z","author_association":"CONTRIBUTOR","body":"On macOS, more and more online APIs require TLS >= v1.2 while it looks like `simple-io` is brockering only a v1.0.\r\nThis is the kind of error online APIs returns:\r\n```\r\nsuccess: false\r\nerrors: [\r\n\t#(\r\n\t\tyourTlsVersion: \"TLSv1\"\r\n\t\tmessage: {xxx does not support deprecated TLS versions for security reasons. Please upgrade your client to TLS 1.2 or greater.}\r\n\t)\r\n]\r\n```\r\n\r\nMaybe should use any of these:\r\n- `kCFStreamSocketSecurityLevelTLSv1`:\r\n  - https://developer.apple.com/documentation/corefoundation/kcfstreamsocketsecurityleveltlsv1?language=objc\r\n  - Apparently `kCFStreamSocketSecurityLevelTLSv1` means to use a minimum of TLS 1.0, which means TLS 1.2 will be used when available.\r\n  - And should SSL <= 3.0 be disallowed because of [Poodle](https://www.us-cert.gov/ncas/alerts/TA14-290A)\r\n- `kCFStreamSocketSecurityLevelNegotiatedSSL`:\r\n  - https://developer.apple.com/documentation/corefoundation/kcfstreamsocketsecuritylevelnegotiatedssl?language=objc\r\n\r\n\r\n\r\nAlso, these OS APIs used by `simple-io` on macOS are marked as **deprecated**:\r\n- `kCFStreamPropertyHTTPShouldAutoredirect`:\r\n  - https://developer.apple.com/documentation/cfnetwork/kcfstreampropertyhttpshouldautoredirect?language=objc\r\n\r\n- `kCFStreamPropertyHTTPResponseHeader`:\r\n  - https://developer.apple.com/documentation/cfnetwork/kcfstreampropertyhttpresponseheader?language=objc\r\n\r\n- `CFReadStreamCreateForHTTPRequest`\r\n  - https://developer.apple.com/documentation/cfnetwork/1426845-cfreadstreamcreateforhttprequest?language=objc\r\n\r\n- `CFURLCreateStringByAddingPercentEscapes`:\r\n  - https://developer.apple.com/documentation/corefoundation/1542665-cfurlcreatestringbyaddingpercent?language=objc\r\n"}}
{"actor":{"display_login":"qtxie"}}