From: SourceForge.net <no...@so...> - 2006-11-20 19:37:50
|
Bugs item #1599004, was opened at 2006-11-18 17:22 Message generated for change (Comment added) made by cgroves You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1599004&group_id=12867 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Library Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: A.M. Kuchling (akuchling) Assigned to: Nobody/Anonymous (nobody) Summary: SHA module produces incorrect results Initial Comment: test_hmac and test_pep247 fail because of problems with the SHA module. * SHA and MD5 objects lack a .digest_size attribute. * Successive calls to digest() return different values. * For digest(), the byte array is converted to a string using the default encoding, which produces weird results if it's UTF-8. It should hardwire using ISO-8859-1, because we want a 1-to-1 mapping of characters. The attached patch fixes test_pep247. test_hmac still fails; I'm still looking into the problem. ---------------------------------------------------------------------- >Comment By: Charles Groves (cgroves) Date: 2006-11-20 14:37 Message: Logged In: YES user_id=1174327 Originator: NO I only see one problem in these changes: calling String.getBytes with ISO-8859-1 uses CodingErrorAction.REPLACE in its internal CharsetEncoder. That just replaces characters above 255 with '?'. I think we want it to throw an exception, right? Unfortunately, CharsetEncoder appeared in Java 1.4 so we can't just use it directly for 2.2. As far as I can tell, there's no way in versions earlier than 1.4 to get that kind of control over the encoding in Java's library. We may have to write a bit of code in PyString or the like that handles converting Strings to bytes and reports errors instead of eating them. This applies to http://jython.org/bugs/1599900 as well. ---------------------------------------------------------------------- Comment By: A.M. Kuchling (akuchling) Date: 2006-11-19 13:45 Message: Logged In: YES user_id=11375 Originator: YES Revised version of the patch against the trunk; this now fixes test_hmac. The problem was the use of .getBytes(), which uses a system-specific encoding; here we need it to use ISO-8859-1. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1599004&group_id=12867 |