)]}'
{"keystoneclient/common/cms.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9b130be4da58e2d0c5394263eab7c1015986588b","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def _check_files_accessible(files):"},{"line_number":75,"context_line":"    err \u003d None"},{"line_number":76,"context_line":"    retcode \u003d -1"},{"line_number":77,"context_line":"    try:"},{"line_number":78,"context_line":"        for try_file in files:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_d36ca80a","line":75,"updated":"2014-11-18 03:19:06.000000000","message":"What about this one? I\u0027m not seeing an equivalent for the -1 in the link above. Looks like it was introduced here: https://github.com/openstack/python-keystoneclient/commit/69ca1cd48336d36fe2992f1c261baef73d1d4db6","commit_id":"53bb9f9c0d72f6a9b92401b5c74de404923bd3d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5615e61acde8b0f440baee17ebead01886c84467","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def _check_files_accessible(files):"},{"line_number":75,"context_line":"    err \u003d None"},{"line_number":76,"context_line":"    retcode \u003d -1"},{"line_number":77,"context_line":"    try:"},{"line_number":78,"context_line":"        for try_file in files:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_c8c4a061","line":75,"in_reply_to":"5a890539_d36ca80a","updated":"2014-11-19 23:23:34.000000000","message":"-1 isn\u0027t a valid return code from the command, I think that\u0027s how it\u0027s used here, as an indicator that there was no response from openssl cms.","commit_id":"53bb9f9c0d72f6a9b92401b5c74de404923bd3d4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9b130be4da58e2d0c5394263eab7c1015986588b","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        # $ openssl cms -verify -certfile not_exist_file -CAfile \\"},{"line_number":94,"context_line":"        #       not_exist_file -inform PEM -nosmimecap -nodetach \\"},{"line_number":95,"context_line":"        #       -nocerts -noattr"},{"line_number":96,"context_line":"        # Error opening certificate file not_exist_file"},{"line_number":97,"context_line":"        retcode \u003d 2"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    return retcode, err"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_f36fe4f9","line":96,"updated":"2014-11-18 03:19:06.000000000","message":"and here?","commit_id":"53bb9f9c0d72f6a9b92401b5c74de404923bd3d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5615e61acde8b0f440baee17ebead01886c84467","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        # $ openssl cms -verify -certfile not_exist_file -CAfile \\"},{"line_number":94,"context_line":"        #       not_exist_file -inform PEM -nosmimecap -nodetach \\"},{"line_number":95,"context_line":"        #       -nocerts -noattr"},{"line_number":96,"context_line":"        # Error opening certificate file not_exist_file"},{"line_number":97,"context_line":"        retcode \u003d 2"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    return retcode, err"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_687bac29","line":96,"in_reply_to":"5a890539_f36fe4f9","updated":"2014-11-19 23:23:34.000000000","message":"Done","commit_id":"53bb9f9c0d72f6a9b92401b5c74de404923bd3d4"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"d5c0c593a5e63b5742933101bf0a9c80b66442d3","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            raise exceptions.CMSError(err)"},{"line_number":182,"context_line":"        else:"},{"line_number":183,"context_line":"            raise exceptions.CertificateConfigError(err)"},{"line_number":184,"context_line":"    elif retcode:"},{"line_number":185,"context_line":"        # NOTE(dmllr): Python 2.6 compatibility:"},{"line_number":186,"context_line":"        # CalledProcessError did not have output keyword argument"},{"line_number":187,"context_line":"        e \u003d subprocess.CalledProcessError(retcode, \u0027openssl\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_1387f413","line":184,"updated":"2014-11-18 17:55:44.000000000","message":"Zero retcode should be in OpensslCmsExitStatus too","commit_id":"53bb9f9c0d72f6a9b92401b5c74de404923bd3d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5615e61acde8b0f440baee17ebead01886c84467","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            raise exceptions.CMSError(err)"},{"line_number":182,"context_line":"        else:"},{"line_number":183,"context_line":"            raise exceptions.CertificateConfigError(err)"},{"line_number":184,"context_line":"    elif retcode:"},{"line_number":185,"context_line":"        # NOTE(dmllr): Python 2.6 compatibility:"},{"line_number":186,"context_line":"        # CalledProcessError did not have output keyword argument"},{"line_number":187,"context_line":"        e \u003d subprocess.CalledProcessError(retcode, \u0027openssl\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_88e37804","line":184,"in_reply_to":"5a890539_1387f413","updated":"2014-11-19 23:23:34.000000000","message":"Done","commit_id":"53bb9f9c0d72f6a9b92401b5c74de404923bd3d4"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"d5c0c593a5e63b5742933101bf0a9c80b66442d3","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    output, err, retcode \u003d _process_communicate_handle_oserror("},{"line_number":354,"context_line":"        process, data, (signing_cert_file_name, signing_key_file_name))"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    if retcode or (\u0027Error\u0027 in err):"},{"line_number":357,"context_line":"        LOG.error(_LE(\u0027Signing error: %s\u0027), err)"},{"line_number":358,"context_line":"        if retcode \u003d\u003d OpensslCmsExitStatus.CREATE_CMS_READ_MIME_ERROR:"},{"line_number":359,"context_line":"            LOG.error(_LE(\u0027Signing error: Unable to load certificate - \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_73b4b8d1","line":356,"updated":"2014-11-18 17:55:44.000000000","message":"I guess zero is something like \"OK\", or maybe it is \"No result\"?","commit_id":"53bb9f9c0d72f6a9b92401b5c74de404923bd3d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5615e61acde8b0f440baee17ebead01886c84467","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    output, err, retcode \u003d _process_communicate_handle_oserror("},{"line_number":354,"context_line":"        process, data, (signing_cert_file_name, signing_key_file_name))"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    if retcode or (\u0027Error\u0027 in err):"},{"line_number":357,"context_line":"        LOG.error(_LE(\u0027Signing error: %s\u0027), err)"},{"line_number":358,"context_line":"        if retcode \u003d\u003d OpensslCmsExitStatus.CREATE_CMS_READ_MIME_ERROR:"},{"line_number":359,"context_line":"            LOG.error(_LE(\u0027Signing error: Unable to load certificate - \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_a8759433","line":356,"in_reply_to":"5a890539_73b4b8d1","updated":"2014-11-19 23:23:34.000000000","message":"Done","commit_id":"53bb9f9c0d72f6a9b92401b5c74de404923bd3d4"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"48839d9ce0bf372f88f6dd87926c388e1399eb60","unresolved":false,"context_lines":[{"line_number":44,"context_line":"class OpensslCmsExitStatus:"},{"line_number":45,"context_line":"    SUCCESS \u003d 0"},{"line_number":46,"context_line":"    INPUT_FILE_READ_ERROR \u003d 2"},{"line_number":47,"context_line":"    CREATE_CMS_READ_MIME_ERROR \u003d 3"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"def _ensure_subprocess():"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_4bc3188a","line":47,"updated":"2014-12-01 23:05:47.000000000","message":"I really wish this was something we could source from an external lib that directly interfaces with OpenSSL... but this is better than we have today.","commit_id":"7770735ca02d27d9c9696521f7e944148ac34241"}]}
