)]}'
{"octavia/certificates/generator/local.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f1369905390d4ad13b0f31014303088f0baf88b0","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            lo_req \u003d crypto.load_certificate_request(crypto.FILETYPE_PEM, csr)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"            new_cert \u003d crypto.X509()"},{"line_number":99,"context_line":"            new_cert.set_version(2)"},{"line_number":100,"context_line":"            new_cert.set_serial_number(LocalCertGenerator._new_serial())"},{"line_number":101,"context_line":"            new_cert.gmtime_adj_notBefore(0)"},{"line_number":102,"context_line":"            new_cert.gmtime_adj_notAfter(validity)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_e09cf55d","line":99,"updated":"2015-01-01 21:35:26.000000000","message":"Here this is set to 2 but in the test you\u0027re looking for v3?","commit_id":"0159173850142935953888f6af5ffced08ea41a3"},{"author":{"_account_id":7398,"name":"Carlos Garza","email":"carlos.garza@rackspace.com","username":"crc32"},"change_message_id":"87690329315bb2713c9af18ad79ec4942528c187","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            lo_req \u003d crypto.load_certificate_request(crypto.FILETYPE_PEM, csr)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"            new_cert \u003d crypto.X509()"},{"line_number":99,"context_line":"            new_cert.set_version(2)"},{"line_number":100,"context_line":"            new_cert.set_serial_number(LocalCertGenerator._new_serial())"},{"line_number":101,"context_line":"            new_cert.gmtime_adj_notBefore(0)"},{"line_number":102,"context_line":"            new_cert.gmtime_adj_notAfter(validity)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_d018aa20","line":99,"updated":"2015-01-02 03:38:59.000000000","message":"Yes this actually sets the version to 3. x509 for some reason started with 0 representing version 1.","commit_id":"0159173850142935953888f6af5ffced08ea41a3"},{"author":{"_account_id":7398,"name":"Carlos Garza","email":"carlos.garza@rackspace.com","username":"crc32"},"change_message_id":"87690329315bb2713c9af18ad79ec4942528c187","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                        six.b(\u0027digitalSignature, keyEncipherment\u0027)))"},{"line_number":111,"context_line":"            exts.append(crypto.X509Extension(six.b(\u0027extendedKeyUsage\u0027), False,"},{"line_number":112,"context_line":"                        six.b(\u0027clientAuth, serverAuth\u0027)))"},{"line_number":113,"context_line":"            exts.append(crypto.X509Extension(six.b(\u0027nsCertType\u0027), False,"},{"line_number":114,"context_line":"                        six.b(\u0027client, server\u0027)))"},{"line_number":115,"context_line":"            new_cert.add_extensions(exts)"},{"line_number":116,"context_line":"            new_cert.sign(lo_key, ca_digest)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_f013e6fe","line":113,"updated":"2015-01-02 03:38:59.000000000","message":"This is obsolete but it was suggested we use this to indicate clientAuth as well.","commit_id":"0159173850142935953888f6af5ffced08ea41a3"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"a897e42177ecd4748fcd1ba24364a2dbaa0fe41d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from octavia.i18n import _LE, _LI"},{"line_number":24,"context_line":"from octavia.openstack.common import log as logging"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import six"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_86ee9089","line":26,"updated":"2015-01-07 05:18:42.000000000","message":"this import should be in the 2nd level with OpenSSL and oslo.config.  Something is going on with our gating.","commit_id":"712a29e8fbb2c78cd8f9224df1b6c22b18f8fbfe"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"5b88f1eb3d76646d442b0799c0cbd6b9cd2e5b73","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            exts.append(crypto.X509Extension(six.b(\u0027extendedKeyUsage\u0027), False,"},{"line_number":112,"context_line":"                        six.b(\u0027clientAuth, serverAuth\u0027)))"},{"line_number":113,"context_line":"            exts.append(crypto.X509Extension(six.b(\u0027nsCertType\u0027), False,"},{"line_number":114,"context_line":"                        six.b(\u0027client, server\u0027)))"},{"line_number":115,"context_line":"            new_cert.add_extensions(exts)"},{"line_number":116,"context_line":"            new_cert.sign(lo_key, ca_digest)"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_e9ad4b85","line":114,"updated":"2015-01-07 23:46:02.000000000","message":"This is likely in the realm of nit, but this would look cleaner as:\n\nexts \u003d [\n    crypto.X509Extension(),\n    ...\n]\n\ninstead of using append","commit_id":"9ecb406d541b9a81d196e45d6fd1da08cb321bd1"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"745819a08fc29bd92e53d1f39b82eeaaff6f6c00","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            new_cert.set_issuer(lo_cert.get_subject())"},{"line_number":104,"context_line":"            new_cert.set_subject(lo_req.get_subject())"},{"line_number":105,"context_line":"            new_cert.set_pubkey(lo_req.get_pubkey())"},{"line_number":106,"context_line":"            exts \u003d [crypto.X509Extension(six.b(\u0027basicConstraints\u0027), True,"},{"line_number":107,"context_line":"                    six.b(\u0027CA:false\u0027)),"},{"line_number":108,"context_line":"                    crypto.X509Extension(six.b(\u0027keyUsage\u0027), True,"},{"line_number":109,"context_line":"                    six.b(\u0027digitalSignature, keyEncipherment\u0027)),"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_302792c8","line":106,"updated":"2015-01-08 23:05:13.000000000","message":"This section\u0027s indenting is very strange... I\u0027d do something like:\n\nhttp://pastebin.com/Px6NiqWd","commit_id":"33800f6631c76f2e3a132d75640767e9e8c9ac18"}],"octavia/tests/unit/certificates/generator/test_local.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f1369905390d4ad13b0f31014303088f0baf88b0","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                         datetime.timedelta(seconds\u003d2 * 365 * 24 * 60 * 60))"},{"line_number":90,"context_line":"        diff \u003d should_expire - expires"},{"line_number":91,"context_line":"        self.assertTrue(diff \u003c datetime.timedelta(seconds\u003d10))"},{"line_number":92,"context_line":"        cert_text \u003d crypto.dump_certificate(crypto.FILETYPE_TEXT, cert)"},{"line_number":93,"context_line":"        self.assertIn(six.b(\"Version: 3\"), cert_text)"},{"line_number":94,"context_line":"        self.assertIn(six.b(\"TLS Web Server Authentication\"), cert_text)"},{"line_number":95,"context_line":"        self.assertIn(six.b(\"TLS Web Client Authentication\"), cert_text)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_a09bcd64","line":92,"updated":"2015-01-01 21:35:26.000000000","message":"Could you add a newline above this and put a comment saying what you\u0027re checking, just to keep it nice and clean like the rest of the test?","commit_id":"0159173850142935953888f6af5ffced08ea41a3"},{"author":{"_account_id":7398,"name":"Carlos Garza","email":"carlos.garza@rackspace.com","username":"crc32"},"change_message_id":"87690329315bb2713c9af18ad79ec4942528c187","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                         datetime.timedelta(seconds\u003d2 * 365 * 24 * 60 * 60))"},{"line_number":90,"context_line":"        diff \u003d should_expire - expires"},{"line_number":91,"context_line":"        self.assertTrue(diff \u003c datetime.timedelta(seconds\u003d10))"},{"line_number":92,"context_line":"        cert_text \u003d crypto.dump_certificate(crypto.FILETYPE_TEXT, cert)"},{"line_number":93,"context_line":"        self.assertIn(six.b(\"Version: 3\"), cert_text)"},{"line_number":94,"context_line":"        self.assertIn(six.b(\"TLS Web Server Authentication\"), cert_text)"},{"line_number":95,"context_line":"        self.assertIn(six.b(\"TLS Web Client Authentication\"), cert_text)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_b3f7a5d3","line":92,"in_reply_to":"3a961159_a09bcd64","updated":"2015-01-02 03:38:59.000000000","message":"Yea I\u0027ll do that.","commit_id":"0159173850142935953888f6af5ffced08ea41a3"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f1369905390d4ad13b0f31014303088f0baf88b0","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        diff \u003d should_expire - expires"},{"line_number":91,"context_line":"        self.assertTrue(diff \u003c datetime.timedelta(seconds\u003d10))"},{"line_number":92,"context_line":"        cert_text \u003d crypto.dump_certificate(crypto.FILETYPE_TEXT, cert)"},{"line_number":93,"context_line":"        self.assertIn(six.b(\"Version: 3\"), cert_text)"},{"line_number":94,"context_line":"        self.assertIn(six.b(\"TLS Web Server Authentication\"), cert_text)"},{"line_number":95,"context_line":"        self.assertIn(six.b(\"TLS Web Client Authentication\"), cert_text)"},{"line_number":96,"context_line":"        self.assertIn(six.b(\"SSL Server\"), cert_text)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_c0a1b996","line":93,"updated":"2015-01-01 21:35:26.000000000","message":"I am confused, you are looking for v3 here but you set version to 2 in the generator? This seems weird but maybe it\u0027s zero-indexed in the crypto lib or something?","commit_id":"0159173850142935953888f6af5ffced08ea41a3"},{"author":{"_account_id":7398,"name":"Carlos Garza","email":"carlos.garza@rackspace.com","username":"crc32"},"change_message_id":"87690329315bb2713c9af18ad79ec4942528c187","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        diff \u003d should_expire - expires"},{"line_number":91,"context_line":"        self.assertTrue(diff \u003c datetime.timedelta(seconds\u003d10))"},{"line_number":92,"context_line":"        cert_text \u003d crypto.dump_certificate(crypto.FILETYPE_TEXT, cert)"},{"line_number":93,"context_line":"        self.assertIn(six.b(\"Version: 3\"), cert_text)"},{"line_number":94,"context_line":"        self.assertIn(six.b(\"TLS Web Server Authentication\"), cert_text)"},{"line_number":95,"context_line":"        self.assertIn(six.b(\"TLS Web Client Authentication\"), cert_text)"},{"line_number":96,"context_line":"        self.assertIn(six.b(\"SSL Server\"), cert_text)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_9311c906","line":93,"in_reply_to":"3a961159_c0a1b996","updated":"2015-01-02 03:38:59.000000000","message":"X509 suffers from starting at zero syndrome.\nIE 0x00 means version 1\n    0x01 means version 2\n    0x02 means version 3\n\nnot sure why openSSL didn\u0027t just convert the numbers in the high level call.","commit_id":"0159173850142935953888f6af5ffced08ea41a3"}]}
