)]}'
{"doc/source/ssl.rst":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"0bd5ecb6ef573bc64d554d58c48f426fce615e13","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"      Copyright 2011 OpenStack, LLC"},{"line_number":3,"context_line":"      All Rights Reserved."},{"line_number":4,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAACX%2F%2F65k%3D","line":1,"updated":"2011-10-24 21:41:55.000000000","message":"I might have already thanked you for this file, but anyway... thank you (again)!","commit_id":"5669df7a85103e97b3dfba41b7ad2cc125a248c3"}],"etc/keystone.conf":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":45,"context_line":"admin_ssl \u003d False"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Keystone certificate file"},{"line_number":48,"context_line":"certfile \u003d /etc/keystone/ssl/certs/keystone.pem"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Keystone private key file"},{"line_number":51,"context_line":"keyfile \u003d /etc/keystone/ssl/private/keystonekey.pem"}],"source_content_type":"text/plain","patch_set":1,"id":"AAAACX%2F%2F7GQ%3D","line":48,"updated":"2011-10-24 14:26:36.000000000","message":"Nice to see absolute paths here! (for a change lol)","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"0bd5ecb6ef573bc64d554d58c48f426fce615e13","unresolved":false,"context_lines":[{"line_number":44,"context_line":"# SSL for API Admin server"},{"line_number":45,"context_line":"admin_ssl \u003d False"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Keystone certificate file (modify as needed)"},{"line_number":48,"context_line":"certfile \u003d /etc/keystone/ssl/certs/keystone.pem"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Keystone private key file (modify as needed)"}],"source_content_type":"text/plain","patch_set":2,"id":"AAAACX%2F%2F65o%3D","line":47,"updated":"2011-10-24 21:41:55.000000000","message":"Can you add a comment on these like \"required only if x_ssl is True, ignored otherwise\"\n\nI\u0027m honestly not clear on when these values would be used (if it\u0027s one or both service_ssl and admin_ssl) without diving into code.","commit_id":"5669df7a85103e97b3dfba41b7ad2cc125a248c3"},{"author":{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},"change_message_id":"9f32697b8ecd6e3852ad23a36d37f7929e1cc3b2","unresolved":false,"context_lines":[{"line_number":44,"context_line":"# SSL for API Admin server"},{"line_number":45,"context_line":"admin_ssl \u003d False"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Keystone certificate file (modify as needed)"},{"line_number":48,"context_line":"# Only required if *_ssl is set to True"},{"line_number":49,"context_line":"certfile \u003d /etc/keystone/ssl/certs/keystone.pem"},{"line_number":50,"context_line":""}],"source_content_type":"text/plain","patch_set":5,"id":"AAAACX%2F%2F6WE%3D","line":47,"updated":"2011-10-26 21:14:33.000000000","message":"Do you like to group all of keystone certificate properties in a grouping like what we have for our backends?\nex: [keystone.ssl.certs]","commit_id":"5b32deda0fb2d13f56377cafb6baa350b06da86f"}],"examples/echo/echo/echo.ini":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":10,"context_line":";used to verify this component with the OpenStack service (or PAPIAuth)"},{"line_number":11,"context_line":"service_pass \u003d dTpw"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":";Comment the following out for x.509 client authentication"},{"line_number":14,"context_line":";certfile \u003d /etc/keystone/ssl/certs/middleware-key.pem"},{"line_number":15,"context_line":";keyfile \u003d /etc/keystone/ssl/certs/middleware-key.pem"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-properties","patch_set":1,"id":"AAAACX%2F%2F7FY%3D","line":13,"updated":"2011-10-24 14:26:36.000000000","message":"\"Un\"comment, I hope!\n\nOtherwise, that\u0027s some serious black-magic configuration ;)","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"}],"examples/echo/echo_client.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":37,"context_line":"def get_auth_token(username, password, tenant):"},{"line_number":38,"context_line":"    headers \u003d {\"Content-type\": \"application/json\", \"Accept\": \"application/json\"}"},{"line_number":39,"context_line":"    params \u003d {\"auth\": {\"passwordCredentials\": "},{"line_number":40,"context_line":"            {\"username\": username, \"password\": password}, \"tenantId\": tenant}}"},{"line_number":41,"context_line":"    conn \u003d keystone_conn()"},{"line_number":42,"context_line":"    conn.request(\"POST\", \"/v2.0/tokens\", json.dumps(params), headers\u003dheaders)"},{"line_number":43,"context_line":"    response \u003d conn.getresponse()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F7Fs%3D","line":40,"updated":"2011-10-24 14:26:36.000000000","message":"auth by tenantName (instead of tenantId) would provide an easier to understand (and more stable) example here.","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    # Call the keystone service to get a token"},{"line_number":81,"context_line":"    # NOTE: assumes the test_setup.sql script has loaded this user"},{"line_number":82,"context_line":"    print \"\\033[91mTrying with valid test credentials...\\033[0m\""},{"line_number":83,"context_line":"    auth \u003d get_auth_token(\"joeuser\", \"secrete\", \"1\")"},{"line_number":84,"context_line":"    obj \u003d json.loads(auth)"},{"line_number":85,"context_line":"    token \u003d obj[\"access\"][\"token\"][\"id\"]"},{"line_number":86,"context_line":"    print \"Token obtained:\", token"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F7Fo%3D","line":83,"updated":"2011-10-24 14:26:36.000000000","message":"... so change this back, I guess, per comment above.","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"}],"examples/ssl/README.txt":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Instructions for Keystone x.509 client authentication"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""}],"source_content_type":"text/plain","patch_set":1,"id":"AAAACX%2F%2F7Gc%3D","line":1,"updated":"2011-10-24 14:26:36.000000000","message":"This is awesome, but belongs in the admin documentation, not here.","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"}],"keystone/common/bufferedhttp.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    :param ssl: set True if SSL should be used (default: False)"},{"line_number":119,"context_line":"    :returns: HTTPConnection object"},{"line_number":120,"context_line":"    \"\"\""},{"line_number":121,"context_line":"    if ssl:"},{"line_number":122,"context_line":"        conn \u003d HTTPSConnection(\u0027%s:%s\u0027 % (ipaddr, port))"},{"line_number":123,"context_line":"    else:"},{"line_number":124,"context_line":"        conn \u003d BufferedHTTPConnection(\u0027%s:%s\u0027 % (ipaddr, port))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F7Go%3D","side":"PARENT","line":121,"updated":"2011-10-24 14:26:36.000000000","message":"Nice cleanup.","commit_id":"135b61b0ac6eb9466f49b7ca71e0f2be1117b33f"}],"keystone/common/wsgi.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":115,"context_line":"class SslServer(Server):"},{"line_number":116,"context_line":"    \"\"\"SSL Server class to manage multiple WSGI sockets and applications.\"\"\""},{"line_number":117,"context_line":"    "},{"line_number":118,"context_line":"    def start(self, application, port, host\u003d\u00270.0.0.0\u0027, backlog\u003d128, "},{"line_number":119,"context_line":"              certfile\u003dNone, keyfile\u003dNone, ca_certs\u003dNone, cert_required\u003d\u0027True\u0027):"},{"line_number":120,"context_line":"        \"\"\"Run a WSGI server with the given application.\"\"\""},{"line_number":121,"context_line":"        socket \u003d eventlet.listen((host, port), backlog\u003dbacklog)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F7Gw%3D","line":118,"updated":"2011-10-24 14:26:36.000000000","message":"Can this be written to call super start()? There\u0027s obviously overlap between the two.","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    "},{"line_number":118,"context_line":"    def start(self, application, port, host\u003d\u00270.0.0.0\u0027, backlog\u003d128, "},{"line_number":119,"context_line":"              certfile\u003dNone, keyfile\u003dNone, ca_certs\u003dNone, cert_required\u003d\u0027True\u0027):"},{"line_number":120,"context_line":"        \"\"\"Run a WSGI server with the given application.\"\"\""},{"line_number":121,"context_line":"        socket \u003d eventlet.listen((host, port), backlog\u003dbacklog)"},{"line_number":122,"context_line":"        if cert_required \u003d\u003d \u0027True\u0027:"},{"line_number":123,"context_line":"            cert_reqs \u003d ssl.CERT_REQUIRED"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F7Gs%3D","line":120,"updated":"2011-10-24 14:26:36.000000000","message":"Doc string should also differ from parent to reflect additional behavior.","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"}],"keystone/middleware/auth_token.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        # validating tokens is a privileged call"},{"line_number":113,"context_line":"        self.admin_token \u003d conf.get(\u0027admin_token\u0027)"},{"line_number":114,"context_line":"        "},{"line_number":115,"context_line":"        # Certificate stuff"},{"line_number":116,"context_line":"        self.cert_file \u003d conf.get(\u0027certfile\u0027, None)"},{"line_number":117,"context_line":"        self.key_file \u003d conf.get(\u0027keyfile\u0027, None)        "},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F7Gk%3D","line":115,"updated":"2011-10-24 14:26:36.000000000","message":"Explain \u0027why\u0027 or just remove this ;)","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"}],"keystone/test/etc/sql.conf.template":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"59ea3a6ef194c6bac9973843bfb42cd05824d448","unresolved":false,"context_lines":[{"line_number":10,"context_line":"\t\u0027cdn\u0027 : \u0027X-CDN-Manageent-Url\u0027}"},{"line_number":11,"context_line":"service_host \u003d 0.0.0.0"},{"line_number":12,"context_line":"service_port \u003d 5000"},{"line_number":13,"context_line":"service_ssl \u003d False"},{"line_number":14,"context_line":"admin_host \u003d 0.0.0.0"},{"line_number":15,"context_line":"admin_port \u003d 35357"},{"line_number":16,"context_line":"admin_ssl \u003d False"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAACX%2F%2F7Gg%3D","line":13,"updated":"2011-10-24 14:26:36.000000000","message":"This patch has no tests? Can we create an https.conf.template derived from this one?","commit_id":"6b06c9da02538009cfac086eee48ff2d11d3230f"}]}
