Commit graph

76 commits

Author SHA1 Message Date
naruse
c4fdfabcc8 handle ext/ as r53141
g -L frozen_string_literal ext/**/*.rb|xargs ruby -Ka -e'ARGV.each{|fn|puts
fn;open(fn,"r+"){|f|s=f.read.sub(/\A(#!.*\n)?(#.*coding.*\n)?/,"\\&#
frozen_string_literal: false\n");f.rewind;f.write s}}'

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:31:54 +00:00
naruse
9a7c25abab * ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid
includeing ext/digest/extconf.h. [Bug #3231]
  https://msdn.microsoft.com/library/36k2cdd4.aspx

* ext/digest/*/extconf.rb: remove ext/digest from include search path
  to avoid confusion of cl.exe.

* ext/digest/*/*.[ch]: explicitly specify def.h's path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 04:35:57 +00:00
hsbt
d9a2b3480e * doc/contributors.rdoc: fix a typo. Patch by @davydovanton
[fix GH-872][ci skip]
* doc/syntax/methods.rdoc: ditto.
* ext/digest/sha2/sha2.c: ditto.
* ext/socket/ipsocket.c: ditto.
* ext/tk/*: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-15 01:37:47 +00:00
nobu
b97ceb66e9 digest: CommonDigest
* ext/digest/digest_conf.rb (digest_conf): check for CommonDigest.
* ext/digest/*/*cc.h: for Apple CommonCrypto/CommonDigest.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-11 02:09:55 +00:00
nobu
935275bb59 digest: define Finish func from Final func
* ext/digest/digest.h (DEFINE_FINISH_FUNC_FROM_FINAL): macro for
  finish functions, by inverting arguments order.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-11 02:09:23 +00:00
nobu
b632ca436c digest: common configurations
* ext/digest/digest_conf.rb (digest_conf): extract common
  configurations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-11 02:08:50 +00:00
nobu
4068d9089a digest: no ID cache
* ext/digest/*/*init.c: no need to cache interned IDs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-10 23:37:08 +00:00
akr
ecedd3b224 Update dependencies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-19 13:34:54 +00:00
akr
6ca202fcee Update dependency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-21 03:04:44 +00:00
akr
dd547e1b22 Mark auogenerated part.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 11:14:08 +00:00
akr
57682b05e1 * common.mk: Remove comments in Dependency lines.
Notified by usa.

* enc/depend: Ditto.

* ext/**/depend: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 10:28:25 +00:00
akr
8727eb77be * tool/update-deps: Extend to fix dependencies.
* common.mk: Dependencies updated by tool/update-deps.

* enc/depend: Ditto.

* ext/**/depend: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 05:15:49 +00:00
nobu
bb318692a6 digest/*/extconf.rb: do not link openssl when using bundled
* ext/digest/{md5,rmd160,sha1,sha2}/extconf.rb: configure OpenSSL
  only if bundled libraries is not used, so that OpenSSL is not
  linked unnecessarily.  [ruby-core:65404] [Bug #10324]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-05 02:03:55 +00:00
nobu
b208e060f2 ext/digest: hide metadata objects for internal use
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 08:29:02 +00:00
nobu
28b9f11d5a protoize no-arguments functions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 05:25:32 +00:00
nobu
2f2f92b73e digest: no check for hidden objects
* ext/digest/digest.c (get_digest_base_metadata): metadata objects
  are hidden from ruby level.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-29 12:17:47 +00:00
nobu
aadebb29da ext/digest: return values of init and final
* ext/digest: make built-in digest function implementations
  indicate success or failure of init and final functions.
  [ruby-core:61614] [Bug #9659]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 14:59:20 +00:00
akr
b47138580c * lib/mkmf.rb: Add ruby/ruby.h, ruby/missing.h, ruby/intern.h,
ruby/st.h and ruby/subst.h for ruby_headers in generated Makefile.

* ext/-test-/old_thread_select/depend: Update dependencies.

* ext/-test-/wait_for_single_fd/depend: Ditto.

* ext/bigdecimal/depend: Ditto.

* ext/curses/depend: Ditto.

* ext/digest/bubblebabble/depend: Ditto.

* ext/digest/depend: Ditto.

* ext/digest/md5/depend: Ditto.

* ext/digest/rmd160/depend: Ditto.

* ext/digest/sha1/depend: Ditto.

* ext/digest/sha2/depend: Ditto.

* ext/dl/callback/depend: Ditto.

* ext/dl/depend: Ditto.

* ext/etc/depend: Ditto.

* ext/nkf/depend: Ditto.

* ext/objspace/depend: Ditto.

* ext/pty/depend: Ditto.

* ext/readline/depend: Ditto.

* ext/ripper/depend: Ditto.

* ext/sdbm/depend: Ditto.

* ext/socket/depend: Ditto.

* ext/stringio/depend: Ditto.

* ext/strscan/depend: Ditto.

* ext/syslog/depend: Ditto.

* ext/-test-/num2int/depend: Removed.

* ext/dbm/depend: Ditto.

* ext/fcntl/depend: Ditto.

* ext/gdbm/depend: Ditto.

* ext/racc/cparse/depend: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 00:46:29 +00:00
nobu
3eb4b0aa06 sha2.c: suppress warnings
* ext/digest/sha2/sha2.c (SHA256_Final, SHA512_Last): suppress
  strict-aliasing warnings on gcc 4.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 09:39:19 +00:00
nobu
f0a229b69b extconf.rb: git rid of post-1.8 feature
* ext/digest/*/extconf.rb, ext/openssl/extconf.rb: get git rid of
  post-1.8 feature require_relative for cross compilation.
  [ruby-core:50160] [Bug #7439]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-27 00:58:52 +00:00
nobu
28b7df7820 * revert r35510 and r35511 which caused removing the headers everytime.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-01 07:15:18 +00:00
nobu
d7228e5bba depends on ext/openssl/deprecation.rb
* ext/digest/*/depend: depends on ext/openssl/deprecation.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-01 06:52:28 +00:00
nobu
e1d1397af8 * ext/digest/sha2/sha2.c (REVERSE32): exlicitly cast since unsigned
long may be larger than sha2_word32.
* ext/digest/sha2/sha2.c (SHA{256,512,384}_{Final,End}): should clear
  whole content, not pointer size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 21:04:16 +00:00
nobu
26e258c807 * ext/digest/*/extconf.rb: use pkg_config to use same library with
openssl.  [ruby-core:44755][Bug #6379]
* ext/openssl/deprecation.rb: extract check for broken Apple OpenSSL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 21:03:38 +00:00
drbrain
bab146b689 * ext/digest/sha2/lib/sha2.rb (Digest#block_length): Fixed method name
in documentation examples.  Patch by naleski via
  https://github.com/ruby/ruby/pull/115


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-10 22:41:04 +00:00
nobu
4c12eb747e * ext/openssl/extconf.rb: suppress useless deprecation warnings
from OpenSSL added by Apple.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 01:48:52 +00:00
naruse
937ff7bdeb * ext/digest/sha2/sha2ossl.c: use original SHA384_Final on DragonFly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-07 06:38:36 +00:00
nahi
e56f2abe4b * ext/digest/sha2/sha2.c (SHA256_Update, SHA512_Update): avoid Bus
Error caused by unalignment access on Sparc-Solaris (and possibly on
  other similar environment.) This patch just do memcpy always instead
  of checking architecture. I see no perf drop on my 64bit env. For
  more details, see #4320.

* test/digest/test_digest.rb: add test for unalignment access.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-15 03:03:31 +00:00
drbrain
c648243c3d * ext/digest: Improve documentation of Digest, Digest::HMAC and
Digest::SHA2.  Patch by Pete Higgins.  [Ruby 1.9 - Bug #4702]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-16 20:52:55 +00:00
nobu
c53664c84d .cvsignore: have not been used already. [Bug #3468]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 05:43:21 +00:00
nobu
d0e5a34ac7 * ext/**/*.[ch]: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 08:21:01 +00:00
nobu
977267c2e0 * ext/**/*.[ch]: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 08:04:13 +00:00
akr
c50c9f6d3b * ext/digest/sha2/extconf.rb: check SHA256_CTX and SHA512_CTX to fix
compilation failure on OpenBSD 4.4.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-21 12:25:29 +00:00
nobu
5fe5eb264d * ext/digest/extconf.rb: use OpenSSL only when all transform
functions are available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-24 00:31:37 +00:00
akr
508ca62a6c * ext/digest/sha2/sha2init.c: test OpenSSL more strictly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-22 12:36:11 +00:00
nobu
e6dde8be4d * ext/digest/sha2: Use OpenSSL's SHA1 engine if available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-22 02:21:22 +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
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