set svn:eol-style
0 lines of code changed in:
* ext/digest: Prefix C constants with RUBY_ and C type names with
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.
5 lines of code changed in:
* 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:
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.
2 lines of code changed in:
* ext/digest/digest.c, ext/digest/md5/md5init.c,
ext/digest/rmd160/rmd160init.c, ext/digest/sha1/sha1init.c,
ext/digest/sha2/sha2init.c: Add RDoc documentation.
* ext/digest/digest.txt, ext/digest/digest.txt.ja: Removed in
favor of embedded RDoc documentation.
5 lines of code changed in:
* ext/digest/digest.c (get_digest_base_metadata): Use an instance
variable of a class object instead of a class variable for
metadata. This change is crucial for ruby 1.8 and applying it
also to the trunk will assure compatibilities.
* ext/digest/md5/md5init.c (Init_md5): Ditto.
* ext/digest/rmd160/rmd160init.c (Init_rmd160): Ditto.
* ext/digest/sha1/sha1init.c (Init_sha1): Ditto.
* ext/digest/sha2/sha2init.c (Init_sha2): Ditto.
2 lines of code changed in:
* ext/digest/digest.c (rb_digest_base_alloc,
rb_digest_base_equal): Simplify the equality check and just
compare resulted digests since state-level equality should
not be significant.
* ext/digest/digest.h: Ditto.
* ext/digest/*/*.[ch]: Ditto.
0 lines of code changed in:
* ext/digest/digest.c (rb_digest_base_reset, Init_digest): Add
Digest::Base#reset.
* ext/digest/digest.h: Update the header comment.
* ext/digest/md5/md5ossl.h, ext/digest/md5/md5init.c (Init_md5):
Define DIGEST_LENGTH and BLOCK_LENGTH.
* ext/digest/rmd160/rmd160init.c (Init_rmd160): Ditto.
* ext/digest/sha1/sha1init.c (Init_sha1): Ditto.
* ext/digest/sha2/sha2init.c (Init_sha2): Ditto.
* ext/digest/depend, ext/digest/extconf.rb: Use $INSTALLFILES
rather than adding make targets. [Pointed out by: nobu]
5 lines of code changed in:
* ext/digest/digest.[ch]: Since the argument order of
hash_final_func_t was inconsistent with others, change it and
rename to hash_finish_func_t to avoid confusion.
* ext/digest/digest.[ch]: Remove and eliminate the use of
hash_end_func_t. Implement hexdigest conversion in the base
class.
* ext/digest/md5/md5.c, ext/digest/md5/md5.h,
ext/digest/md5/md5init.c, ext/digest/md5/md5ossl.c,
ext/digest/md5/md5ossl.h: Remove MD5_End() and change
MD5_Final() to MD5_Finish().
* ext/digest/rmd160/depend, ext/digest/rmd160/extconf.rb,
ext/digest/rmd160/rmd160.c, ext/digest/rmd160/rmd160.h,
ext/digest/rmd160/rmd160hl.c, ext/digest/rmd160/rmd160init.c,
ext/digest/rmd160/rmd160ossl.c, ext/digest/rmd160/rmd160ossl.h:
Remove unused functions RMD160_End(), RMD160_File(),
RMD160_Data() and change RMD160_Final() to RMD160_Finish().
* ext/digest/sha1/extconf.rb, ext/digest/sha1/sha1.c,
ext/digest/sha1/sha1.h, ext/digest/sha1/sha1hl.c,
ext/digest/sha1/sha1init.c, ext/digest/sha1/sha1ossl.c,
ext/digest/sha1/sha1ossl.h: Likewise.
* ext/digest/sha2/extconf.rb, ext/digest/sha2/sha2.c,
ext/digest/sha2/sha2.h, ext/digest/sha2/sha2hl.c,
ext/digest/sha2/sha2init.c: Likewise.
13 lines of code changed in:
* ext/digest/md5/md5init.c (Init_md5): Now that we have digest.rb,
require "digest" rather than "digest.so".
* ext/digest/rmd160/rmd160init.c (Init_rmd160): Ditto.
* ext/digest/sha1/sha1init.c (Init_sha1): Ditto.
* ext/digest/sha2/sha2init.c (Init_sha2): Ditto.
1 lines of code changed in:
add extconf.h to .cvsignore.
1 lines of code changed in:
* ruby.h, lib/mkmf.rb (create_header): clear command line options for
macros moved to extconf.h.
* ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and
EXTSTATIC permanent.
* ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.
* {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added
$(INCFLAGS).
2 lines of code changed in:
* ext/digest/md5/md5ossl.h, ext/digest/rmd160/rmd160ossl.h,
ext/digest/sha1/sha1ossl.h: include <stddef.h> to avoid
error in compilation with OpenSSL-0.9.8. [ruby-list:41068]
1 lines of code changed in:
* MANIFEST, ext/**/MANIFEST: removed.
0 lines of code changed in:
* ext/digest/md5/extconf.rb: have_library appends found library.
0 lines of code changed in:
* ext/extmk.rb: preserve order in Setup. [ruby-dev:22503]
* ext/extmk.rb: move dependent libraries just after depended
libraries.
* ext/digest/*/extconf.rb: depend on digest.
2 lines of code changed in:
* sample/optparse/opttest.rb: added.
1 lines of code changed in:
* intern.h (rb_check_array_type): Declare rb_check_array_type().
* ext/digest/md5/md5ossl.c: Include stdio.h for sprintf() and
string.h for memcmp().
* ext/dl/ptr.c: Include ctype.h for isdigit().
2 lines of code changed in:
Update the MANIFEST files.
2 lines of code changed in:
* ext/digest/md5: Use OpenSSL's MD5 engine if available. It is
much faster than what we have now (md5.[ch]). Add a knob
(--with-bundled-md5) to extconf.rb which makes it use the
bundled one anyway.
56 lines of code changed in:
* configure.in: modify program_prefix only if specified
--program-prefix.
* configure.in: don't generate ext/extmk.rb.
* Makefile.in: execute directly $(srcdir)/ext/extmk.rb.
remove -Cext option, "Dir::chdir 'ext'" in ext/extmk.rb.
* {win32,bccwin32}/Makefile.sub: ditto.
* instruby.rb: ditto.
* ext/extmk.rb: renamed from ext/extmk.rb.in.
* lib/mkmf.rb (module Logging): create log files (mkmf.log)
in each extension module directories.
* ext/extmk.rb: ditto.
* lib/mkmf.rb (macro_defined?): new method.
* ext/.cvsignore: remove extmk.rb.
* ext/*/.cvsignore: add "*.def".
1 lines of code changed in:
(8 more)