summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2021-12-25Prevent installing zlib libraryNARUSE, Yui
(cherry picked from commit 82c8acbcfd3197e19620dc6024d08c85ea99a05b)
2021-12-25[ruby/io-console] bump up to 0.5.10Nobuyoshi Nakada
https://github.com/ruby/io-console/commit/806c65e22b (cherry picked from commit 8247b193c0dd06db9ea56812954dda8fed89458d)
2021-12-25[ruby/io-console] No longer support dead versionsNobuyoshi Nakada
https://github.com/ruby/io-console/commit/e9478509e9 (cherry picked from commit 9368fa6c3073d5fe4380a5e84eb59f7cec2ce62c)
2021-12-25[ruby/openssl] Ruby/OpenSSL 3.0.0Kazuki Yamaguchi
https://github.com/ruby/openssl/commit/bff4080091
2021-12-25Prefer to use RTEST when checking result of `rb_io_wait`. (#5341)Samuel Williams
* Prefer to use RTEST when checking result of `rb_io_wait`. * Consistently use false for signifying no events ready. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2021-12-24Import digest v3.1.0 from ruby/digestAkinori MUSHA
2021-12-24[ruby/readline-ext] Bump version to 0.1.4Hiroshi SHIBATA
https://github.com/ruby/readline-ext/commit/6f86713b19
2021-12-24[ruby/bigdecimal] Remove unused variableKenta Murata
https://github.com/ruby/bigdecimal/commit/ac7daa5f15
2021-12-24[ruby/bigdecimal] Version 3.1.1Kenta Murata
https://github.com/ruby/bigdecimal/commit/2ef67c2cc7
2021-12-24[ruby/bigdecimal] Fix the result precision of BigDecimal#divmodKenta Murata
https://github.com/ruby/bigdecimal/commit/a32f6cb9e2
2021-12-24[ruby/bigdecimal] Version 3.1.0Kenta Murata
https://github.com/ruby/bigdecimal/commit/c3453d2b97
2021-12-24[ruby/bigdecimal] Enhanced RDoc for BigDecimal ↵Burdette Lamar
(https://github.com/ruby/bigdecimal/pull/209) * Enhanced RDoc for BigDecimal * Update ext/bigdecimal/bigdecimal.c Remove the instance number of `Float::DIG`. * Update ext/bigdecimal/bigdecimal.c Add BigDecimal call-seq without ndigits. * Update ext/bigdecimal/bigdecimal.c Replace the word sum with value or result in the description of BigDecimal(). * Update ext/bigdecimal/bigdecimal.c Remove the instance value of Float::DIG. * Update ext/bigdecimal/bigdecimal.c Fix mis-description of precision * Update ext/bigdecimal/bigdecimal.c Fix the description of precision determination * Update ext/bigdecimal/bigdecimal.c Add the description of the precision in the Rational case. https://github.com/ruby/bigdecimal/commit/acabb132a4 Co-authored-by: Kenta Murata <3959+mrkn@users.noreply.github.com>
2021-12-24[ruby/bigdecimal] Let BigDecimal#quo accept precisionKenta Murata
Fix GH-214. https://github.com/ruby/bigdecimal/commit/13e0e93f37
2021-12-24[ruby/bigdecimal] Add TODO commentKenta Murata
https://github.com/ruby/bigdecimal/commit/ef9cf4e69e
2021-12-24[ruby/bigdecimal] Allow passing both float and precision in BigDecimal#divKenta Murata
Fix GH-212. https://github.com/ruby/bigdecimal/commit/900bb7fcf5
2021-12-24[ruby/bigdecimal] Improve extconf to allow using bigdecimal as a git gemJean Boussier
e.g. ``` gem "bigdecimal", github: "ruby/bigdecimal" ``` It would fail because bundler regenerates the `gemspec`, so `bigdecimal_version` is gone. https://github.com/ruby/bigdecimal/commit/bccaa66f2c
2021-12-24[ruby/bigdecimal] Add BigDecimal#precision_scaleKenta Murata
https://github.com/ruby/bigdecimal/commit/c019caeaba
2021-12-24[ruby/bigdecimal] [Doc] Add documentation of BigDecimal#n_significant_digitsKenta Murata
https://github.com/ruby/bigdecimal/commit/ceaf16b03e
2021-12-24[ruby/bigdecimal] Add BigDecimal#scaleKenta Murata
Fixes GH-198. https://github.com/ruby/bigdecimal/commit/4fbec55680
2021-12-24[ruby/bigdecimal] Set rounding mode in exampleBurdetteLamar
https://github.com/ruby/bigdecimal/commit/8fc83dd2fe
2021-12-24[ruby/bigdecimal] Set rounding mode in exampleBurdetteLamar
https://github.com/ruby/bigdecimal/commit/42c999f728
2021-12-24[ruby/bigdecimal] Enhanced RDoc for selected methodsBurdetteLamar
https://github.com/ruby/bigdecimal/commit/0de9298d15
2021-12-24[ruby/bigdecimal] Enhanced RDoc for selected methodsBurdetteLamar
https://github.com/ruby/bigdecimal/commit/6139ea1092
2021-12-24[ruby/bigdecimal] Fix BigDecimal#precision for single DECDIG caseKenta Murata
Fix GH-205 https://github.com/ruby/bigdecimal/commit/7d198394a2
2021-12-24[ruby/bigdecimal] Keep obj-to-Real link when VpReallocReal returns different ↵Kenta Murata
pointer https://github.com/ruby/bigdecimal/commit/252748de17
2021-12-24[ruby/bigdecimal] Fix the precision of the adjusted quotientKenta Murata
https://github.com/ruby/bigdecimal/commit/8dc8cd339d
2021-12-24[ruby/bigdecimal] Let BigDecimal_DoDivmod use the same precision calculation ↵Kenta Murata
as BigDecimal_divide https://github.com/ruby/bigdecimal/commit/11cb2c8840
2021-12-24[ruby/bigdecimal] Use larger precision in divide for irrational or recurring ↵Kenta Murata
results Just in case for irrational or recurring results, the precision of the quotient is set to at least more than 2*Float::DIG plus alpha. [Bug #13754] [Fix GH-94] https://github.com/ruby/bigdecimal/commit/99442c75d3
2021-12-24[ruby/bigdecimal] Fix trailing zeros handling in rb_uint64_convert_to_BigDecimalKenta Murata
Fix GH-192 https://github.com/ruby/bigdecimal/commit/eebc98b85a
2021-12-24[ruby/bigdecimal] Respond to reviewBurdetteLamar
https://github.com/ruby/bigdecimal/commit/f528a0006e
2021-12-24[ruby/bigdecimal] Respond to reviewBurdetteLamar
https://github.com/ruby/bigdecimal/commit/4eadcdf0a6
2021-12-24[ruby/bigdecimal] Respond to reviewBurdetteLamar
https://github.com/ruby/bigdecimal/commit/6d69422e37
2021-12-24[ruby/bigdecimal] Respond to review for #precisionBurdetteLamar
https://github.com/ruby/bigdecimal/commit/681cd2d81d
2021-12-24[ruby/bigdecimal] Enhanced RDoc for bigdecimal.cBurdetteLamar
https://github.com/ruby/bigdecimal/commit/3a35f92f8b
2021-12-24[ruby/bigdecimal] Enhanced RDoc for bigdecimal.cBurdetteLamar
https://github.com/ruby/bigdecimal/commit/31a7a37426
2021-12-24[ruby/bigdecimal] Fix negative Bignum conversionJean Boussier
Introduced in https://github.com/ruby/bigdecimal/commit/4792a917d806 `rb_absint_size` return the number of bytes needed to fit the absolute integer, but negative integers need the sign, so one more bit, and potentially one more byte. https://github.com/ruby/bigdecimal/commit/0f3d5d0eb7
2021-12-24[ruby/bigdecimal] VpCheckException: improve grammarOlle Jonsson
I added a space before the parenthesis, too. https://github.com/ruby/bigdecimal/commit/159af10b17
2021-12-23Install ruby/digest.h when from ext/digestNobuyoshi Nakada
2021-12-20[ruby/openssl] pkey: use EVP_PKEY_CTX_new_from_name() on OpenSSL 3.0Kazuki Yamaguchi
Replace EVP_PKEY_CTX_new_id() with the new EVP_PKEY_CTX_new_from_name() which takes the algorithm name in a string instead of in an NID. https://github.com/ruby/openssl/commit/d6535d13d1
2021-12-20[ruby/openssl] pkey: assume a pkey always has public key components on ↵Kazuki Yamaguchi
OpenSSL 3.0 OpenSSL 3.0's EVP_PKEY_get0() returns NULL for provider-backed pkeys. This causes segfault because it was supposed to never return NULL before. We can't check the existence of public key components in this way on OpenSSL 3.0. Let's just skip it for now. https://github.com/ruby/openssl/commit/ccdb6f7bfa
2021-12-20[ruby/openssl] ssl: add constants for new SSL_OP_* flagsKazuki Yamaguchi
Add all SSL_OP_* constants defined in OpenSSL 3.0.0 which are not specific to DTLS. https://github.com/ruby/openssl/commit/b1ee2f23b2
2021-12-20[ruby/openssl] engine: disable OpenSSL::Engine on OpenSSL 3.0Kazuki Yamaguchi
The entire ENGINE API is deprecated in OpenSSL 3.0 in favor of the new "Provider" concept. OpenSSL::Engine will not be defined when compiled with OpenSSL 3.0. We would need a way to interact with providers from Ruby programs, but since the concept is completely different from the ENGINE API, it will not be through the current OpenSSL::Engine interface. https://github.com/ruby/openssl/commit/69a27d8de4
2021-12-20[ruby/openssl] hmac: fix wrong usage of EVP_DigestSignFinal()Kazuki Yamaguchi
According to the manpage, the "siglen" parameter must be initialized beforehand. https://github.com/ruby/openssl/commit/6a60c7b2e7
2021-12-20[ruby/openssl] pkey: deprecate PKey#set_* methodsKazuki Yamaguchi
OpenSSL 3.0 made EVP_PKEY immutable. This means we can only have a const pointer of the low level struct and the following methods can no longer be provided when linked against OpenSSL 3.0: - OpenSSL::PKey::RSA#set_key - OpenSSL::PKey::RSA#set_factors - OpenSSL::PKey::RSA#set_crt_params - OpenSSL::PKey::DSA#set_pqg - OpenSSL::PKey::DSA#set_key - OpenSSL::PKey::DH#set_pqg - OpenSSL::PKey::DH#set_key - OpenSSL::PKey::EC#group= - OpenSSL::PKey::EC#private_key= - OpenSSL::PKey::EC#public_key= There is no direct replacement for this functionality at the moment. I plan to introduce a wrapper around EVP_PKEY_fromdata(), which takes all key components at once to construct an EVP_PKEY. https://github.com/ruby/openssl/commit/6848d2d969
2021-12-20[ruby/openssl] pkey/ec: deprecate OpenSSL::PKey::EC#generate_key!Kazuki Yamaguchi
OpenSSL::PKey::EC#generate_key! will not work on OpenSSL 3.0 because keys are made immutable. Users should use OpenSSL::PKey.generate_key instead. https://github.com/ruby/openssl/commit/5e2e66cce8
2021-12-20[ruby/openssl] pkey/dh: deprecate OpenSSL::PKey::DH#generate_key!Kazuki Yamaguchi
OpenSSL::PKey::DH#generate_key! will not work on OpenSSL 3.0 because keys are made immutable. Users should use OpenSSL::PKey.generate_key instead. https://github.com/ruby/openssl/commit/8ee6a582c7
2021-12-20[ruby/openssl] pkey/ec: avoid using EC#public_key= in EC#dh_compute_keyKazuki Yamaguchi
Similarly to DH#compute_key, work around it by constructing a SubjectPublicKeyInfo. This should be considered as a temporary implementation. https://github.com/ruby/openssl/commit/fc9aabc18d
2021-12-20[ruby/openssl] pkey/dh: avoid using DH#set_key in DH#compute_keyKazuki Yamaguchi
DH#set_key will not work on OpenSSL 3.0 because keys are immutable. For now, let's reimplement DH#compute_key by manually constructing a DER-encoded SubjectPublicKeyInfo structure and feeding it to OpenSSL::PKey.read. Eventually, we should implement a new method around EVP_PKEY_fromdata() and use it instead. https://github.com/ruby/openssl/commit/46ca47060c
2021-12-20[ruby/openssl] pkey: use EVP_PKEY_dup() if availableKazuki Yamaguchi
We can use it to implement OpenSSL::PKey::PKey#initialize_copy. This should work on all key types, not just DH/DSA/EC/RSA types. https://github.com/ruby/openssl/commit/66cd8cbaaf
2021-12-20[ruby/openssl] pkey: allocate EVP_PKEY on #initializeKazuki Yamaguchi
Allocate an EVP_PKEY when the content is ready: when #initialize or #initialize_copy is called, rather than when a T_DATA is allocated. This is more natural because the lower level API has been deprecated and an EVP_PKEY is becoming the minimum unit of handling keys. https://github.com/ruby/openssl/commit/74f6c61756