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


Reply via email to