1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

34 commits

Author SHA1 Message Date
nobu
cb50168eb0 * ext/digest/md5/md5init.c (md5), ext/digest/rmd160/rmd160init.c
(rmd160) ext/digest/sha1/sha1init.c (sha1),
  ext/digest/sha2/sha2init.c (sha256, sha384, sha512): constified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 07:48:53 +00:00
knu
33b2ccf041 * ext/digest/sha2/lib/sha2.rb: Moved one level up from under
the superfluous subdirectory digest/.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-11 02:59:43 +00:00
knu
670887f5f6 * ext/digest/lib/digest/hmac.rb: Complete half-boiled updates.
* ext/digest/sha2/lib/digest/sha2.rb: Fix #initialize_clone().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-20 13:01:55 +00:00
knu
b2c7fe1bbf * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-20 12:48:35 +00:00
knu
d87fc2bdd4 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 23:23:18 +00:00
knu
5cafaa6744 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 11:52:18 +00:00
knu
9b81e26df2 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-11 17:14:54 +00:00
knu
945a76d97b * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-11 12:43:58 +00:00
knu
cd58f3313e * 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]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-11 05:15:15 +00:00
knu
f7579abcec * ext/digest/sha1/depend, ext/digest/sha2/depend: Remove obsolete
dependencies.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-10 04:22:30 +00:00
knu
b9673f64f1 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-05 11:09:42 +00:00
knu
3c29f3feef * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-27 14:34:49 +00:00
akr
934847fbeb add extconf.h to .cvsignore.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-24 01:15:08 +00:00
nobu
e34b2a73e6 * 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).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-25 23:44:08 +00:00
matz
de3bff164c * eval.c (rb_mod_define_method): should save safe_level in the
proc object.  [ruby-dev:28146]

* test/drb/drbtest.rb (DRbService::self.ext_service): increase
  timeout limit.  a patch from Kazuhiro NISHIYAMA
  <zn at mbf.nifty.com>. [ruby-dev:28132]

* eval.c (ev_const_get): fixed a bug in constant reference during
  instance_eval.  [yarv-dev:707]

* eval.c (ev_const_defined): ditto.

* lib/yaml.rb (YAML::add_domain_type): typo fixed.  a patch from
  Joel VanderWerf <vjoel at path.berkeley.edu>.
  [ruby-talk:165285] [ruby-core:6995]

* ext/digest/sha2/sha2.c (ULL): support AIX C.  a patch from
  Kailden <kailden at gmail.com>.  [ruby-core:06984]

* ext/syck/rubyext.c (rb_syck_compile): avoid potential memory
  leak.

* ext/syck/rubyext.c (syck_set_ivars): avoid potential memory
  leak by explicit symbol allocation.

* lib/delegate.rb (Delegator::method_missing): should delegate
  block as well.

* lib/cgi.rb (CGI::QueryExtension::MorphingBody): fix criteria to
  use Tempfile.  A fix from Zev Blut <rubyzbibd at ubit.com>.
  [ruby-core:06076]

* string.c: remove global functions work on $_.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 12:05:16 +00:00
nobu
f6892cba23 * Makefile.in, configure.in (MINIOBJS): miniruby on HP-UX can not load
extension libraries.

* bignum.c (bignew_1, bigadd): K&R style argument actually can't be
  defined as char.

* missing/vsnprintf.c: ANSI compiler supports const keyword.

* ext/digest/sha2/extconf.rb: reject platforms which has inttypes.h
  but no 64bit integer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-06 23:23:04 +00:00
eban
49fb289ea1 * MANIFEST, ext/**/MANIFEST: removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01 10:13:52 +00:00
nobu
e10564a578 * lib/mkmf.rb (init_mkmf): $INCFLAGS also should be lazy-evaluated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-22 05:58:10 +00:00
nobu
44e22e8d78 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-07 22:06:38 +00:00
nobu
0f54ad5f6c * sample/optparse/opttest.rb: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-01 08:14:38 +00:00
matz
f0b77b0cde * ext/tk/lib/tk.rb (TkCore::chooseDirectory): back up wrongly
removed method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-26 15:03:16 +00:00
matz
f595d5b0d2 * array.c (rb_ary_values_at): new method to replace select(index..).
* hash.c (rb_hash_values_at,env_values_at): ditto.

* re.c (match_values_at): ditto.

* struct.c (rb_struct_values_at): ditto.

* re.c (match_select): add iterator behavior.
	* ext/curses/curses.c, ext/digest/sha2/sha2.c, ext/iconv/iconv.c,
	  ext/racc/cparse/cparse.c: include "ruby.h" at the top to shut up
	  "_FILE_OFFSET_BITS redefined" warning on Solaris.

* class.c (rb_class_protected_instance_methods): now gives
  warnings to show migration path.  The default will be reversed
  on Jan 2004.

* numeric.c (num_step): "1.1.step(1.5,0.1)" to work.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-04 16:03:24 +00:00
eban
4f26f3b890 * 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".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 09:08:15 +00:00
nobu
5979f0e288 * ext/digest: add depend file.
* ext/digest/md5: ditto.

* ext/digest/rmd160: ditto.

* ext/digest/sha1: ditto.

* ext/digest/sha2: ditto.

* ext/iconv/MANIFEST: ditto.

* ext/stringio/MANIFEST: ditto.

* ext/syslog: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-18 09:24:39 +00:00
knu
4e840877aa * ext/digest/sha2/sha2.c: Merge from rough. Fix a couple of
off-by-one errors in Aaron Gifford's code.

  Obtained from:  KAME via FreeBSD
  KAME PR:        393
  FreeBSD PR:     kern/34242


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-26 22:09:49 +00:00
knu
d9479e72a6 Merge from rough.
- Avoid namespace pollution. (MD5_* -> rb_Digest_MD5_*, etc.)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-24 08:20:50 +00:00
nobu
c4449fd4c4 * ext/digest/md5/md5init.c (Init_md5): rb_cvar_declare() is
replaced by rb_cvar_set().

* ext/digest/rmd160/rmd160init.c (Init_rmd160): ditto.

* ext/digest/sha1/sha1init.c (Init_sha1): ditto.

* ext/digest/sha2/sha2init.c (Init_sha2): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-17 12:43:44 +00:00
eban
e15efe7733 * ext/digest/sha2/extconf.rb: fix support for cross-compiling.
* mkconfig.rb: fix support for autoconf 2.52.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-20 10:56:03 +00:00
knu
6ce3130067 * ext/digest/*/extconf.rb: really fix so that they build from any
directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-14 20:05:21 +00:00
knu
ad4c17c021 * ext/digest/sha2/extconf.rb: fix so that they build from any
directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-14 19:05:37 +00:00
knu
6a581e6317 * ext/digest/defs.h: Define NO_UINT64_T instead of emitting an
error to fail.

* ext/digest/sha2/extconf.rb: Do not exit on error, and utilize
  NO_UINT64_T to detect if the system has a 64bit integer type.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-14 17:04:00 +00:00
knu
5b63fc556f * ext/digest/sha2/extconf.rb: do not create Makefile when no 64bit
integer type is detected.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-14 12:15:21 +00:00
knu
f4b516777b * ext/digest/*/extconf.rb: fix so that they build from any
directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-14 03:29:50 +00:00
knu
76d7dae26a Import the "digest" module and the submodules, from the Rough Ruby
project.

  ext/digest:
    This module provides the module Digest and the abstract class
    Digest::Base.

  ext/digest/md5 (which obsoletes ext/md5):
    This module provides the class Digest::MD5 which implements the
    MD5 Message-Digest Algorithm.

  ext/digest/rmd160:
    This module provides the class Digest::RMD160 which implements the
    RIPEMD-160 cryptographic hash function.

  ext/digest/sha1 (which obsoletes ext/sha1):
    This module provides the class Digest::SHA1 which implements the
    SHA-1 Secure Hash Algorithm.

  ext/digest/sha2:
    This module provides the classes Digest::SHA256, Digest::SHA384
    and Digest::SHA512 which implement the SHA-256, SHA-384 and
    SHA-512 Secure Hash Algorithms, respectively.

  lib/md5.rb, lib/sha1.rb:
    These files are provided for backward compatibility.

All these classes have the common API, which previously ext/md5 and
ext/sha1 modules provided.  While the new API keeps 100% backward
compatibility, it has been enriched with several utility methods.

Read digest.txt for further details.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-13 20:06:14 +00:00