verbose mode and add a caution to the overview section of the
document. [ruby-dev:41525]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(rb_digest_instance_hexdigest): Save a method call of reset()
for a disposable clone.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
call rb_inspect() on an object that does not implement necessary
methods; reported by NaHi.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
pre-C99 compilers, so resurrect the ULL() macro to regain
portability. [ruby-dev:39032]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
off-by-one bug in SHA-256 hashing. Reduce differences from
the original while at it. [Bug #1799]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ext/digest/md5/md5.c, ext/openssl/ossl.c (main),
ext/socket/extconf.rb (ipv6, wide-getaddrinfo): main should be int.
* main.c (main), win32/winmain.c, wince/wincemain.c (WinMain): envp is
no longer used so long time. based on a patch from Peter Bowen at
[ruby-core:18208]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c (rb_path2class): field precision should have type int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c, ext/digest/defs.h: moved inttypes.h to ruby.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
String#bytesize to avoid test errors on EUC-JP environment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Digest::Base subclasses, which was unintentionally made
impossible while restructuring Digest classes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
autoloads for sha2 classes in favor of handling in
const_missing(), to work around a problem exposed on OS X.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
optimization.
* ext/digest/digest.c (rb_digest_instance_equal): Allow comparing
a digest instance with another of a different class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rb_ to avoid name clash in writing extensions.
* ext/digest: Introduce Digest::Class and Digest::Instance for
ease of implementing subclasses and add-ons, inspried by
gotoyuzo.
* ext/digest: The Digest::Instance module now requires and assumes
that any instance be resettable and clonable, and add some
convenient instance methods such as "new()", for creating a new
copy, parameter taking "digest()" and "hexdigest()", for instant
calculation. These methods make digest instances work just like
digest classes.
* ext/digest/sha2/lib/digest/sha2.rb:
Add the Digest::SHA2 class to wrap up SHA2 variants: SHA256,
SHA384 and SHA512, hoping this module would make a decent
example of a digest subclass written in Ruby.
* ext/digest/lib/digest.rb: Adjust autoload entries for SHA2
classes.
* ext/digest/lib/digest/hmac.rb: Follow the framework updates.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ext/digest/md5/md5init.c, ext/digest/rmd160/rmd160init.c,
ext/digest/sha1/sha1init.c, ext/digest/sha2/sha2init.c:
Introduce API versioning.
* ext/digest/digest.c, ext/digest/digest.h,
ext/digest/md5/md5init.c, ext/digest/rmd160/rmd160init.c,
ext/digest/sha1/sha1init.c, ext/digest/sha2/sha2init.c: Remove
the constants DIGEST_LENGTH and BLOCK_LENGTH and turn them into
instance methods digest_length() and block_length(). Class
methods with the same names are also provided, which take extra
parameters for a digest method.
* ext/digest/lib/digest/hmac.rb: Completely redesign the API which
is similar to Perl's, now that Digest classes can take hashing
parameters.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e