)]}'
{"oslo_vmware/rw_handles.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"2d37111434c4ac7ac279a5bec8fc7f4e9d63b6f1","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        _urlparse \u003d urlparse.urlparse(url)"},{"line_number":69,"context_line":"        scheme, netloc, path, params, query, fragment \u003d _urlparse"},{"line_number":70,"context_line":"        try:"},{"line_number":71,"context_line":"            if scheme \u003d\u003d \u0027http\u0027:"},{"line_number":72,"context_line":"                conn \u003d httplib.HTTPConnection(netloc)"},{"line_number":73,"context_line":"            elif scheme \u003d\u003d \u0027https\u0027:"},{"line_number":74,"context_line":"                conn \u003d httplib.HTTPSConnection(netloc)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_8ee1992c","line":71,"updated":"2015-08-26 11:48:15.000000000","message":"Can we extract this code to a method and use it here and in _create_write_connection?","commit_id":"4be34f0f1865245f5adc3db85741fb8495e82883"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"0280652080345e39930612f2003834998dfb998c","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        _urlparse \u003d urlparse.urlparse(url)"},{"line_number":69,"context_line":"        scheme, netloc, path, params, query, fragment \u003d _urlparse"},{"line_number":70,"context_line":"        try:"},{"line_number":71,"context_line":"            if scheme \u003d\u003d \u0027http\u0027:"},{"line_number":72,"context_line":"                conn \u003d httplib.HTTPConnection(netloc)"},{"line_number":73,"context_line":"            elif scheme \u003d\u003d \u0027https\u0027:"},{"line_number":74,"context_line":"                conn \u003d httplib.HTTPSConnection(netloc)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_e954cfc6","line":71,"in_reply_to":"fa1b9901_8ee1992c","updated":"2015-08-26 12:17:34.000000000","message":"OK, I will try to extract the common code.","commit_id":"4be34f0f1865245f5adc3db85741fb8495e82883"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"2d37111434c4ac7ac279a5bec8fc7f4e9d63b6f1","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                    else:"},{"line_number":139,"context_line":"                        cert_reqs \u003d ssl.CERT_NONE"},{"line_number":140,"context_line":"                    cacerts \u003d None"},{"line_number":141,"context_line":"                conn.set_cert(ca_certs\u003dcacerts, cert_reqs\u003dcert_reqs,"},{"line_number":142,"context_line":"                              assert_fingerprint\u003dssl_thumbprint)"},{"line_number":143,"context_line":"            else:"},{"line_number":144,"context_line":"                excep_msg \u003d _(\"Invalid scheme: %s.\") % scheme"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_ce66b1ec","line":141,"updated":"2015-08-26 11:48:15.000000000","message":"Is it ok we set ca_certs to None and cert_reqs\u003dssl.CERT_NONE when we pass an SSL thumbprint?\n\nor do we need to care about these parameters when we have a thumbprint?","commit_id":"4be34f0f1865245f5adc3db85741fb8495e82883"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"0280652080345e39930612f2003834998dfb998c","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                    else:"},{"line_number":139,"context_line":"                        cert_reqs \u003d ssl.CERT_NONE"},{"line_number":140,"context_line":"                    cacerts \u003d None"},{"line_number":141,"context_line":"                conn.set_cert(ca_certs\u003dcacerts, cert_reqs\u003dcert_reqs,"},{"line_number":142,"context_line":"                              assert_fingerprint\u003dssl_thumbprint)"},{"line_number":143,"context_line":"            else:"},{"line_number":144,"context_line":"                excep_msg \u003d _(\"Invalid scheme: %s.\") % scheme"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_8999937b","line":141,"in_reply_to":"fa1b9901_ce66b1ec","updated":"2015-08-26 12:17:34.000000000","message":"Yes. In this case only the SSL thumbprint is verified which is enough guarantee of the authenticity of the remote side.","commit_id":"4be34f0f1865245f5adc3db85741fb8495e82883"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"0c80653c9ca7034a3b048f64332241e697a4a47a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                    cert_reqs \u003d ssl.CERT_NONE"},{"line_number":83,"context_line":"                cacerts \u003d None"},{"line_number":84,"context_line":"            conn.set_cert(ca_certs\u003dcacerts, cert_reqs\u003dcert_reqs,"},{"line_number":85,"context_line":"                          assert_fingerprint\u003dssl_thumbprint)"},{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            excep_msg \u003d _(\"Invalid scheme: %s.\") % scheme"},{"line_number":88,"context_line":"            LOG.error(excep_msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_66553ef8","line":85,"updated":"2015-08-26 15:41:57.000000000","message":"Do both of these values always use the same hash function?  Just want to make sure we don\u0027t have a case where one is SHA1 and the other is SHA256","commit_id":"451e7d6c9255672026dea69777e80113c9ee06c1"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"8a7a771b6d80eefa51360c4a0c66f302a4dc34e1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                    cert_reqs \u003d ssl.CERT_NONE"},{"line_number":83,"context_line":"                cacerts \u003d None"},{"line_number":84,"context_line":"            conn.set_cert(ca_certs\u003dcacerts, cert_reqs\u003dcert_reqs,"},{"line_number":85,"context_line":"                          assert_fingerprint\u003dssl_thumbprint)"},{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            excep_msg \u003d _(\"Invalid scheme: %s.\") % scheme"},{"line_number":88,"context_line":"            LOG.error(excep_msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_64871810","line":85,"in_reply_to":"fa1b9901_66553ef8","updated":"2015-08-27 08:03:58.000000000","message":"it depends on the length of the specified thumbprint:\nhttps://github.com/shazow/urllib3/blob/master/urllib3/util/ssl_.py#L12\n\nin our case we pass SHA1 thumbprint which is 40 chars so urllib3 is also using SHA1 for verification","commit_id":"451e7d6c9255672026dea69777e80113c9ee06c1"}],"oslo_vmware/tests/test_rw_handles.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"32047df66525a6b38faad19352c92b7d11a559fe","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        conn \u003d handle._create_connection(\u0027http://fira\u0027, \u0027GET\u0027)"},{"line_number":59,"context_line":"        self.assertIsInstance(conn, httplib.HTTPConnection)"},{"line_number":60,"context_line":"        conn \u003d handle._create_connection(\u0027https://fira\u0027, \u0027GET\u0027)"},{"line_number":61,"context_line":"        self.assertIsInstance(conn, httplib.HTTPSConnection)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class FileWriteHandleTest(base.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_d7eeca21","line":61,"updated":"2015-08-27 12:31:12.000000000","message":"We can also assert for conn.set_cert arguments.","commit_id":"c47cfdcf6ab755452e655c1821193aff384d1565"}]}
