)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e3f81d5b0c170a4249ea5a9ce1216b4d35c05fcc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Make token bind work with a request"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The confirm token bind function takes the env dictionary. It should be"},{"line_number":10,"context_line":"like other functions and operate on a request."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id3bde0ef657cff6d1b2551e5a68245be71ccdb93"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa32b979_4bd7fb4a","line":10,"updated":"2015-06-17 19:32:51.000000000","message":"function","commit_id":"5d16604bdfd54c55411c4c9d9f18b1bf190c5db3"}],"keystonemiddleware/auth_token/__init__.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"954b8958b106a87210c28e4275706b19ae51b56d","unresolved":false,"context_lines":[{"line_number":738,"context_line":""},{"line_number":739,"context_line":"        for bind_type, identifier in six.iteritems(bind):"},{"line_number":740,"context_line":"            if bind_type \u003d\u003d _BIND_MODE.KERBEROS:"},{"line_number":741,"context_line":"                if not (req.auth_type or \u0027\u0027).lower() \u003d\u003d \u0027negotiate\u0027:"},{"line_number":742,"context_line":"                    self.log.info(_LI(\u0027Kerberos credentials required and \u0027"},{"line_number":743,"context_line":"                                      \u0027not present.\u0027))"},{"line_number":744,"context_line":"                    self._invalid_user_token()"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_0595bbe2","line":741,"updated":"2015-06-22 18:34:49.000000000","message":"enhance req.auth_type to lowercase the string so this method can be simpler. Should just be\n\n  if req.auth_type !\u003d \u0027negotiate\u0027\n\n(fix these to use !\u003d)","commit_id":"a516edec211a48b8d6d0339843d779d3b6811d43"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"954b8958b106a87210c28e4275706b19ae51b56d","unresolved":false,"context_lines":[{"line_number":743,"context_line":"                                      \u0027not present.\u0027))"},{"line_number":744,"context_line":"                    self._invalid_user_token()"},{"line_number":745,"context_line":""},{"line_number":746,"context_line":"                if not req.remote_user \u003d\u003d identifier:"},{"line_number":747,"context_line":"                    self.log.info(_LI(\u0027Kerberos credentials do not match \u0027"},{"line_number":748,"context_line":"                                      \u0027those in bind.\u0027))"},{"line_number":749,"context_line":"                    self._invalid_user_token()"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_05637b1b","line":746,"updated":"2015-06-22 18:34:49.000000000","message":"fix this to use !\u003d.","commit_id":"a516edec211a48b8d6d0339843d779d3b6811d43"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"db329a6118be32870bfb5af9016c2fa95d1d57da","unresolved":false,"context_lines":[{"line_number":743,"context_line":"                                      \u0027not present.\u0027))"},{"line_number":744,"context_line":"                    self._invalid_user_token()"},{"line_number":745,"context_line":""},{"line_number":746,"context_line":"                if req.remote_user !\u003d identifier:"},{"line_number":747,"context_line":"                    self.log.info(_LI(\u0027Kerberos credentials do not match \u0027"},{"line_number":748,"context_line":"                                      \u0027those in bind.\u0027))"},{"line_number":749,"context_line":"                    self._invalid_user_token()"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa32b979_e85cfc1a","line":746,"updated":"2015-06-23 16:09:32.000000000","message":"why wasn\u0027t remote_user added to _request?\n\nahh, cause you get it for free http://docs.webob.org/en/1.1/modules/webob.html","commit_id":"7262f4541b58a4ef087279980be75d2abda7b37e"}],"keystonemiddleware/auth_token/_request.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"59a3fae39c33127756de10049de8132ac2f7e304","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        The returned value is always lower case."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        :returns: A string or empty string if not present\"\"\""},{"line_number":189,"context_line":"        return self.environ.get(\u0027AUTH_TYPE\u0027, \u0027\u0027).lower()"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_b3d3eb5e","line":189,"updated":"2015-06-23 02:07:55.000000000","message":"should return None if it\u0027s not present, but this works.","commit_id":"f69bc30147ed5965cb0b455c1a666fe4d2c6c5a2"}]}
