)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"6ee230aeeaabd4828d5c25c4195e1a3e693b10c7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Replace httplib.HTTPSConnection in ec2_token"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"httplib.HTTPSConnection is known to not verify SSL certificates in Python 2.x."},{"line_number":10,"context_line":"Implementaiton got adapted to make use of the requests module instead."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"SSL Verification is from now on enabled by default."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAVX%2F%2F3sk%3D","line":10,"updated":"2014-02-27 17:23:39.000000000","message":"typo: Implementaiton -\u003e Implementation","commit_id":"b55d0dfe9291aecf917441bed781ef4f404ba9be"}],"etc/keystone.conf.sample":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4a6dc49b756ec464c5c4ff14ee413effb1615b95","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"# How long to wait before reconnecting in response to an AMQP"},{"line_number":173,"context_line":"# consumer cancel notification. (floating point value)"},{"line_number":174,"context_line":"#kombu_reconnect_delay\u003d1.0"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"# The RabbitMQ broker address where a single node is used"},{"line_number":177,"context_line":"# (string value)"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAVn%2F%2B2Vw%3D","line":174,"updated":"2014-03-11 18:52:39.000000000","message":"needs a rebase","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"}],"keystone/middleware/ec2_token.py":[{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"ecd6e9aa3a2e0b61826f4be152a79abaf74da7ee","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_url\u0027,"},{"line_number":34,"context_line":"               default\u003d\u0027http://localhost:5000/v2.0/ec2tokens\u0027,"},{"line_number":35,"context_line":"               help\u003d\u0027URL to get token from ec2 request.\u0027),"},{"line_number":36,"context_line":"    cfg.BoolOpt(\u0027keystone_ec2_insecure\u0027, default\u003dFalse, help\u003d\u0027Don\\\u0027t verify \u0027"},{"line_number":37,"context_line":"                \u0027HTTPS connections.\u0027),"},{"line_number":38,"context_line":"]"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2FZ0w%3D","line":36,"updated":"2014-02-26 20:52:45.000000000","message":"you may be breaking backward compatibility with the default\u003dFalse as httplib never validates server cert. But this is all good as we are fixing a security vulnerability.","commit_id":"b55d0dfe9291aecf917441bed781ef4f404ba9be"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"ecd6e9aa3a2e0b61826f4be152a79abaf74da7ee","unresolved":false,"context_lines":[{"line_number":34,"context_line":"               default\u003d\u0027http://localhost:5000/v2.0/ec2tokens\u0027,"},{"line_number":35,"context_line":"               help\u003d\u0027URL to get token from ec2 request.\u0027),"},{"line_number":36,"context_line":"    cfg.BoolOpt(\u0027keystone_ec2_insecure\u0027, default\u003dFalse, help\u003d\u0027Don\\\u0027t verify \u0027"},{"line_number":37,"context_line":"                \u0027HTTPS connections.\u0027),"},{"line_number":38,"context_line":"]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2FZtU%3D","line":37,"updated":"2014-02-26 20:52:45.000000000","message":"need to support other cert options for 2-way SSL\n\ncertfile\nkeyfile\ncafile\n\nsee\n\nhttps://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/middleware/s3_token.py#L117","commit_id":"b55d0dfe9291aecf917441bed781ef4f404ba9be"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"8d6989222701a1d51ca62dc3b7b81abb7ca74c33","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_certfile\u0027, help\u003d\u0027Required if EC2 server requires \u0027"},{"line_number":39,"context_line":"               \u0027client certificate\u0027),"},{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027keystone_ec2_insecure\u0027, default\u003dFalse, help\u003d\u0027Don\\\u0027t verify \u0027"},{"line_number":41,"context_line":"                \u0027HTTPS connections.\u0027),"},{"line_number":42,"context_line":"]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVX%2F%2F2NU%3D","line":41,"updated":"2014-02-27 21:30:49.000000000","message":"if you expose this we probably want to expose an option for the CA certs as well\n\nNote that i\u0027m not sure you need to do these - verify is the only one you need to keep compatible with the current implementation and everything else is a feature addition - then again they\u0027re easy so why not.","commit_id":"c7a048fca557e94dbb4b62472ed9b63304b5e04d"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"4a2c2e5221c7be376c556ac83633ae8d36c291d7","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_cafile\u0027, help\u003d\u0027A PEM encoded Certificate \u0027"},{"line_number":41,"context_line":"               \u0027Authority to use when verifying HTTPS connections. Defaults to\u0027"},{"line_number":42,"context_line":"               \u0027 system CAs.\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027keystone_ec2_insecure\u0027, default\u003dFalse, help\u003d\u0027Don\\\u0027t verify \u0027"},{"line_number":44,"context_line":"                \u0027HTTPS connections.\u0027),"},{"line_number":45,"context_line":"]"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FbDQ%3D","line":43,"updated":"2014-03-06 06:28:36.000000000","message":"nit: use \" rather than escape the \u0027","commit_id":"58564740225eb949fe2da431355ec96fd8782c7d"},{"author":{"_account_id":7909,"name":"Daniel Gollub","email":"dgollub@brocade.com","username":"dgollub"},"change_message_id":"56dcfdd97e3ee1b6475462b461d46b6510895ad3","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_cafile\u0027, help\u003d\u0027A PEM encoded Certificate \u0027"},{"line_number":41,"context_line":"               \u0027Authority to use when verifying HTTPS connections. Defaults to\u0027"},{"line_number":42,"context_line":"               \u0027 system CAs.\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027keystone_ec2_insecure\u0027, default\u003dFalse, help\u003d\u0027Don\\\u0027t verify \u0027"},{"line_number":44,"context_line":"                \u0027HTTPS connections.\u0027),"},{"line_number":45,"context_line":"]"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2Fax8%3D","line":43,"in_reply_to":"AAAAVn%2F%2FbDQ%3D","updated":"2014-03-06 07:25:32.000000000","message":"Rephrased it to \"Disable SSL certificate verification\".\nIntroduced same config string in neutron for similar SSL verification fixes.","commit_id":"58564740225eb949fe2da431355ec96fd8782c7d"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"4032df16a49705982102b4da278fa6de1c9849f8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_url\u0027,"},{"line_number":34,"context_line":"               default\u003d\u0027http://localhost:5000/v2.0/ec2tokens\u0027,"},{"line_number":35,"context_line":"               help\u003d\u0027URL to get token from ec2 request.\u0027),"},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_keyfile\u0027, help\u003d\u0027Required if EC2 server requires \u0027"},{"line_number":37,"context_line":"               \u0027client certificate\u0027),"},{"line_number":38,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_certfile\u0027, help\u003d\u0027Required if EC2 server requires \u0027"},{"line_number":39,"context_line":"               \u0027client certificate\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2B2gc%3D","line":36,"updated":"2014-03-11 18:28:34.000000000","message":"Default these to let the existing, no-non secure approach work by default.  We can set the defaults to secure in Juno.","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"be80b097a8f6fc1b9090655c6d0826a495653cec","unresolved":false,"context_lines":[{"line_number":34,"context_line":"               default\u003d\u0027http://localhost:5000/v2.0/ec2tokens\u0027,"},{"line_number":35,"context_line":"               help\u003d\u0027URL to get token from ec2 request.\u0027),"},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_keyfile\u0027, help\u003d\u0027Required if EC2 server requires \u0027"},{"line_number":37,"context_line":"               \u0027client certificate\u0027),"},{"line_number":38,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_certfile\u0027, help\u003d\u0027Required if EC2 server requires \u0027"},{"line_number":39,"context_line":"               \u0027client certificate\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_cafile\u0027, help\u003d\u0027A PEM encoded Certificate \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2B2Zs%3D","line":37,"updated":"2014-03-11 18:45:14.000000000","message":"This should document that it\u0027s the private key, and end the sentence in a . Suggested text:\n\n Client certificate private key filename. Required if EC2 server requires a\n client certificate.","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"be80b097a8f6fc1b9090655c6d0826a495653cec","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_keyfile\u0027, help\u003d\u0027Required if EC2 server requires \u0027"},{"line_number":37,"context_line":"               \u0027client certificate\u0027),"},{"line_number":38,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_certfile\u0027, help\u003d\u0027Required if EC2 server requires \u0027"},{"line_number":39,"context_line":"               \u0027client certificate\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_cafile\u0027, help\u003d\u0027A PEM encoded Certificate \u0027"},{"line_number":41,"context_line":"               \u0027Authority to use when verifying HTTPS connections. Defaults to\u0027"},{"line_number":42,"context_line":"               \u0027 system CAs.\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2B2Zg%3D","line":39,"updated":"2014-03-11 18:45:14.000000000","message":"This should document that it\u0027s the certificate file:\n\n Client certificate key filename. Required if EC2 server requires a\n client certificate.","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"be80b097a8f6fc1b9090655c6d0826a495653cec","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_certfile\u0027, help\u003d\u0027Required if EC2 server requires \u0027"},{"line_number":39,"context_line":"               \u0027client certificate\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_cafile\u0027, help\u003d\u0027A PEM encoded Certificate \u0027"},{"line_number":41,"context_line":"               \u0027Authority to use when verifying HTTPS connections. Defaults to\u0027"},{"line_number":42,"context_line":"               \u0027 system CAs.\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027keystone_ec2_insecure\u0027, default\u003dFalse, help\u003d\u0027Disable SSL \u0027"},{"line_number":44,"context_line":"                \u0027certificate verification\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2B2ZY%3D","line":41,"updated":"2014-03-11 18:45:14.000000000","message":"lowercase \"certificate authority\"","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"be80b097a8f6fc1b9090655c6d0826a495653cec","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               \u0027client certificate\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027keystone_ec2_cafile\u0027, help\u003d\u0027A PEM encoded Certificate \u0027"},{"line_number":41,"context_line":"               \u0027Authority to use when verifying HTTPS connections. Defaults to\u0027"},{"line_number":42,"context_line":"               \u0027 system CAs.\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027keystone_ec2_insecure\u0027, default\u003dFalse, help\u003d\u0027Disable SSL \u0027"},{"line_number":44,"context_line":"                \u0027certificate verification\u0027),"},{"line_number":45,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2B2ZI%3D","line":42,"updated":"2014-03-11 18:45:14.000000000","message":"add \"the\" -- \"Defaults to the system CAs.\"","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"be80b097a8f6fc1b9090655c6d0826a495653cec","unresolved":false,"context_lines":[{"line_number":41,"context_line":"               \u0027Authority to use when verifying HTTPS connections. Defaults to\u0027"},{"line_number":42,"context_line":"               \u0027 system CAs.\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027keystone_ec2_insecure\u0027, default\u003dFalse, help\u003d\u0027Disable SSL \u0027"},{"line_number":44,"context_line":"                \u0027certificate verification\u0027),"},{"line_number":45,"context_line":"]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2B2Y4%3D","line":44,"updated":"2014-03-11 18:45:14.000000000","message":"Add a . at end of sentence.","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"db53f8914677fc749e5d78bc71d0eef13bb366de","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            verify \u003d False"},{"line_number":86,"context_line":"        elif CONF.keystone_ec2_cafile:"},{"line_number":87,"context_line":"            verify \u003d CONF.keystone_ec2_cafile"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        if CONF.keystone_ec2_certfile and CONF.keystone_ec2_keyfile:"},{"line_number":90,"context_line":"            cert \u003d (CONF.keystone_ec2_certfile, CONF.keystone_ec2_keyfile)"},{"line_number":91,"context_line":"        elif CONF.keystone_ec2_certfile:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2B2ek%3D","line":88,"updated":"2014-03-11 18:36:40.000000000","message":"cert \u003d None should be initialized here rather than in L83","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4a6dc49b756ec464c5c4ff14ee413effb1615b95","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        elif CONF.keystone_ec2_certfile:"},{"line_number":92,"context_line":"            cert \u003d CONF.keystone_ec2_certfile"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        response \u003d requests.post(CONF.keystone_ec2_url, data\u003dcreds_json,"},{"line_number":95,"context_line":"                                 headers\u003dheaders, verify\u003dverify, cert\u003dcert)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        # NOTE(vish): We could save a call to keystone by"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2B2Vk%3D","line":94,"updated":"2014-03-11 18:52:39.000000000","message":"++ for using requests","commit_id":"3dd635cf95aeeada179b19579eb76dd0a018bd50"}]}
