Implement digest framework introduced in 1.8.6
----------------------------------------------
Key: JRUBY-4325
URL: http://jira.codehaus.org/browse/JRUBY-4325
Project: JRuby
Issue Type: Improvement
Components: Extensions
Environment: jruby 1.5.0.dev (ruby 1.8.7 patchlevel 174) (2009-12-08
683f6c0) (Java HotSpot(TM) Client VM 1.6.0_16) [i386-java]
Reporter: Hiroshi Nakamura
Attachments: digest-framework.patch
jruby-openssl (and net/https) requires the digest framework to follow MRI
1.8.7/1.9.x compatibility.
Attached patch is a chunk of following 3 commits.
* http://github.com/nahi/jruby/commit/f536500fcfbcf722544098d4ff7a6d461ee2d059
* http://github.com/nahi/jruby/commit/310abc146b1e330fb68c82af5fc7f7549602fa05
* http://github.com/nahi/jruby/commit/87a34fbb25b1f0d58ef97771397f2ee197634a54
Changes:
* current MRI digest framework is introduced in
Wed Oct 25 17:23:28 2006 by Akinori MUSHA <[email protected]>.
need new framework for broader MRI compatibility. At least
jruby-openssl requires the framework for 1.8.7 compatibility.
* added Digest.hexencode.
* added Digest::Instance module.
* added Digest::Class class which includes Digest::Instance.
* reimplement Digest::Base following above Digest framework.
* let Digest::MD5, SHA1, etc. use Digest::Base.
* added tests.
0% jruby -v -rdigest -e 'p Class.new(Digest::Class).new'
jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-02 69fbfa3) (Java HotSpot(TM)
Client VM 1.6.0_16) [i386-java]
/home/nahi/java/jruby-1.4.0/lib/ruby/site_ruby/shared/builtin/core_ext/symbol.rb:1:in
`const_missing': uninitialized constant Digest::Class (NameError)
from -e:1
1% ruby187 -v -rdigest -e 'p Class.new(Digest::Class).new'
ruby 1.8.7 (2009-11-25 patchlevel 225) [i686-linux]
-e:1:in `finish': #<Class:0xb789d304> does not implement finish() (RuntimeError)
from -e:1:in `inspect'
from -e:1:in `p'
from -e:1
1% bin/jruby -v -rdigest -e 'p Class.new(Digest::Class).new'
jruby 1.5.0.dev (ruby 1.8.7 patchlevel 174) (2009-12-07 ae3c789) (Java
HotSpot(TM) Client VM 1.6.0_16) [i386-java]
-e:1: #<Class:01xe576d4> does not implement finish() (RuntimeError)
1%
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email