)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6d31a9a9176b33e3da703cc636fc49273bb404d7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"to the empty string value. This happens in some setups of Apache"},{"line_number":11,"context_line":"and Shibboleth SP, leading to authentication failures with the"},{"line_number":12,"context_line":"saml2 auth method unless the external auth method is disabled."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I3cb46ddffa76be3d4526a175257014ca7f1ab94a"},{"line_number":15,"context_line":"Co-Authored-By: Florent Flament \u003cflorent.flament-ext@cloudwatt.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_741c1a7c","line":13,"updated":"2014-08-07 22:55:05.000000000","message":"This needs a bug since it\u0027s changing behavior.\n\nAlso, it should probably be backported to icehouse.","commit_id":"6a1121084cb2e742533b3d635484d3404de24e05"}],"keystone/auth/controllers.py":[{"author":{"_account_id":12215,"name":"Alexey Miroshkin","email":"alexey.miroshkin@ru.ibm.com","username":"amirosh"},"change_message_id":"bf9ccbd742630fdc4804cd5a62ef0bbddd93008a","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        # The \u0027external\u0027 method allows any \u0027REMOTE_USER\u0027 based authentication"},{"line_number":468,"context_line":"        # In some cases the server can set REMOTE_USER as \u0027\u0027 instead of"},{"line_number":469,"context_line":"        # dropping it, so this must be filtered out"},{"line_number":470,"context_line":"        if context[\u0027environment\u0027].get(\u0027REMOTE_USER\u0027, None):"},{"line_number":471,"context_line":"            try:"},{"line_number":472,"context_line":"                external \u003d get_auth_method(\u0027external\u0027)"},{"line_number":473,"context_line":"                external.authenticate(context, auth_info, auth_context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_accb3b4a","line":470,"updated":"2014-08-05 11:01:13.000000000","message":"I\u0027d suggest to remove the second parameter, its default value is None anyway.","commit_id":"ee0b760454f6e8a4db727865ff491e447817669a"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d1ddeb8c70ef81e068ab33f8d6ef7f3dc1c467c","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        # The \u0027external\u0027 method allows any \u0027REMOTE_USER\u0027 based authentication"},{"line_number":468,"context_line":"        # In some cases the server can set REMOTE_USER as \u0027\u0027 instead of"},{"line_number":469,"context_line":"        # dropping it, so this must be filtered out"},{"line_number":470,"context_line":"        if context[\u0027environment\u0027].get(\u0027REMOTE_USER\u0027, None):"},{"line_number":471,"context_line":"            try:"},{"line_number":472,"context_line":"                external \u003d get_auth_method(\u0027external\u0027)"},{"line_number":473,"context_line":"                external.authenticate(context, auth_info, auth_context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_5204f47c","line":470,"in_reply_to":"baada198_accb3b4a","updated":"2014-08-05 12:05:24.000000000","message":"++","commit_id":"ee0b760454f6e8a4db727865ff491e447817669a"}],"keystone/tests/test_auth.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6d31a9a9176b33e3da703cc636fc49273bb404d7","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def test_empty_remote_user(self):"},{"line_number":120,"context_line":"        \"\"\"Verify that _authenticate_external() raises exception if"},{"line_number":121,"context_line":"        REMOTE_USER is set as the empty string."},{"line_number":122,"context_line":"        \"\"\""},{"line_number":123,"context_line":"        self.assertRaises("},{"line_number":124,"context_line":"            token.controllers.ExternalAuthNotApplicable,"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_9747f04b","line":121,"updated":"2014-08-07 22:55:05.000000000","message":"How does this test verify what it says here? It doesn\u0027t use REMOTE_USER.","commit_id":"6a1121084cb2e742533b3d635484d3404de24e05"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6d31a9a9176b33e3da703cc636fc49273bb404d7","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        self.assertRaises("},{"line_number":124,"context_line":"            token.controllers.ExternalAuthNotApplicable,"},{"line_number":125,"context_line":"            self.controller._authenticate_external,"},{"line_number":126,"context_line":"            {}, {})"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def test_no_token_in_auth(self):"},{"line_number":129,"context_line":"        \"\"\"Verify that _authenticate_token() raises exception if no token.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_d7fb2813","line":126,"updated":"2014-08-07 22:55:05.000000000","message":"give a name to these unnamed {}s -- context\u003d{}, auth\u003d{}.","commit_id":"6a1121084cb2e742533b3d635484d3404de24e05"}]}
