aboutsummaryrefslogtreecommitdiffstats
path: root/ext/digest
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/digest] Remove .gitignore and .travis.yml from gemspecKenta Murata2020-12-211-6/+8
| | | | https://github.com/ruby/digest/commit/7b57b73f46
* [digest] Version 3.0.0Kenta Murata2020-12-191-1/+1
| | | | https://github.com/ruby/digest/commit/4bbd247a32
* [digest] Make digest Ractor safeKenta Murata2020-12-191-0/+4
| | | | | | https://github.com/ruby/digest/commit/c13a024b85 https://github.com/ruby/digest/commit/9edca3f8be https://github.com/ruby/digest/commit/378b56b6ca
* [digest] Added rb_digest_make_metadata to wrap metadataNobuyoshi Nakada2020-12-195-15/+12
| | | | https://github.com/ruby/digest/commit/7046fe6005
* [ruby/digest] LICENSEHiroshi SHIBATA2020-12-031-1/+1
| | | | https://github.com/ruby/digest/commit/aa048ce345
* [ruby/digest] Fixup d981714348f71177132426e3ac19598e1b2e8f5dHiroshi SHIBATA2020-12-031-4/+4
| | | | https://github.com/ruby/digest/commit/502a12587c
* digest: remove OpenSSL engineKazuki Yamaguchi2020-12-0216-171/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OpenSSL engine of Digest uses the low-level API of OpenSSL, whose use has been discouraged for years for multiple reasons. A long-standing issue on a FIPS-enabled system is that using ::Digest results in crashing the Ruby process, because the low-level API lacks the mechanism to report an error (the policy violation) and thus kills the process as a last resort[1][2]. Also, the upcoming OpenSSL 3.0 will deprecate it for future removal[3]. Compiling with -Wdeprecated-declarations will start to emit warnings. A proper fix for this is to make it use the EVP API instead. This is a non-trivial work as it requires backwards-incompatible changes to the framework interface of Digest::Base and rb_digest_metadata_t. It is more than 15 years ago that the openssl library became part of the standard library. It has implemented the exactly same functionality as OpenSSL::Digest, in fact, as a subclass of Digest::Class. There is not much point in having an identical code in the digest library. Let's just get rid of OpenSSL within digest. This leaves the C implementations and the CommonCrypto engine for Apple systems. A patch is being prepared for the openssl library to provide ::Digest constants for better performance[4]. [1] https://bugs.ruby-lang.org/issues/6946 [2] https://bugs.ruby-lang.org/issues/13681 [3] https://www.openssl.org/docs/OpenSSL300Design.html [4] https://github.com/ruby/openssl/pull/377
* Update dependencies for macOSNobuyoshi Nakada2020-10-214-52/+711
|
* Followed up with 708413807ae958afb79257b18475424e0a8a4a56Hiroshi SHIBATA2020-10-191-1/+12
| | | | | | * Added sync task for digest * Update doc/* for default gems * Update the latest version of gemspec
* Revisit to promote digest to default gems.Hiroshi SHIBATA2020-10-191-0/+34
| | | | This reverts commit f39021be7e0eac20ef7f06592769955ea482470f.
* sed -i '/rmodule.h/d'卜部昌平2020-08-276-6/+0
|
* sed -i '/r_cast.h/d'卜部昌平2020-08-276-6/+0
|
* sed -i '\,2/extern.h,d'卜部昌平2020-08-276-6/+0
|
* sed -i 's|ruby/impl|ruby/internal|'卜部昌平2020-05-116-840/+840
| | | | To fix build failures.
* sed -i s|ruby/3|ruby/impl|g卜部昌平2020-05-116-840/+840
| | | | This shall fix compile errors.
* Suppress -Wshorten-64-to-32 warningsNobuyoshi Nakada2020-04-081-3/+3
|
* Merge pull request #2991 from shyouhei/ruby.h卜部昌平2020-04-086-0/+912
| | | Split ruby.h
* digest: do not depend on ext/openssl/deprecation.rbKazuki Yamaguchi2020-03-101-2/+1
| | | | | | | | | | | | | | | | ext/openssl/deprecation.rb has been removed in ext/openssl upstream[1]. It was originally introduced to detect and prevent linking against Apple's bundled (and very outdated) version of OpenSSL. It is long gone and the header files do not exist in current versions of macOS. The dependency in ext/digest was introduced by commit 26e258c807c2. Note that the original issue[2] is resolved without this dependency. The commit also added the pkg_config("openss") call to match what ext/openssl does. [1] https://github.com/ruby/openssl/pull/333 [2] https://bugs.ruby-lang.org/issues/6379
* Suppress deprecation warnings of MD5 from Xcode 11.1Nobuyoshi Nakada2019-10-121-0/+7
|
* Check metadata a bit moreNobuyoshi Nakada2019-08-231-0/+12
|
* Hoisted out get_digest_obj_metadataNobuyoshi Nakada2019-08-231-7/+13
|
* Hoisted out rb_id_metadataNobuyoshi Nakada2019-08-223-4/+8
|
* Hoisted out rb_digest_namespaceNobuyoshi Nakada2019-08-225-12/+11
|
* Separated initializing IDsNobuyoshi Nakada2019-08-211-2/+6
|
* Include ruby/assert.h in ruby/ruby.h so that assertions can be thereNobuyoshi Nakada2019-07-146-0/+6
|
* Prefer relative directory from srcdir to top_srcdirnobu2019-02-145-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use $(hdrdir) for include/ruby.h, as well as r67033nobu2019-02-115-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Removed moving toplevel header since r12501nobu2019-02-081-1/+1
| | | | | | | Moving public headers was 12-years ago, no depend files would expect ruby.h in the top source directory now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* no ID cache in Init functionsnobu2018-02-162-0/+2
| | | | | | Init functions are called only once, cache is useless. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove digest.gemspec for default gems.hsbt2017-12-191-34/+0
| | | | | | | | | It needs to support header file installation and uninstallation. But current RubyGems didn't support it feature yet. From: SHIBATA Hiroshi <hsbt@ruby-lang.org> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Added gemspec of digest library.hsbt2017-08-161-0/+34
| | | | | | | standalone repository is https://github.com/ruby/digest [Misc #13771][ruby-core:82179] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Copy openssl library finder for ext/digest from OpenSSL extention.hsbt2017-07-181-1/+53
| | | | | | | * ext/digest/digest_conf.rb: Support to search variaous filenames of OpenSSL/LibreSSL libraries. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix hexdigest [ci skip]kazu2016-10-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2016-10-205-9/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/digest.c: Add documentation for Digest.hsbt2016-10-205-11/+159
| | | | | | | | | | | | | [Feature #10452][ruby-core:66001][ci skip] * remove HMAC from list of digest algorithms, * add MD5 in list of digest algorithms, * add information about writing a C digest implementation using Digest::Base, * add documentation for Digest::Base public methods. * ext/digest/md5/md5init.c: add examples for MD5. * ext/digest/rmd160/rmd160init.c: add examples for Digest::RMD160. * ext/digest/sha1/sha1init.c: add examples for Digest::SHA1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use qualified namesnobu2016-08-301-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rb_funcallvnobu2016-07-292-2/+2
| | | | | | | * *.c: rename rb_funcall2 to rb_funcallv, except for extensions which are/will be/may be gems. [Fix GH-1406] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Update dependenciesnobu2016-07-064-38/+0
| | | | | | | | * common.mk (compile.o, loadpath.o): update dependencies. * common.mk (vm_call.o): remove stale object dependencies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Local header dependenciesnobu2016-07-065-2/+8
| | | | | | | | | | | * lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for depend files. * ext/digest/digest_conf.rb (digest_conf): add implementation specific headers to $header. * ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the dependencies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/md5/md5ossl.h: Remove excess semicolons.ngoto2016-06-286-15/+15
| | | | | | | | | | | | | | | Suppress warning on Solaris with Oracle Solaris Studio 12. [ruby-dev:49692] [Bug #12524] * ext/digest/md5/md5cc.h: ditto. * ext/digest/sha1/sha1cc.h: ditto. * ext/digest/sha1/sha1ossl.h: ditto. * ext/digest/sha2/sha2cc.h: ditto. * ext/digest/sha2/sha2ossl.h: ditto. * ext/openssl/ossl_pkey_rsa.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Update dependencies.akr2016-04-116-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* handle ext/ as r53141naruse2015-12-169-0/+9
| | | | | | | | 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
* fixup! r52695naruse2015-11-262-3/+4
| | | | | | | | | | OpenSSL's SHA1 struct name is SHA_CTX (which is also used for SHA-0), but function name is SHA1_Transform. http://openssl.org/docs/man0.9.8/crypto/SHA1.html also note that LibreSSL 2.3 remove the SHA-0 support but still support SHA-1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/sha1/extconf.rb: OpenSSL's struct name for SHA1 isnaruse2015-11-211-1/+1
| | | | | | SHA_CTX. http://openssl.org/docs/man0.9.8/crypto/SHA1.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/*/*.[ch]: include ruby.h before digest.h to avoidnaruse2015-11-2114-18/+15
| | | | | | | | | | | | 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
* digest.c: GC guardnobu2015-05-211-0/+3
| | | | | | | * ext/digest/digest.c (hexencode_str_new, rb_digest_base_update): prevent argument strings from GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* allocate structs with wrappernobu2015-05-161-3/+2
| | | | | | | | | | | | | | * parse.y (rb_parser_new, ripper_s_allocate): allocate structs with making new wrapper objects and get rid of potential memory leak. * variable.c (rb_autoload): ditto. * ext/digest/digest.c (rb_digest_base_alloc): ditto. * ext/strscan/strscan.c (strscan_s_allocate): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/contributors.rdoc: fix a typo. Patch by @davydovantonhsbt2015-04-151-1/+1
| | | | | | | | | | [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
* md5init.c: fix a typonobu2015-02-111-1/+1
| | | | | | | * ext/digest/md5/md5init.c: fix a typo, remove an extra underscore from a macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* digest: CommonDigestnobu2015-02-117-0/+72
| | | | | | | * 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