)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"8c60962ec31a7ec50722ae783382ed3380adf8d9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update style for signature_utils class"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Per reviewer comments on signature_utils, this patch"},{"line_number":10,"context_line":"incorporates a few suggestions for improvement."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I695f3e279f26d70fc80f1f6623ab7f42cf094bdf"},{"line_number":13,"context_line":"Depends-On: I1180501ff63e5148fd9e29bc4b9922fd485b6ab7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_87c36457","line":10,"updated":"2015-09-08 14:56:58.000000000","message":"Maybe you could mention the factorization work here.","commit_id":"f18cf4c9168fdafb10fe5dee3d224b8e5633ce20"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"228992eb1ada370b13638d42601d3f3d0a0f6a44","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update style for signature_utils class"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Per reviewer comments on signature_utils, this patch"},{"line_number":10,"context_line":"incorporates a few suggestions for improvement."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I695f3e279f26d70fc80f1f6623ab7f42cf094bdf"},{"line_number":13,"context_line":"Depends-On: I1180501ff63e5148fd9e29bc4b9922fd485b6ab7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_e08f6f2c","line":10,"in_reply_to":"da20952f_8799f27b","updated":"2015-09-09 17:49:58.000000000","message":"Agreed. Done.","commit_id":"f18cf4c9168fdafb10fe5dee3d224b8e5633ce20"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"7ec09430e576d166686673bbcbc4db4f133cc9c7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update style for signature_utils class"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Per reviewer comments on signature_utils, this patch"},{"line_number":10,"context_line":"incorporates a few suggestions for improvement."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I695f3e279f26d70fc80f1f6623ab7f42cf094bdf"},{"line_number":13,"context_line":"Depends-On: I1180501ff63e5148fd9e29bc4b9922fd485b6ab7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_8799f27b","line":10,"in_reply_to":"da20952f_87c36457","updated":"2015-09-09 15:25:55.000000000","message":"+1\nthe description is too common.","commit_id":"f18cf4c9168fdafb10fe5dee3d224b8e5633ce20"}],"glance/common/signature_utils.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"277c108db45300daceefe6b08762767803a44873","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                                signature_key_type)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    # Initialize the verifier"},{"line_number":176,"context_line":"    verifier \u003d None"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    # create the verifier based on the signature key type"},{"line_number":179,"context_line":"    verifier \u003d KEY_TYPE_METHODS[signature_key_type](signature,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_f73aa9cc","line":176,"updated":"2015-09-03 16:10:22.000000000","message":"Looks like this initialization is not needed anymore.","commit_id":"0b16b8054163b616796693540b02054991d254f0"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"ba645db4a322dc5d3c5a0db7d662978a9bdf06a0","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                                signature_key_type)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    # Initialize the verifier"},{"line_number":176,"context_line":"    verifier \u003d None"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    # create the verifier based on the signature key type"},{"line_number":179,"context_line":"    verifier \u003d KEY_TYPE_METHODS[signature_key_type](signature,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_427a7689","line":176,"in_reply_to":"da20952f_f73aa9cc","updated":"2015-09-04 20:48:29.000000000","message":"Agreed. Done.","commit_id":"0b16b8054163b616796693540b02054991d254f0"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"8c60962ec31a7ec50722ae783382ed3380adf8d9","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        padding.PSS("},{"line_number":124,"context_line":"            mgf\u003dmgf,"},{"line_number":125,"context_line":"            salt_length\u003dsalt_length"},{"line_number":126,"context_line":"        ),"},{"line_number":127,"context_line":"        hash_method"},{"line_number":128,"context_line":"    )"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_679df065","line":126,"updated":"2015-09-08 14:56:58.000000000","message":"Some nitpicking, but having \"padding.PSS(...)\" on a single line would be clearer imho.","commit_id":"f18cf4c9168fdafb10fe5dee3d224b8e5633ce20"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"228992eb1ada370b13638d42601d3f3d0a0f6a44","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        padding.PSS("},{"line_number":124,"context_line":"            mgf\u003dmgf,"},{"line_number":125,"context_line":"            salt_length\u003dsalt_length"},{"line_number":126,"context_line":"        ),"},{"line_number":127,"context_line":"        hash_method"},{"line_number":128,"context_line":"    )"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_2dcc80ba","line":126,"in_reply_to":"da20952f_679df065","updated":"2015-09-09 17:49:58.000000000","message":"Done","commit_id":"f18cf4c9168fdafb10fe5dee3d224b8e5633ce20"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"7ec09430e576d166686673bbcbc4db4f133cc9c7","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    # Confirm the type is of the type expected based on the signature key type"},{"line_number":257,"context_line":"    if (signature_key_type \u003d\u003d RSA_PSS and"},{"line_number":258,"context_line":"            not isinstance(public_key, rsa.RSAPublicKey)):"},{"line_number":259,"context_line":"        raise exception.SignatureVerificationError("},{"line_number":260,"context_line":"            \u0027Invalid public key type for signature key type: %s\u0027"},{"line_number":261,"context_line":"            % signature_key_type)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_ea6bd3ef","line":258,"updated":"2015-09-09 15:25:55.000000000","message":"This is not a reason for -1 but suggestion.\nI see that you are trying to do the code extendable for different signature key_types. In this case this check should be also replaced with some dict that contains allowed public_key types for signature_key_type. In this case this should be replaces with \nif public_key in SIGNATURE_KEY_TYPES[signature_key_type]:\nwhere SIGNATURE_KEY_TYPES defines allowed public_key types.","commit_id":"f18cf4c9168fdafb10fe5dee3d224b8e5633ce20"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"228992eb1ada370b13638d42601d3f3d0a0f6a44","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    # Confirm the type is of the type expected based on the signature key type"},{"line_number":257,"context_line":"    if (signature_key_type \u003d\u003d RSA_PSS and"},{"line_number":258,"context_line":"            not isinstance(public_key, rsa.RSAPublicKey)):"},{"line_number":259,"context_line":"        raise exception.SignatureVerificationError("},{"line_number":260,"context_line":"            \u0027Invalid public key type for signature key type: %s\u0027"},{"line_number":261,"context_line":"            % signature_key_type)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_801c736b","line":258,"in_reply_to":"da20952f_ea6bd3ef","updated":"2015-09-09 17:49:58.000000000","message":"Good idea. Done.","commit_id":"f18cf4c9168fdafb10fe5dee3d224b8e5633ce20"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"3245a5cf8fbcdac30959ec0033890e4f6996acd2","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    if cert.format \u003d\u003d X_509:"},{"line_number":296,"context_line":"        # castellan always encodes certificates in DER format"},{"line_number":297,"context_line":"        cert_data \u003d cert.get_encoded()"},{"line_number":298,"context_line":"        certificate \u003d x509.load_der_x509_certificate(cert_data,"},{"line_number":299,"context_line":"                                                     default_backend())"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    # verify the certificate"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_3e94df35","line":298,"updated":"2015-09-14 07:48:07.000000000","message":"I think this code can also be re-written because it looks like passing non-initialized parameter to verify_certificate (although it is not). \nIMO, it should be like this:\nif cert.format \u003d\u003d X_509:\n   certificate \u003d ..\nelse:\n   raise\nOtherwise, we can potentially get the situation where cert.format will be allowed but certificate is not initialized.","commit_id":"c1dc0deb227e78ebfbe16c0e3d3ac3477b10adf8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"040d11b3daaf59dab2a75f4872ab117b27d05d09","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    if cert.format \u003d\u003d X_509:"},{"line_number":296,"context_line":"        # castellan always encodes certificates in DER format"},{"line_number":297,"context_line":"        cert_data \u003d cert.get_encoded()"},{"line_number":298,"context_line":"        certificate \u003d x509.load_der_x509_certificate(cert_data,"},{"line_number":299,"context_line":"                                                     default_backend())"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    # verify the certificate"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_09b0b542","line":298,"in_reply_to":"ba15a1d1_3e94df35","updated":"2015-09-14 15:25:47.000000000","message":"Done","commit_id":"c1dc0deb227e78ebfbe16c0e3d3ac3477b10adf8"}]}
