Граф коммитов

130 Коммитов

Автор SHA1 Сообщение Дата
naruse 438b8706a7 * ext/bigdecimal/bigdecimal.c (VpMidRound): remove warnings.
patch from Charlie Savage. [ruby-core:22869]

* ext/digest/bubblebabble/bubblebabble.c (bubblebabble_str_new): ditto.

* ext/digest/digest.c (hexencode_str_new): ditto.

* ext/iconv/iconv.c (iconv_convert): ditto.

* ext/socket/socket.c (inspect_sockaddr): ditto.

* ext/socket/raddrinfo.c (sockaddr_obj): ditto.

* ext/syck/emitter.c (syck_emitter_write): ditto.

* ext/syck/emitter.c (syck_emitter_flush): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-16 04:36:31 +00:00
nobu 69f1e595bf * ext/digest/lib/digest/hmac.rb (Digest::HMAC#initialize): faster
code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-14 07:28:26 +00:00
knu 04cad34c2f * ext/digest/sha2/sha2.c: The ULL suffix is not supported by
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
2009-08-06 16:51:37 +00:00
knu 43b2e3be9a * ext/digest/*/extconf.rb: inttypes.h and unistd.h need not be
checked here. [ruby-dev:39032]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-06 16:36:54 +00:00
usa e97f1270b5 * ext/digest/sha2/lib/sha2.eb: should require sha2.so.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-06 12:18:38 +00:00
usa 2bfa64d0b8 * ext/digest/sha2/sha2.c (*_Final): typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-06 12:12:32 +00:00
knu 7fdaba27ca * ext/digest/sha2/sha2.h (BYTE_ORDER): Define BYTE_ORDER as
necessary. [ruby-dev:39029]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-06 10:49:05 +00:00
knu d427b8a8ee * ext/digest/sha2/sha2.[ch]: Update to 1.0 RELEASE which fixes an
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
2009-08-05 16:40:33 +00:00
nobu 287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
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
nobu a64266a728 * configure.in (rb_cv_missing__dtos18, rb_cv_missing_fconvert),
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
2008-08-09 23:15:08 +00:00
shyouhei bf903214d5 * ext/digest/digest.c (rb_digest_instance_inspect): constified.
* 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
2008-07-01 10:36:22 +00:00
ko1 72ba13aa8e * array.c, bignum.c, cont.c, dir.c, dln.c, encoding.c, enumerator.c,
enumerator.c (enumerator_allocate), eval_jump.c, file.c, hash.c,
  io.c, load.c, pack.c, proc.c, random.c, re.c, ruby.c, st.c,
  string.c, thread.c, thread_pthread.c, time.c, util.c, variable.c,
  vm.c, gc.c:
  allocated memory objects by xmalloc (ruby_xmalloc) should be
  freed by xfree (ruby_xfree).
* ext/curses/curses.c, ext/dbm/dbm.c, ext/digest/digest.c,
  ext/gdbm/gdbm.c, ext/json/ext/parser/parser.c,
  ext/json/ext/parser/unicode.c, ext/openssl/ossl_cipher.c,
  ext/openssl/ossl_hmac.c, ext/openssl/ossl_pkey_ec.c,
  ext/sdbm/init.c, ext/strscan/strscan.c, ext/zlib/zlib.c:
  ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-08 10:01:40 +00:00
nobu 657429b75b * include/ruby/ruby.h (inttypes.h): includes always if available.
* 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
2008-03-14 08:04:45 +00:00
nobu 5a18215406 * ext/digest/defs.h: inttypes.h is still needed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-14 05:24:17 +00:00
naruse 668af7e99d * configure.in (int8_t, uint8_t, int16_t, uint16_t int32_t,
uint32_t int64_t, uint64_t, int128_t, uint128_t,
  intptr_t, uintptr_t): check if defined.

* win32/Makefile.sub: follow configure.in.

* ext/digest/defs.h: remove checks for uint8_t, uint32_t and uint64_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-14 01:47:02 +00:00
akr 386e2d94d8 * ext/digest/lib/digest/hmac.rb (Digest::HMAC#initialize): use
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
2008-01-04 07:26:14 +00:00
akr 5c0e68c39c * include/ruby/intern.h: export rb_ivar_foreach.
* include/ruby/ruby.h: modify struct RObject and RClass for optimizing
  T_OBJECT space.  [ruby-dev:31853]
  (ROBJECT_LEN, ROBJECT_PTR)
  (RCLASS_IV_TBL, RCLASS_M_TBL, RCLASS_SUPER, RCLASS_IV_INDEX_TBL)
  (RMODULE_IV_TBL, RMODULE_M_TBL, RMODULE_SUPER): abstract accessor
  defined.

* variable.c: support the modified RObject and RClass.

* object.c: ditto.

* class.c: ditto.

* gc.c: ditto.

* marshal.c: ditto.

* eval_method.ci: use the abstract accessor.

* insns.def: ditto.

* proc.c: ditto.

* struct.c: ditto.

* eval.c: ditto.

* error.c: ditto.

* vm.c: ditto.

* insnhelper.ci: ditto.

* ext/digest/digest.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 06:21:46 +00:00
matz 0e83f22cf5 * ext/digest/lib/digest.rb (Digest::self.const_missing): avoid
infinite recursive const_missing call.  [ruby-talk:262193]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-28 00:44:08 +00:00
nobu cba32dcaa6 * ext/dl/cfunc.c (rb_dlcfunc_call): adjust format. [ruby-dev:31222]
* ext/digest/digest.c (rb_digest_instance_update,
  rb_digest_instance_finish, rb_digest_instance_reset,
  rb_digest_instance_block_length): %s in rb_raise() expects char*.
  [ruby-dev:31222]

* ext/openssl/ossl.h: include ossl_pkcs5.h.  [ruby-dev:31231]

* ext/openssl/ossl_pkcs5.h: new file for PKCS5.  [ruby-dev:31231]

* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): use ossl_raise()
  instead of rb_raise().  [ruby-dev:31222]

* ext/sdbm/_sdbm.c: DOSISH platforms need io.h.  [ruby-dev:31232]

* ext/syck/syck.h: include stdlib.h for malloc() and free().
  [ruby-dev:31232]

* ext/syck/syck.h (syck_parser_set_input_type): prototype added.
  [ruby-dev:31231]

* win32/win32.c: include mbstring.h for _mbspbrk().  [ruby-dev:31232]

* include/ruby/win32.h (rb_w32_getcwd): prototype added.
  [ruby-dev:31232]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 13:24:39 +00:00
nobu 2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
knu 75129a3608 better error message
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-28 18:27:50 +00:00
knu 04cd7cc62d * ext/digest/digest.c (get_digest_base_metadata): Allow inheriting
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
2007-02-28 18:24:25 +00:00
knu 0e6521aa5d * ext/bigdecimal/bigdecimal.c (BigDecimal_load): Silence warnings
regarding char * vs. unsigned char * mismatch; submitted by Lyle
  Johnson <lyle.johnson@gmail.com> in [ruby-core:10416].

* ext/digest/sha1/sha1ossl.c (SHA1_Finish): Ditto.

* ext/digest/rmd160/rmd160ossl.c (RMD160_Finish): Ditto.

* ext/digest/digest.c (rb_digest_base_finish,
  rb_digest_base_update): Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-27 10:08:39 +00:00
knu 559be019de * ext/digest/lib/digest.rb (Digest::self.const_missing): Drop
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
2007-02-14 12:45:59 +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 ce6af3e8a0 Do alias << update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-04 10:27:28 +00:00
knu bd2df89b14 * ext/digest/lib/digest/hmac.rb: Fix problems with update
timing. [Reported by: oss-ruby@technorama.net]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-03 07:36:06 +00:00
knu dd937ba9dc * ext/digest/lib/digest/hmac.rb (Digest::HMAC::update): Minor
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
2006-11-01 05:01:43 +00:00
usa d94124b80f * ext/digest/digest.c (Init_digest): typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-26 06:15:57 +00:00
knu 5038db866f * ext/digest/test.sh: make this script work again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-25 07:35:45 +00:00
knu 0c80ce785d * ext/digest/lib/digest.rb: Follow the framework updates.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-21 08:52:09 +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 694b2c7a29 * ext/digest/digest.c: Improve RDoc documentation further more.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 20:55:33 +00:00
knu bf8cd1e929 * ext/digest/digest.c: Improve RDoc documentation.
* ext/digest/digest.c (Init_digest, rb_digest_base_s_digest,
  rb_digest_base_s_hexdigest): Make Digest::Base::digest() and
  Digest::Base::hexdigest() take extra arguments, which are passed
  through to the constructor in an internal call.

* ext/digest/bubblebabble/bubblebabble.c
  (rb_digest_base_s_bubblebabble): Ditto for
  Digest::Base::bubblebabble().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 19:40:01 +00:00
knu 703d2d1612 Add .cvsignore
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 19:08:11 +00:00
knu 3a4ce48c75 * ext/digest/lib/digest.rb (Digest): Try to auto-load non-standard
digest modules when a specified digest class is missing.

* ext/digest/lib/digest.rb: Define Digest(name) for ease of
  dynamically selecting a hashing algorithm.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 12:02:32 +00:00
knu f678390e1f * ext/digest/digest.c (Init_digest): Digest::Base.new() does no
longer take an initial string to feed.  This change allows
  subclasses to take hashing parameters.  A statement such as
  ``md = Digest::MD5.new(s)'' can be easily rewritten as
  ``md = Digest::MD5.new << s'' or
  ``md = Digest::MD5.new.update(s)''.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 11:58:05 +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 2125aafc27 * ext/digest/bubblebabble, ext/digest/digest.c: Rip BubbleBabble
support out of the base class and have a separate module named
  digest/bubblebabble.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 11:46:03 +00:00
knu b9dea008c7 * ext/digest/digest.c (rb_digest_base_equal): Again, should call
digest() of a subclass instead of the one defined in the base
  class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-13 10:55:51 +00:00
knu 53b4c90110 * ext/digest/digest.c (rb_digest_base_equal): Should call digest()
of a subclass instead of the one defined in the base class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-12 17:43:17 +00:00
knu 2391385060 * ext/digest/lib/digest/hmac.rb: Make use of String#bytes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-11 17:16:27 +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 02d76d0387 * ext/digest/lib/digest/hmac.rb: Add digest/hmac, which implements
HMAC keyed-hashing algorithm.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-11 07:00:29 +00:00
knu 8eb7570850 * ext/digest/digest.c (rb_digest_base_reset): Do not make
recursive calls, but call initialize() when reset() is not
  defined in a subclass.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-11 06:05:32 +00:00
matz fedfa6e5fa * ext/digest/sha1/sha1ossl.h: libssl 0.9.8c-3 defines no
SHA_BLOCK_LENGTH.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-11 05:57:19 +00:00