)]}'
{"keystone/service.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"e1b13ede73105ebe13ccfea01d895374d89ecbcc","unresolved":false,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"                # If the user is disabled don\u0027t allow them to authenticate"},{"line_number":317,"context_line":"                if not user_ref.get(\u0027enabled\u0027, True):"},{"line_number":318,"context_line":"                    raise exception.Unauthorized(\u0027User %s is disabled\u0027"},{"line_number":319,"context_line":"                                                 % user_id)"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"                # If the tenant is disabled don\u0027t allow them to authenticate"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FwKg%3D","line":318,"updated":"2012-08-14 18:13:03.000000000","message":"Log immediately here if you\u0027d like, but we\u0027ve previously decided that we do NOT want to expose to the *client* specifically WHY authentication has failed.","commit_id":"1338a5d47cce57690a6f4f575662f8983564972f"},{"author":{"_account_id":2340,"name":"Ionut Artarisi","email":"iartarisi@suse.cz","username":"mapleoin"},"change_message_id":"732c6fe4d9109c93519006f4192518a1d705ccf0","unresolved":false,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"                # If the user is disabled don\u0027t allow them to authenticate"},{"line_number":317,"context_line":"                if not user_ref.get(\u0027enabled\u0027, True):"},{"line_number":318,"context_line":"                    raise exception.Unauthorized(\u0027User %s is disabled\u0027"},{"line_number":319,"context_line":"                                                 % user_id)"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"                # If the tenant is disabled don\u0027t allow them to authenticate"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FvZE%3D","line":318,"in_reply_to":"AAAALH%2F%2FwKg%3D","updated":"2012-08-15 06:53:22.000000000","message":"Done","commit_id":"1338a5d47cce57690a6f4f575662f8983564972f"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"e1b13ede73105ebe13ccfea01d895374d89ecbcc","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                # If the tenant is disabled don\u0027t allow them to authenticate"},{"line_number":322,"context_line":"                if tenant_ref and not tenant_ref.get(\u0027enabled\u0027, True):"},{"line_number":323,"context_line":"                    raise exception.Unauthorized("},{"line_number":324,"context_line":"                        \u0027Tenant %s is disabled\u0027 % tenant_id)"},{"line_number":325,"context_line":"            except AssertionError as e:"},{"line_number":326,"context_line":"                raise exception.Unauthorized(e.message)"},{"line_number":327,"context_line":"            auth_token_data \u003d dict(zip([\u0027user\u0027, \u0027tenant\u0027, \u0027metadata\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FwKY%3D","line":324,"updated":"2012-08-14 18:13:03.000000000","message":"same here.","commit_id":"1338a5d47cce57690a6f4f575662f8983564972f"},{"author":{"_account_id":2340,"name":"Ionut Artarisi","email":"iartarisi@suse.cz","username":"mapleoin"},"change_message_id":"732c6fe4d9109c93519006f4192518a1d705ccf0","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                # If the tenant is disabled don\u0027t allow them to authenticate"},{"line_number":322,"context_line":"                if tenant_ref and not tenant_ref.get(\u0027enabled\u0027, True):"},{"line_number":323,"context_line":"                    raise exception.Unauthorized("},{"line_number":324,"context_line":"                        \u0027Tenant %s is disabled\u0027 % tenant_id)"},{"line_number":325,"context_line":"            except AssertionError as e:"},{"line_number":326,"context_line":"                raise exception.Unauthorized(e.message)"},{"line_number":327,"context_line":"            auth_token_data \u003d dict(zip([\u0027user\u0027, \u0027tenant\u0027, \u0027metadata\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FvZA%3D","line":324,"in_reply_to":"AAAALH%2F%2FwKY%3D","updated":"2012-08-15 06:53:22.000000000","message":"Done","commit_id":"1338a5d47cce57690a6f4f575662f8983564972f"},{"author":{"_account_id":1119,"name":"Christoph Thiel","email":"ct@kki.org","username":"cthiel-suse"},"change_message_id":"9157d12aef5cbc8187c4a8aaa25ac307c8c785fc","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                old_token_ref \u003d self.token_api.get_token(context\u003dcontext,"},{"line_number":345,"context_line":"                                                         token_id\u003dold_token)"},{"line_number":346,"context_line":"            except exception.NotFound:"},{"line_number":347,"context_line":"                raise exception.Unauthorized(\"Token not found.\")"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"            user_ref \u003d old_token_ref[\u0027user\u0027]"},{"line_number":350,"context_line":"            user_id \u003d user_ref[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FvRI%3D","line":347,"updated":"2012-08-15 09:13:06.000000000","message":"Are we OK with raising this message to the user?","commit_id":"924577a0787882a00c8a35dc8c5b981dad6c53b5"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f6b2aadf5c04319c8ac47367a902984f89cebc9f","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                old_token_ref \u003d self.token_api.get_token(context\u003dcontext,"},{"line_number":345,"context_line":"                                                         token_id\u003dold_token)"},{"line_number":346,"context_line":"            except exception.NotFound:"},{"line_number":347,"context_line":"                raise exception.Unauthorized(\"Token not found.\")"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"            user_ref \u003d old_token_ref[\u0027user\u0027]"},{"line_number":350,"context_line":"            user_id \u003d user_ref[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2Ft5k%3D","line":347,"in_reply_to":"AAAALH%2F%2FvRI%3D","updated":"2012-08-16 16:06:12.000000000","message":"No; there\u0027s a reason why the 404 is caught and re-raised as Unauthorized.","commit_id":"924577a0787882a00c8a35dc8c5b981dad6c53b5"}]}
