)]}'
{"barbican/plugin/dogtag.py":[{"author":{"_account_id":11561,"name":"Dave McCowan","email":"dmccowan@cisco.com","username":"dave-mccowan"},"change_message_id":"140bac5efc90d387bdd4a5c53ced346339e05f43","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        dto \u003d None"},{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_6f73b24e","line":958,"updated":"2015-05-11 15:22:18.000000000","message":"I\u0027d like this a lot better if you used the routines in plugin/util/translations.py.   Constructing a PEM should be done by a crypto library, not manually IMO.","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"7de3e1de69ba5eacf5c5c6aef32e1b5286f99497","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        dto \u003d None"},{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a0c5dc1_0c143742","line":958,"in_reply_to":"9af37de9_0e40a7a4","updated":"2015-05-12 16:49:28.000000000","message":"Right - will add comments.\n\nDisagree on doing much more than I do now -- ie. decode() and then der_to_pem() and then encode().  Thats a lot of processing for what is essentially a string concatenation.  If this were something we wanted to keep permanently, I would just add a string concatenation method in translations.py.  \n\nThis is really a workaround for an inconsistency (ie. bug) in the dogtag client code though - one that will be fixed in the next dogtag release.  So I see no reason to make this permanent.","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"de3e7efa03f9ee58306ead04e6094d8be15e9faa","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        dto \u003d None"},{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_ebdaf577","line":958,"in_reply_to":"9af37de9_6f73b24e","updated":"2015-05-11 15:37:17.000000000","message":"Whats coming back from the Dogtag CA is:\n1) Valid PEM which simply needs to be base64 encoded for the cert.\n2) base 64 encoded data without the header/footer for intermediates.  this simply needs the headers added and then needs to be base64 encoded.\n\nIMHO, (2) is a bug in Dogtg. We should be returning valid PEM with the headers attached.  When I fix this bug, I will remove the code to add the header (or add it conditionally).\n\nThis does not seem like something that should be in plugin/util/translations.py.","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"50ce48996d1530bdc0bd378355de485d11bb06a0","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        dto \u003d None"},{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_4e990f6e","line":958,"in_reply_to":"9af37de9_8b1249b3","updated":"2015-05-11 16:03:01.000000000","message":"It could be helpful to add a comment in the code saying this will be revisited in a future Dogtag release.","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":11561,"name":"Dave McCowan","email":"dmccowan@cisco.com","username":"dave-mccowan"},"change_message_id":"dbf5274647d846ab777d71247a58f31676dc09f7","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        dto \u003d None"},{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ad8896b_d49ff4b2","line":958,"in_reply_to":"9af37de9_ebdaf577","updated":"2015-05-11 16:53:48.000000000","message":"For 2: What is coming back is base64 of DER and we want base64 of PEM.  I think it would be better to base64.decode(), then der_to_pem(), then base64.encode().","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"69844a8305fbb4b6308d6725f08a695e83370de5","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        dto \u003d None"},{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_8b1249b3","line":958,"in_reply_to":"9af37de9_ebdaf577","updated":"2015-05-11 15:46:03.000000000","message":"I agree with Ade, this seems too DogTag specific to be in the translations module","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"da98224dc11ee490dc2a00efcfaa3c44f479e861","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        dto \u003d None"},{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_0e40a7a4","line":958,"in_reply_to":"9af37de9_ebdaf577","updated":"2015-05-11 16:07:26.000000000","message":"I think it would be helpful if you put this info in comments in the code for anyone who is looking at it","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"da98224dc11ee490dc2a00efcfaa3c44f479e861","unresolved":false,"context_lines":[{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"},{"line_number":962,"context_line":"                                   certificate\u003dbase64.b64encode(cert.encoded),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_4fa10ea9","line":959,"updated":"2015-05-11 16:07:26.000000000","message":"Should there be a new line before the footer, too? Is that the same thing Oz asked?","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"7de3e1de69ba5eacf5c5c6aef32e1b5286f99497","unresolved":false,"context_lines":[{"line_number":956,"context_line":"        if request_status \u003d\u003d pki.cert.CertRequestStatus.COMPLETE:"},{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"},{"line_number":962,"context_line":"                                   certificate\u003dbase64.b64encode(cert.encoded),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a0c5dc1_c9061120","line":959,"in_reply_to":"9af37de9_4fa10ea9","updated":"2015-05-12 16:49:28.000000000","message":"Yes - it is the same thing Oz asked - and no, a newline is not needed.","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"69844a8305fbb4b6308d6725f08a695e83370de5","unresolved":false,"context_lines":[{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"},{"line_number":962,"context_line":"                                   certificate\u003dbase64.b64encode(cert.encoded),"},{"line_number":963,"context_line":"                                   intermediates\u003dbase64.b64encode(cert_chain))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_cbf2919a","line":960,"updated":"2015-05-11 15:46:03.000000000","message":"Does the cert.pkcs7_cert_chain already contain the \"\\r\\n\" characters?","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0edc843ed0d70daf625fbf455f55f339c462ca93","unresolved":false,"context_lines":[{"line_number":957,"context_line":"            if cert is not None:"},{"line_number":958,"context_line":"                # Barbican is expecting base 64 encoded PEM"},{"line_number":959,"context_line":"                cert_chain \u003d (CERT_HEADER + \"\\r\\n\" + cert.pkcs7_cert_chain +"},{"line_number":960,"context_line":"                              CERT_FOOTER)"},{"line_number":961,"context_line":"                dto \u003d cm.ResultDTO(cm.CertificateStatus.CERTIFICATE_GENERATED,"},{"line_number":962,"context_line":"                                   certificate\u003dbase64.b64encode(cert.encoded),"},{"line_number":963,"context_line":"                                   intermediates\u003dbase64.b64encode(cert_chain))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_0b03f943","line":960,"in_reply_to":"9af37de9_cbf2919a","updated":"2015-05-11 15:47:50.000000000","message":"yes","commit_id":"a311ff25b016adcae28abfa236d4d660ad130f6e"}]}
