From bfb1ed598cff466a2b2239204609b4955ffe64c2 Mon Sep 17 00:00:00 2001 From: gotoyuzo Date: Mon, 22 Aug 2005 21:12:03 +0000 Subject: [PATCH] * ext/openssl/lib/digest.rb: added SHA224, SHA256, SHA384 and SHA512. these features are enabled if this library is compiled with OpenSSL 0.9.8 or later. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ ext/openssl/lib/openssl/digest.rb | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 55da807d5b..cfb299b3ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Aug 23 06:07:02 2005 GOTOU Yuuzou + + * ext/openssl/lib/digest.rb: added SHA224, SHA256, SHA384 and SHA512. + these features are enabled if this library is compiled with + OpenSSL 0.9.8 or later. + Tue Aug 23 05:47:04 2005 GOTOU Yuuzou * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): try to decode diff --git a/ext/openssl/lib/openssl/digest.rb b/ext/openssl/lib/openssl/digest.rb index 58622f543e..5745661c3c 100644 --- a/ext/openssl/lib/openssl/digest.rb +++ b/ext/openssl/lib/openssl/digest.rb @@ -21,8 +21,13 @@ module OpenSSL module Digest - %w(DSS DSS1 MD2 MD4 MD5 MDC2 RIPEMD160 SHA SHA1).each{|digest| - eval(<<-EOD) + alg = %w(DSS DSS1 MD2 MD4 MD5 MDC2 RIPEMD160 SHA SHA1) + if OPENSSL_VERSION_NUMBER > 0x00908000 + alg += %w(SHA224 SHA256 SHA384 SHA512) + end + + alg.each{|digest| + self.module_eval(<<-EOD) class #{digest} < Digest def initialize(data=nil) super(\"#{digest}\", data)