)]}'
{"keystonemiddleware/auth_token/__init__.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"392510988e60398f53b093b4f740d4739edd8e1d","unresolved":false,"context_lines":[{"line_number":510,"context_line":"            return"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"        try:"},{"line_number":513,"context_line":"            if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":514,"context_line":"                bind \u003d auth_ref[\u0027token\u0027][\u0027bind\u0027]"},{"line_number":515,"context_line":"            elif auth_ref.version \u003d\u003d \u0027v3\u0027:"},{"line_number":516,"context_line":"                bind \u003d auth_ref[\u0027bind\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_8e427967","line":513,"updated":"2015-07-10 20:19:24.000000000","message":"can we update AccessInfo to support bind info?","commit_id":"57e7ff15464ec2e7622110df3b30a938271e1700"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"392510988e60398f53b093b4f740d4739edd8e1d","unresolved":false,"context_lines":[{"line_number":516,"context_line":"                bind \u003d auth_ref[\u0027bind\u0027]"},{"line_number":517,"context_line":"            else:"},{"line_number":518,"context_line":"                self._invalid_user_token()"},{"line_number":519,"context_line":"        except KeyError:"},{"line_number":520,"context_line":"            bind \u003d {}"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"        # permissive and strict modes don\u0027t require there to be a bind"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_ee66a528","line":519,"updated":"2015-07-10 20:19:24.000000000","message":"why would this happen and why is it ok to continue on? add a comment.","commit_id":"57e7ff15464ec2e7622110df3b30a938271e1700"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"392510988e60398f53b093b4f740d4739edd8e1d","unresolved":false,"context_lines":[{"line_number":540,"context_line":"        if name and name not in bind:"},{"line_number":541,"context_line":"            self.log.info(_LI(\u0027Named bind mode %s not in bind information\u0027),"},{"line_number":542,"context_line":"                          name)"},{"line_number":543,"context_line":"            self._invalid_user_token()"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"        for bind_type, identifier in six.iteritems(bind):"},{"line_number":546,"context_line":"            if bind_type \u003d\u003d _BIND_MODE.KERBEROS:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_f150c40c","line":543,"updated":"2015-07-10 20:19:24.000000000","message":"Suggest pass the log info to _invalid_user_token instead.","commit_id":"57e7ff15464ec2e7622110df3b30a938271e1700"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"392510988e60398f53b093b4f740d4739edd8e1d","unresolved":false,"context_lines":[{"line_number":557,"context_line":"                self.log.debug(\u0027Kerberos bind authentication successful.\u0027)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"            elif self._enforce_token_bind \u003d\u003d _BIND_MODE.PERMISSIVE:"},{"line_number":560,"context_line":"                self.log.debug(\u0027Ignoring Unknown bind for permissive mode: \u0027"},{"line_number":561,"context_line":"                               \u0027%(bind_type)s: %(identifier)s.\u0027,"},{"line_number":562,"context_line":"                               {\u0027bind_type\u0027: bind_type,"},{"line_number":563,"context_line":"                                \u0027identifier\u0027: identifier})"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_1161a8d3","line":560,"updated":"2015-07-10 20:19:24.000000000","message":"lowercase \"unknown\"","commit_id":"57e7ff15464ec2e7622110df3b30a938271e1700"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"392510988e60398f53b093b4f740d4739edd8e1d","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                    _LI(\u0027Couldn`t verify unknown bind: %(bind_type)s: \u0027"},{"line_number":568,"context_line":"                        \u0027%(identifier)s.\u0027),"},{"line_number":569,"context_line":"                    {\u0027bind_type\u0027: bind_type, \u0027identifier\u0027: identifier})"},{"line_number":570,"context_line":"                self._invalid_user_token()"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"class AuthProtocol(_BaseAuthProtocol):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_31b5cc30","line":570,"updated":"2015-07-10 20:19:24.000000000","message":"Suggest pass the log info to _invalid_user_token instead.\n\nOtherwise why does _invalid_user_token take a parameter?","commit_id":"57e7ff15464ec2e7622110df3b30a938271e1700"}]}
