)]}'
{"openstackclient/common/configuration.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3982db8f7a578af04f45eee6d0a2623f4025827d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        info \u003d self.app.client_manager.get_configuration()"},{"line_number":60,"context_line":"        for key, value in six.iteritems(info.pop(\u0027auth\u0027, {})):"},{"line_number":61,"context_line":"            if parsed_args.mask:"},{"line_number":62,"context_line":"                # NOTE(aloga): if we have a exact match and the option is not"},{"line_number":63,"context_line":"                # marked as secrete, prefer this over redacting it (we can have"},{"line_number":64,"context_line":"                # options like \"token_endpoint\")"},{"line_number":65,"context_line":"                if key.lower() in opts:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_a5ba84df","line":62,"range":{"start_line":62,"start_character":42,"end_line":62,"end_character":43},"updated":"2016-06-20 18:25:20.000000000","message":"an*","commit_id":"4181d498a3f2e9892ef49c18360f164b9c1b4ef4"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"657281b68400e513aecd8b9c1a9bd423515441e2","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        info \u003d self.app.client_manager.get_configuration()"},{"line_number":60,"context_line":"        for key, value in six.iteritems(info.pop(\u0027auth\u0027, {})):"},{"line_number":61,"context_line":"            if parsed_args.mask:"},{"line_number":62,"context_line":"                # NOTE(aloga): if we have a exact match and the option is not"},{"line_number":63,"context_line":"                # marked as secrete, prefer this over redacting it (we can have"},{"line_number":64,"context_line":"                # options like \"token_endpoint\")"},{"line_number":65,"context_line":"                if key.lower() in opts:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_54bf10fb","line":62,"range":{"start_line":62,"start_character":42,"end_line":62,"end_character":43},"in_reply_to":"5a9d85d2_a5ba84df","updated":"2016-06-20 20:46:13.000000000","message":"ouch","commit_id":"4181d498a3f2e9892ef49c18360f164b9c1b4ef4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3982db8f7a578af04f45eee6d0a2623f4025827d","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        for key, value in six.iteritems(info.pop(\u0027auth\u0027, {})):"},{"line_number":61,"context_line":"            if parsed_args.mask:"},{"line_number":62,"context_line":"                # NOTE(aloga): if we have a exact match and the option is not"},{"line_number":63,"context_line":"                # marked as secrete, prefer this over redacting it (we can have"},{"line_number":64,"context_line":"                # options like \"token_endpoint\")"},{"line_number":65,"context_line":"                if key.lower() in opts:"},{"line_number":66,"context_line":"                    pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_da48585e","line":63,"range":{"start_line":63,"start_character":28,"end_line":63,"end_character":35},"updated":"2016-06-20 18:25:20.000000000","message":"secret*","commit_id":"4181d498a3f2e9892ef49c18360f164b9c1b4ef4"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"657281b68400e513aecd8b9c1a9bd423515441e2","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        for key, value in six.iteritems(info.pop(\u0027auth\u0027, {})):"},{"line_number":61,"context_line":"            if parsed_args.mask:"},{"line_number":62,"context_line":"                # NOTE(aloga): if we have a exact match and the option is not"},{"line_number":63,"context_line":"                # marked as secrete, prefer this over redacting it (we can have"},{"line_number":64,"context_line":"                # options like \"token_endpoint\")"},{"line_number":65,"context_line":"                if key.lower() in opts:"},{"line_number":66,"context_line":"                    pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_f4f6fcd5","line":63,"range":{"start_line":63,"start_character":28,"end_line":63,"end_character":35},"in_reply_to":"5a9d85d2_da48585e","updated":"2016-06-20 20:46:13.000000000","message":"ouch++","commit_id":"4181d498a3f2e9892ef49c18360f164b9c1b4ef4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3982db8f7a578af04f45eee6d0a2623f4025827d","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                # NOTE(aloga): if we have a exact match and the option is not"},{"line_number":63,"context_line":"                # marked as secrete, prefer this over redacting it (we can have"},{"line_number":64,"context_line":"                # options like \"token_endpoint\")"},{"line_number":65,"context_line":"                if key.lower() in opts:"},{"line_number":66,"context_line":"                    pass"},{"line_number":67,"context_line":"                elif (key.lower() in secret_opts or"},{"line_number":68,"context_line":"                    any([i in key.lower() for i in REDACTED_ITEMS])):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_c5b510ce","line":65,"range":{"start_line":65,"start_character":16,"end_line":65,"end_character":39},"updated":"2016-06-20 18:25:20.000000000","message":"why have this check at all? just check if they are in secret_opts or REDACTED_ITEMS\n\nalso, we can probably remove the \"REDACTED_ITEMS\" constant now, using the secret property probably covers it already","commit_id":"4181d498a3f2e9892ef49c18360f164b9c1b4ef4"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"657281b68400e513aecd8b9c1a9bd423515441e2","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                # NOTE(aloga): if we have a exact match and the option is not"},{"line_number":63,"context_line":"                # marked as secrete, prefer this over redacting it (we can have"},{"line_number":64,"context_line":"                # options like \"token_endpoint\")"},{"line_number":65,"context_line":"                if key.lower() in opts:"},{"line_number":66,"context_line":"                    pass"},{"line_number":67,"context_line":"                elif (key.lower() in secret_opts or"},{"line_number":68,"context_line":"                    any([i in key.lower() for i in REDACTED_ITEMS])):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_f4cb9c70","line":65,"range":{"start_line":65,"start_character":16,"end_line":65,"end_character":39},"in_reply_to":"5a9d85d2_c5b510ce","updated":"2016-06-20 20:46:13.000000000","message":"Yeah, I followed a weird (Monday morning) logic and this can be dropped. Taking into account that the auth.* options will come from the auth plugins, this can be covered with the secret_opts check.","commit_id":"4181d498a3f2e9892ef49c18360f164b9c1b4ef4"}]}
