)]}'
{"keystone/common/ldap/core.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7a93bbc2f8e7eb42bc3b9f01188a7a4e3544595e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    try:"},{"line_number":125,"context_line":"        return utf8_decode(val)"},{"line_number":126,"context_line":"    except Exception:"},{"line_number":127,"context_line":"        return"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"def convert_ldap_result(ldap_result):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_decb38a3","line":127,"updated":"2014-09-02 19:26:23.000000000","message":"Here, we should explicitly accept UnicodeErrors and then throw in some logging so that it provides the user some level of information, instead of returning None.","commit_id":"736517be1e3f86cc3f19d9e10a139169af943c2e"},{"author":{"_account_id":2101,"name":"Brent Roskos","email":"broskos@redhat.com","username":"broskos"},"change_message_id":"5e8d68ee018b6edecd64c87793447e5c96bfec6d","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    try:"},{"line_number":125,"context_line":"        return utf8_decode(val)"},{"line_number":126,"context_line":"    except Exception:"},{"line_number":127,"context_line":"        return"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"def convert_ldap_result(ldap_result):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_d45957ff","line":127,"in_reply_to":"fa98f980_decb38a3","updated":"2014-09-02 20:51:03.000000000","message":"Done","commit_id":"736517be1e3f86cc3f19d9e10a139169af943c2e"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"f3e00a5685451d4852e16bb1eb85ea8f0b4a0622","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    except UnicodeDecodeError as err:"},{"line_number":127,"context_line":"        LOG.warn(\u0027UnicodeDecodeError: %s.\u0027"},{"line_number":128,"context_line":"                 \u0027  Unable to decode value returned from ldap driver: %s\u0027,"},{"line_number":129,"context_line":"                 err, val)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def convert_ldap_result(ldap_result):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_973863d4","line":129,"updated":"2014-09-04 16:19:14.000000000","message":"We might want this to be \u0027%r\u0027 not \u0027%s\u0027 on the value replacement, this should help give us  a cleaner view of the value (repr sometimes is easier to read)\n\nThis also needs log hints.","commit_id":"09f499d675d743f886dea0be98568b45875e9713"},{"author":{"_account_id":2101,"name":"Brent Roskos","email":"broskos@redhat.com","username":"broskos"},"change_message_id":"f3f79c756a6e140634d0fcba26f40e970eac22e9","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    except UnicodeDecodeError as err:"},{"line_number":127,"context_line":"        LOG.warn(\u0027UnicodeDecodeError: %s.\u0027"},{"line_number":128,"context_line":"                 \u0027  Unable to decode value returned from ldap driver: %s\u0027,"},{"line_number":129,"context_line":"                 err, val)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def convert_ldap_result(ldap_result):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_4bdd7241","line":129,"in_reply_to":"fa98f980_973863d4","updated":"2014-09-04 18:51:32.000000000","message":"Done","commit_id":"09f499d675d743f886dea0be98568b45875e9713"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"cdf7ee1bfa4ac885f9e4af45eb234e628bada81a","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    except UnicodeDecodeError as err:"},{"line_number":127,"context_line":"        LOG.warn(_LW(\u0027UnicodeDecodeError: %(err)s.\u0027"},{"line_number":128,"context_line":"                     \u0027  Unable to decode value returned from ldap driver:\u0027"},{"line_number":129,"context_line":"                     \u0027 %(val)r\u0027) % {\u0027err\u0027: err, \u0027val\u0027: val})"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def convert_ldap_result(ldap_result):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_e2c62799","line":129,"updated":"2014-09-05 16:09:14.000000000","message":"let\u0027s truncate the value in case it\u0027s long (like a jpegphoto or something. Also, it\u0027s probably better to log the entry DN and attribute name (so maybe the caller needs to handle the exception).","commit_id":"b5bb0eef7081073a8f449e89c36e87dbe488755b"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c3d34a2cf553eebd02b546021f4afbd546a43478","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    except UnicodeDecodeError as err:"},{"line_number":127,"context_line":"        LOG.warn(_LW(\u0027UnicodeDecodeError: %(err)s.\u0027"},{"line_number":128,"context_line":"                     \u0027  Unable to decode value returned from ldap driver:\u0027"},{"line_number":129,"context_line":"                     \u0027 %(val)r\u0027) % {\u0027err\u0027: err, \u0027val\u0027: val})"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def convert_ldap_result(ldap_result):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_443aa099","line":129,"in_reply_to":"fa98f980_e256275b","updated":"2014-09-05 16:43:00.000000000","message":"I don\u0027t think %r matters here anyway since val is a string. If it was anything else it wouldn\u0027t hit this except.","commit_id":"b5bb0eef7081073a8f449e89c36e87dbe488755b"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"dc0d7b78906da7458e76a6ae4a6dc8a7dbe7d7a8","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    except UnicodeDecodeError as err:"},{"line_number":127,"context_line":"        LOG.warn(_LW(\u0027UnicodeDecodeError: %(err)s.\u0027"},{"line_number":128,"context_line":"                     \u0027  Unable to decode value returned from ldap driver:\u0027"},{"line_number":129,"context_line":"                     \u0027 %(val)r\u0027) % {\u0027err\u0027: err, \u0027val\u0027: val})"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def convert_ldap_result(ldap_result):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_e256275b","line":129,"in_reply_to":"fa98f980_e2c62799","updated":"2014-09-05 16:23:45.000000000","message":"Ah better idea than the %r! Thanks brant!","commit_id":"b5bb0eef7081073a8f449e89c36e87dbe488755b"},{"author":{"_account_id":2101,"name":"Brent Roskos","email":"broskos@redhat.com","username":"broskos"},"change_message_id":"191bd58f4d7e98d355e466f45a48319c53855e12","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    except UnicodeDecodeError as err:"},{"line_number":127,"context_line":"        LOG.warn(_LW(\u0027UnicodeDecodeError: %(err)s.\u0027"},{"line_number":128,"context_line":"                     \u0027  Unable to decode value returned from ldap driver:\u0027"},{"line_number":129,"context_line":"                     \u0027 %(val)r\u0027) % {\u0027err\u0027: err, \u0027val\u0027: val})"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def convert_ldap_result(ldap_result):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_edd8d7f0","line":129,"in_reply_to":"fa98f980_e2c62799","updated":"2014-09-05 18:42:39.000000000","message":"Brant - I can\u0027t log the DN from here, all I have is \u0027val\u0027 being passed in for translation.\n\nI\u0027ll add the truncate, that\u0027s easy enough.","commit_id":"b5bb0eef7081073a8f449e89c36e87dbe488755b"}],"keystone/tests/unit/common/test_ldap.py":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"f3e00a5685451d4852e16bb1eb85ea8f0b4a0622","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def test_that_non_encodable_chars_do_not_cause_ldap2py_to_crash(self):"},{"line_number":172,"context_line":"        val \u003d \u0027?\"?gZK??[J????\u0027"},{"line_number":173,"context_line":"        self.assertTrue(ks_ldap.ldap2py(val))"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_37a5f703","line":173,"updated":"2014-09-04 16:19:14.000000000","message":"This doesn\u0027t actually test the issue. This will decode just fine, you\u0027re getting a string representation of the un-decodable value:\n\n    \u003e\u003e\u003e val \u003d \u0027?\"?gZK??[J????\u0027\n    \u003e\u003e\u003e codecs.getdecoder(\u0027utf-8\u0027)(val)\n    (u\u0027?\"?gZK??[J????\u0027, 14)","commit_id":"09f499d675d743f886dea0be98568b45875e9713"},{"author":{"_account_id":2101,"name":"Brent Roskos","email":"broskos@redhat.com","username":"broskos"},"change_message_id":"f3f79c756a6e140634d0fcba26f40e970eac22e9","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def test_that_non_encodable_chars_do_not_cause_ldap2py_to_crash(self):"},{"line_number":172,"context_line":"        val \u003d \u0027?\"?gZK??[J????\u0027"},{"line_number":173,"context_line":"        self.assertTrue(ks_ldap.ldap2py(val))"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_6be076fa","line":173,"in_reply_to":"fa98f980_37a5f703","updated":"2014-09-04 18:51:32.000000000","message":"Done","commit_id":"09f499d675d743f886dea0be98568b45875e9713"}]}
