summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/date] Bump version to 3.2.2Hiroshi SHIBATA2021-11-181-1/+1
| | | | https://github.com/ruby/date/commit/21d91c5f4f
* [ruby/date] Expose Date::VERSIONJean Boussier2021-11-182-1/+7
| | | | | | | | | | An almost universal convention for gems is to expose `Namespace::VERSION` which makes it mcuh easier when debugging etc. Many gems extracted from ruby don't do this, even though it would be even more useful because they ship with ruby, so it's less clear which version it is. https://github.com/ruby/date/commit/fef7ec18d8
* Prevent "already initialized constant Digest::VERSION"Yusuke Endoh2021-11-171-2/+5
| | | | | | | | | | | http://rubyci.s3.amazonaws.com/ubuntu1804/ruby-master/log/20211117T033003Z.log.html.gz ``` installing default gems from ext: /home/chkbuild/chkbuild/tmp/build/20211117T033003Z/lib/ruby/gems/3.1.0 /home/chkbuild/chkbuild/tmp/build/20211117T033003Z/ruby/ext/digest/lib/digest/version.rb:4: warning: already initialized constant Digest::VERSION /home/chkbuild/chkbuild/tmp/build/20211117T033003Z/ruby/.ext/common/digest/version.rb:4: warning: previous definition of VERSION was here ``` This hack is copied from ext/psych/psych.gemspec
* ext/io/wait/depend: make it work for Ruby 3.1.0-devYusuke Endoh2021-11-171-1/+2
| | | | | | | | | | | | | | | | | Reverts https://github.com/ruby/io-wait/commit/2eb3841e9c8f3279955253a93d3db98b80787548 because it fails on "update-deps" check in the ruby/ruby CI. https://github.com/ruby/ruby/runs/4230891140?check_suite_focus=true ``` diff --git a/ext/io/wait/depend b/ext/io/wait/depend index 7b314b9..449e9fe 100644 --- a/ext/io/wait/depend +++ b/ext/io/wait/depend ... ``` Maybe now it does not work on Ruby 2.6. This file must be changed for each Ruby version. I have no good idea to fix this issue.
* [ruby/date] check_limit: also handle symbolsJean Boussier2021-11-161-0/+1
| | | | https://github.com/ruby/date/commit/376c65942b
* [ruby/date] `Date._<format>(nil)` should return an empty HashJean Boussier2021-11-161-0/+2
| | | | | | | | | | | | | Fix: https://github.com/ruby/date/issues/39 This is how versions previous to 3.2.1 behaved and Active Support currently rely on this behavior. https://github.com/rails/rails/blob/90357af08048ef5076730505f6e7b14a81f33d0c/activesupport/lib/active_support/values/time_zone.rb#L383-L384 Any Rails application upgrading to date `3.2.1` might run into unexpected errors. https://github.com/ruby/date/commit/8f2d7a0c7e
* [ruby/nkf] Fix a typo [ci skip]Nobuyoshi Nakada2021-11-161-1/+1
| | | | https://github.com/ruby/nkf/commit/18c118c83c
* [ruby/date] Add length limit option for methods that parses date stringsYusuke Endoh2021-11-162-89/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Date.parse` now raises an ArgumentError when a given date string is longer than 128. You can configure the limit by giving `limit` keyword arguments like `Date.parse(str, limit: 1000)`. If you pass `limit: nil`, the limit is disabled. Not only `Date.parse` but also the following methods are changed. * Date._parse * Date.parse * DateTime.parse * Date._iso8601 * Date.iso8601 * DateTime.iso8601 * Date._rfc3339 * Date.rfc3339 * DateTime.rfc3339 * Date._xmlschema * Date.xmlschema * DateTime.xmlschema * Date._rfc2822 * Date.rfc2822 * DateTime.rfc2822 * Date._rfc822 * Date.rfc822 * DateTime.rfc822 * Date._jisx0301 * Date.jisx0301 * DateTime.jisx0301 https://github.com/ruby/date/commit/3959accef8
* [ruby/io-wait] Fix dependency for ruby 2.6Nobuyoshi Nakada2021-11-161-1/+1
| | | | https://github.com/ruby/io-wait/commit/2eb3841e9c
* [ruby/io-wait] Allow earlier versionsNobuyoshi Nakada2021-11-161-1/+1
| | | | https://github.com/ruby/io-wait/commit/1060f9348c
* [ruby/io-wait] Fix backward compatibility with earlier versionsNobuyoshi Nakada2021-11-162-7/+108
| | | | https://github.com/ruby/io-wait/commit/898248931f
* Merge digest-3.0.3.pre3 and ↵Hiroshi SHIBATA2021-11-165-6/+23
| | | | https://github.com/ruby/digest/commit/efd76821b8a467c193c753104c29b476debbb2c9
* [ruby/digest] Abort loading if being loaded by gem/bundle pre Ruby 3.0.3Akinori MUSHA2021-11-161-14/+12
| | | | https://github.com/ruby/digest/commit/efd76821b8
* [ruby/digest] Avoid null pointer subtraction in digest/md5xtkoba2021-11-161-1/+1
| | | | | | | | Fixes warning on Clang 13. Fixes [Bug #18076] https://github.com/ruby/digest/commit/32135c7487
* [Feature #18290] Remove all usages of rb_gc_force_recyclePeter Zhu2021-11-082-5/+0
| | | | | This commit removes usages of rb_gc_force_recycle since it is a burden to maintain and makes changes to the GC difficult.
* Prefer ANSI-style prototypes over old K&R-style definitionsNobuyoshi Nakada2021-11-081-2/+6
|
* Fix filename typo [Bug #18140]Nobuyoshi Nakada2021-11-082-160/+160
|
* [ruby/openssl] Fix typos [ci skip]Nobuyoshi Nakada2021-11-032-2/+2
| | | | https://github.com/ruby/openssl/commit/708ebf2f7a
* ext/socket/extconf.rb: Fix the chech if if_indextoname is availableYusuke Endoh2021-11-021-2/+5
| | | | The check had not work because "headers" were not passed.
* Fix typosNobuyoshi Nakada2021-11-021-1/+1
|
* [ruby/openssl] x509name: improve docs for X509::NameKazuki Yamaguchi2021-11-012-2/+27
| | | | | | | | | | | | Add docs for X509::Name.parse_openssl and X509::Name.parse_rfc2253, which are currently undocumented despite being widely used. Small changes are also made to #to_s and the class description to recommend using RFC 2253-based methods. Fixes: https://github.com/ruby/openssl/issues/470 https://github.com/ruby/openssl/commit/74041a35d4
* [ruby/openssl] ssl: disallow reading/writing to unstarted SSL socketKazuki Yamaguchi2021-11-011-139/+92
| | | | | | | | | | | | | | | OpenSSL::SSL::SSLSocket allowed #read and #write to be called before an SSL/TLS handshake is completed. They passed unencrypted data to the underlying socket. This behavior is very odd to have in this library. A verbose mode warning "SSL session is not started yet" was emitted whenever this happened. It also didn't behave well with OpenSSL::Buffering. Let's just get rid of it. Fixes: https://github.com/ruby/openssl/issues/9 https://github.com/ruby/openssl/commit/bf780748b3
* [Feature #18239] Implement VWA for stringsPeter Zhu2021-10-252-5/+14
| | | | | This commit adds support for embedded strings with variable capacity and uses Variable Width Allocation to allocate strings.
* Make Coverage suspendable (#4856)Yusuke Endoh2021-10-251-5/+118
| | | | | | | * Make Coverage suspendable Add `Coverage.suspend`, `Coverage.resume` and some methods. [Feature #18176] [ruby-core:105321]
* [ruby/openssl] bn: expand BIGNUM_RAND and BIGNUM_RAND_RANGE macrosKazuki Yamaguchi2021-10-251-50/+50
| | | | | | | Now that BN.pseudo_rand{,_range} are alias, those macros are only used once. Let's expand the macros for better readability. https://github.com/ruby/openssl/commit/7c2fc00dee
* [ruby/openssl] bn: make BN.pseudo_rand{,_range} an alias of BN.rand{,_range}Kazuki Yamaguchi2021-10-251-16/+2
| | | | | | | | BN_pseudo_rand() and BN_pseudo_rand_range() are deprecated in OpenSSL 3.0. Since they are identical to their non-'pseudo' version anyway, let's make them alias. https://github.com/ruby/openssl/commit/2d34e85ddf
* [ruby/openssl] pkey, ssl: use EVP_PKEY_eq() instead of EVP_PKEY_cmp()Kazuki Yamaguchi2021-10-254-3/+8
| | | | | | | OpenSSL 3.0 renamed EVP_PKEY_cmp() to EVP_PKEY_eq() because that was a confusing name. https://github.com/ruby/openssl/commit/d42bd7fcdb
* [ruby/openssl] pkey/ec: use EC_GROUP_free() instead of EC_GROUP_clear_free()Kazuki Yamaguchi2021-10-251-1/+1
| | | | | | | | | EC_GROUP_clear_free() is deprecated in OpenSSL 3.0. EC_GROUP does not include any sensitive data, so we can safely use EC_GROUP_free() instead. https://github.com/ruby/openssl/commit/e93a5fdffc
* [ruby/openssl] pkey/ec: deprecate PKey::EC::Point#make_affine! and make it a ↵Kazuki Yamaguchi2021-10-251-0/+5
| | | | | | | | | | | | | no-op It converts the internal representation of the point object to the affine coordinate system. However, it had no real use case because the difference in the internal representation has not been visible from Ruby/OpenSSL at all. EC_POINT_make_affine() is marked as deprecated in OpenSSL 3.0. https://github.com/ruby/openssl/commit/e2cc81fef7
* [ruby/openssl] hmac: use EVP_MD_CTX_get_pkey_ctx() instead of ↵Kazuki Yamaguchi2021-10-253-5/+14
| | | | | | | | | | EVP_MD_CTX_pkey_ctx() OpenSSL 3.0 renamed EVP_MD_CTX_pkey_ctx() to include "get" in the function name. Adjust compatibility macro so that we can use the new function name for all OpenSSL 1.0.2-3.0. https://github.com/ruby/openssl/commit/c106d888c6
* [ruby/openssl] digest: use EVP_MD_CTX_get0_md() instead of EVP_MD_CTX_md() ↵Kazuki Yamaguchi2021-10-254-4/+9
| | | | | | | | | | | | | | if exists The function was renamed in OpenSSL 3.0 due to the change of the lifetime of EVP_MD objects. They are no longer necessarily statically allocated and can be reference-counted -- when an EVP_MD_CTX is free'd, the associated EVP_MD can also become inaccessible. Currently Ruby/OpenSSL only handles builtin algorithms, so no special handling is needed except for adapting to the rename. https://github.com/ruby/openssl/commit/0a253027e6
* [ruby/openssl] bn: use BN_check_prime() in OpenSSL::BN#prime{,_fasttest}?Kazuki Yamaguchi2021-10-252-49/+22
| | | | | | | In OpenSSL 3.0, BN_is_prime_ex() and BN_is_prime_fasttest_ex() are deprecated in favor of BN_check_prime(). https://github.com/ruby/openssl/commit/90d51ef510
* [ruby/openssl] ssl: use SSL_get_rbio() to check if SSL is started or notKazuki Yamaguchi2021-10-251-2/+2
| | | | | | | | | | Use SSL_get_rbio() instead of SSL_get_fd(). SSL_get_fd() internally calls SSL_get_rbio() and it's enough for our purpose. In OpenSSL 3.0, SSL_get_fd() leaves an entry in the OpenSSL error queue if BIO has not been set up yet, and we would have to clean it up. https://github.com/ruby/openssl/commit/e95ee24867
* [ruby/openssl] ssl: use SSL_CTX_load_verify_{file,dir}() if availableKazuki Yamaguchi2021-10-252-0/+8
| | | | | | | SSL_CTX_load_verify_locations() is deprecated in OpenSSL 3.0 and replaced with those two separate functions. Use them if they exist. https://github.com/ruby/openssl/commit/5375a55ffc
* [ruby/openssl] ts: use TS_VERIFY_CTX_set_certs instead of ↵Kazuki Yamaguchi2021-10-253-2/+8
| | | | | | | | | TS_VERIFY_CTS_set_certs OpenSSL 3.0 fixed the typo in the function name and replaced the current 'CTS' version with a macro. https://github.com/ruby/openssl/commit/2be6779b08
* [ruby/openssl] ossl.c: use ERR_get_error_all() if availableKazuki Yamaguchi2021-10-252-19/+24
| | | | | | | OpenSSL 3.0 deprecated ERR_get_error_line_data() in favor of ERR_get_error_all(), as part of the error queue structure changes. https://github.com/ruby/openssl/commit/8e98d2ecc8
* [ruby/openssl] ext/openssl/ossl.h: add helper macros for OpenSSL/LibreSSL ↵Kazuki Yamaguchi2021-10-251-0/+12
| | | | | | | | | | | | versions Add following convenient macros: - OSSL_IS_LIBRESSL - OSSL_OPENSSL_PREREQ(maj, min, pat) - OSSL_LIBRESSL_PREREQ(maj, min, pat) https://github.com/ruby/openssl/commit/00abee791d
* [flori/json] Bump version to v2.6.1Hiroshi SHIBATA2021-10-242-2/+2
| | | | https://github.com/flori/json/commit/2db5894cfa
* [flori/json] Bump JSON::VERSION to 2.6.0.Josef Šimánek2021-10-241-1/+1
| | | | https://github.com/flori/json/commit/da94d9f059
* [ruby/psych] Prefer `require_relative` for internal requiresDavid Rodríguez2021-10-2415-49/+49
| | | | https://github.com/ruby/psych/commit/a0f55ee85a
* [ruby/psych] Add stringio as a dependency.Josef Šimánek2021-10-241-0/+2
| | | | https://github.com/ruby/psych/commit/86e3049579
* [ruby/strscan] Bump versionSutou Kouhei2021-10-241-1/+1
| | | | | | | | If we use the same version as the default strscan gem in Ruby, "gem install" doesn't extract .gem. It fails "gem install" because "gem install" can't find ext/strscan/ to be built. https://github.com/ruby/strscan/commit/3ceafa6cdc
* [ruby/openssl] Raise an exception if the IO object passed to SSLSocket isn't ↵Aaron Patterson2021-10-231-0/+1
| | | | | | | | | | | | | | | | | | | a file SSLSocket#connect eventually calls `GetOpenFile` in order to get the underlying file descriptor for the IO object passed in on initialization. `GetOpenFile` assumes that the Ruby object passed in is a T_FILE object and just casts it to a T_FILE without any checks. If you pass an object that *isn't* a T_FILE to that function, the program will segv. Since we assume the IO object is a file in the `connect` method, this commit adds a `CheckType` in the initialize method to ensure that the IO object is actually a T_FILE. If the object *isn't* a T_FILE, this class will segv on `connect`, so I think this is a backwards compatible change. https://github.com/ruby/openssl/commit/919fa44ec2
* Import bigdecimal-3.1.0.devHiroshi SHIBATA2021-10-221-8/+2
|
* Bump up readline-ext version to 0.1.3Hiroshi SHIBATA2021-10-211-1/+1
|
* [ruby/io-wait] Bump up io-wait version to 0.2.0Hiroshi SHIBATA2021-10-211-1/+1
| | | | https://github.com/ruby/io-wait/commit/f6a1b10a59
* [ruby/stringio] Bump up stringio version to 3.0.1Hiroshi SHIBATA2021-10-211-1/+1
| | | | https://github.com/ruby/stringio/commit/f7c40aa339
* [ruby/psych] Bump up psych version to 4.0.2Hiroshi SHIBATA2021-10-211-1/+1
| | | | https://github.com/ruby/psych/commit/69a713f860
* Tie lifetime of uJIT blocks to iseqsAlan Wu2021-10-202-0/+2
| | | | | | | | | | | | | | | | | | | | * Tie lifetime of uJIT blocks to iseqs Blocks weren't being freed when iseqs are collected. * Add rb_dary. Use it for method dependency table * Keep track of blocks per iseq Remove global version_tbl * Block version bookkeeping fix * dary -> darray * free ujit_blocks * comment about size of ujit_blocks
* [ruby/etc] Bump up etc version to 1.3.0Hiroshi SHIBATA2021-10-191-1/+1
| | | | https://github.com/ruby/etc/commit/85ca541d0b