From f30e113b1df5a6ea1b80b665baa7f93e3df052ca Mon Sep 17 00:00:00 2001 From: drbrain Date: Thu, 25 Aug 2011 00:52:10 +0000 Subject: * backport r33066 from trunk. * ext/openssl/lib/openssl/bn.rb: Hide copyright info from RDoc. * ext/openssl/lib/openssl/digest.rb: ditto * ext/openssl/lib/openssl/cipher.rb: ditto * backport r33065 from trunk. * ext/openssl/ossl_digest.c: Document OpenSSL::Digest::digest and add an example to OpenSSL::Digest. Patch by Sylvain Daubert. [Ruby 1.9 - Bug #5166] * ext/openssl/lib/openssl/digest.rb (module OpenSSL): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@33067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 17 +++++++++++++++ ext/openssl/lib/openssl/bn.rb | 34 ++++++++++++++++------------- ext/openssl/lib/openssl/cipher.rb | 34 ++++++++++++++++------------- ext/openssl/lib/openssl/digest.rb | 45 ++++++++++++++++++++++++++------------- ext/openssl/ossl_digest.c | 11 ++++++++++ 5 files changed, 96 insertions(+), 45 deletions(-) diff --git a/ChangeLog b/ChangeLog index d76051929e..6c88495344 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +Thu Aug 25 09:43:16 2011 Eric Hodel + + * backport r33066 from trunk. + + * ext/openssl/lib/openssl/bn.rb: Hide copyright info from RDoc. + * ext/openssl/lib/openssl/digest.rb: ditto + * ext/openssl/lib/openssl/cipher.rb: ditto + +Thu Aug 25 09:25:48 2011 Eric Hodel + + * backport r33065 from trunk. + + * ext/openssl/ossl_digest.c: Document OpenSSL::Digest::digest and add + an example to OpenSSL::Digest. Patch by Sylvain Daubert. + [Ruby 1.9 - Bug #5166] + * ext/openssl/lib/openssl/digest.rb (module OpenSSL): ditto + Thu Aug 25 08:19:43 2011 Koichi Sasada * vm.c (vm_make_env_each): work around to solve Bug #2729. diff --git a/ext/openssl/lib/openssl/bn.rb b/ext/openssl/lib/openssl/bn.rb index 1bf3afae42..b2fca163f1 100644 --- a/ext/openssl/lib/openssl/bn.rb +++ b/ext/openssl/lib/openssl/bn.rb @@ -1,18 +1,22 @@ -=begin -= $RCSfile$ -- Ruby-space definitions that completes C-space funcs for BN - -= Info - 'OpenSSL for Ruby 2' project - Copyright (C) 2002 Michal Rokos - All rights reserved. - -= Licence - This program is licenced under the same licence as Ruby. - (See the file 'LICENCE'.) - -= Version - $Id$ -=end +#-- +# +# $RCSfile$ +# +# = Ruby-space definitions that completes C-space funcs for BN +# +# = Info +# 'OpenSSL for Ruby 2' project +# Copyright (C) 2002 Michal Rokos +# All rights reserved. +# +# = Licence +# This program is licenced under the same licence as Ruby. +# (See the file 'LICENCE'.) +# +# = Version +# $Id$ +# +#++ module OpenSSL class BN diff --git a/ext/openssl/lib/openssl/cipher.rb b/ext/openssl/lib/openssl/cipher.rb index d9aac755cd..eb146fb552 100644 --- a/ext/openssl/lib/openssl/cipher.rb +++ b/ext/openssl/lib/openssl/cipher.rb @@ -1,18 +1,22 @@ -=begin -= $RCSfile$ -- Ruby-space predefined Cipher subclasses - -= Info - 'OpenSSL for Ruby 2' project - Copyright (C) 2002 Michal Rokos - All rights reserved. - -= Licence - This program is licenced under the same licence as Ruby. - (See the file 'LICENCE'.) - -= Version - $Id$ -=end +#-- +# +# $RCSfile$ +# +# = Ruby-space predefined Cipher subclasses +# +# = Info +# 'OpenSSL for Ruby 2' project +# Copyright (C) 2002 Michal Rokos +# All rights reserved. +# +# = Licence +# This program is licenced under the same licence as Ruby. +# (See the file 'LICENCE'.) +# +# = Version +# $Id$ +# +#++ module OpenSSL class Cipher diff --git a/ext/openssl/lib/openssl/digest.rb b/ext/openssl/lib/openssl/digest.rb index d841fef242..b47007165c 100644 --- a/ext/openssl/lib/openssl/digest.rb +++ b/ext/openssl/lib/openssl/digest.rb @@ -1,18 +1,22 @@ -=begin -= $RCSfile$ -- Ruby-space predefined Digest subclasses - -= Info - 'OpenSSL for Ruby 2' project - Copyright (C) 2002 Michal Rokos - All rights reserved. - -= Licence - This program is licenced under the same licence as Ruby. - (See the file 'LICENCE'.) - -= Version - $Id$ -=end +#-- +# +# $RCSfile$ +# +# = Ruby-space predefined Digest subclasses +# +# = Info +# 'OpenSSL for Ruby 2' project +# Copyright (C) 2002 Michal Rokos +# All rights reserved. +# +# = Licence +# This program is licenced under the same licence as Ruby. +# (See the file 'LICENCE'.) +# +# = Version +# $Id$ +# +#++ module OpenSSL class Digest @@ -22,6 +26,17 @@ module OpenSSL alg += %w(SHA224 SHA256 SHA384 SHA512) end + # Return the +data+ hash computed with +name+ Digest. +name+ is either the + # long name or short name of a supported digest algorithm. + # + # === Examples + # + # OpenSSL::Digest.digest("SHA256, "abc") + # + # which is equivalent to: + # + # OpenSSL::Digest::SHA256.digest("abc") + def self.digest(name, data) super(data, name) end diff --git a/ext/openssl/ossl_digest.c b/ext/openssl/ossl_digest.c index ab165c4a84..8fd6b75c36 100644 --- a/ext/openssl/ossl_digest.c +++ b/ext/openssl/ossl_digest.c @@ -403,6 +403,17 @@ Init_ossl_digest() * sha256 << data2 * sha256 << data3 * digest = sha256.digest + * + * === Reuse a Digest instance + * + * data1 = File.read('file1') + * sha256 = OpenSSL::Digest::SHA256.new + * digest1 = sha256.digest(data1) + * + * data2 = File.read('file2') + * sha256.reset + * digest2 = sha256.digest(data2) + * */ cDigest = rb_define_class_under(mOSSL, "Digest", rb_path2class("Digest::Class")); /* Document-class: OpenSSL::Digest::DigestError -- cgit v1.2.3