commit 9485eb3f5e696107af138d9bd5e956a7cce52170 Author: Steven Grimm Date: Thu May 14 11:41:53 2009 -0700 Fix Quercus bug 3513 (sha256 = unknown algorithm) diff --git a/modules/quercus/src/com/caucho/quercus/lib/HashModule.java b/modules/quercus/src/com/caucho/quercus/lib/HashModule.java index 6c9d29c..8d620a4 100644 --- a/modules/quercus/src/com/caucho/quercus/lib/HashModule.java +++ b/modules/quercus/src/com/caucho/quercus/lib/HashModule.java @@ -92,6 +92,10 @@ public class HashModule extends AbstractQuercusModule { return hashToValue(env, bytes, isBinary); } catch (NoSuchAlgorithmException e) { + if (_algorithmMap.containsKey(algorithm)) { + return hash(env, _algorithmMap.get(algorithm), string, isBinary); + } + env.error(L.l("'{0}' is an unknown algorithm", algorithm), e); return BooleanValue.FALSE; @@ -161,6 +165,10 @@ public class HashModule extends AbstractQuercusModule { is.close(); } } catch (NoSuchAlgorithmException e) { + if (_algorithmMap.containsKey(algorithm)) { + return hash_file(env, _algorithmMap.get(algorithm), path, isBinary); + } + env.error(L.l("'{0}' is an unknown algorithm", algorithm), e); return BooleanValue.FALSE; @@ -253,6 +261,10 @@ public class HashModule extends AbstractQuercusModule { return new HashDigestContext(md); } } catch (Exception e) { + if (_algorithmMap.containsKey(algorithm)) { + return hash_init(env, _algorithmMap.get(algorithm), options, keyString); + } + env.error(L.l("hash_init: '{0}' is an unknown algorithm", algorithm));