aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/openssl] pkey: allow setting algorithm-specific options in #sign and ↵Kazuki Yamaguchi2021-07-182-58/+89
| | | | | | | | | | #verify Similarly to OpenSSL::PKey.generate_key and .generate_parameters, let OpenSSL::PKey::PKey#sign and #verify take an optional parameter for specifying control strings for EVP_PKEY_CTX_ctrl_str(). https://github.com/ruby/openssl/commit/faf85d7c1d
* [ruby/openssl] pkey: prepare pkey_ctx_apply_options() for usage by other ↵Kazuki Yamaguchi2021-07-181-8/+14
| | | | | | | | | | operations The routine to apply Hash to EVP_PKEY_CTX_ctrl_str() is currently used by key generation, but it is useful for other operations too. Let's change it to a slightly more generic name. https://github.com/ruby/openssl/commit/b2b77527fd
* [ruby/openssl] pkey: fix potential memory leak in PKey#signKazuki Yamaguchi2021-07-181-2/+6
| | | | | | | | Fix potential leak of EVP_MD_CTX object in an error path. This path is normally unreachable, since the size of a signature generated by any supported algorithms would not be larger than LONG_MAX. https://github.com/ruby/openssl/commit/99e8630518
* [ruby/openssl] ossl.c: do not set locking callbacks on LibreSSLKazuki Yamaguchi2021-07-182-2/+7
| | | | | | | | Similarly to OpenSSL >= 1.1.0, LibreSSL 2.9.0 ensures thread safety without requiring applications to set locking callbacks and made related functions no-op. https://github.com/ruby/openssl/commit/7276233e1a
* [ruby/openssl] ssl: use TLS_method() instead of SSLv23_method() for LibreSSLKazuki Yamaguchi2021-07-181-1/+1
| | | | | | | | | | | LibreSSL 2.2.2 introduced TLS_method(), but with different semantics from OpenSSL: TLS_method() enabled TLS >= 1.0 while SSLv23_method() enabled all available versions, which included SSL 3.0 in addition. However, LibreSSL 2.3.0 removed SSL 3.0 support completely and now TLS_method() and SSLv23_method() are equivalent. https://github.com/ruby/openssl/commit/3b7d7045b8
* [ruby/openssl] ssl: call SSL_CTX_set_ecdh_auto() on OpenSSL 1.0.2 onlyKazuki Yamaguchi2021-07-181-5/+6
| | | | | | | | | SSL_CTX_set_ecdh_auto() exists in OpenSSL 1.1.0 and LibreSSL 2.6.1, but it is made no-op and the automatic curve selection cannot be disabled. Wrap it with ifdef to make it clear that it is safe to remove it completely when we drop support for OpenSSL 1.0.2. https://github.com/ruby/openssl/commit/2ae8f21234
* [ruby/openssl] require OpenSSL >= 1.0.2 and LibreSSL >= 3.1Kazuki Yamaguchi2021-07-1810-346/+65
| | | | | | | | | | | | | | | | | | | | | | Clean up old version guards in preparation for the upcoming OpenSSL 3.0 support. OpenSSL 1.0.1 reached its EOL on 2016-12-31. At that time, we decided to keep 1.0.1 support because many major Linux distributions were still shipped with 1.0.1. Now, nearly 4 years later, most Linux distributions are reaching their EOL and it should be safe to assume nobody uses them anymore. Major ones that were using 1.0.1: - Ubuntu 14.04 is EOL since 2019-04-30 - RHEL 6 will reach EOL on 2020-11-30 LibreSSL 3.0 and older versions are no longer supported by the LibreSSL team as of October 2020. Note that OpenSSL 1.0.2 also reached EOL on 2019-12-31 and 1.1.0 also did on 2018-08-31. https://github.com/ruby/openssl/commit/c055938f4b
* [ruby/openssl] bn: update documentation of OpenSSL::BN#initialize and #to_sKazuki Yamaguchi2021-07-181-14/+36
| | | | | | | | | Clarify that BN.new(str, 2) and bn.to_s(2) handles binary string in big-endian, and the sign of the bignum is ignored. Reference: https://github.com/ruby/openssl/issues/431 https://github.com/ruby/openssl/commit/6fae2bd612
* [ruby/openssl] BN.abs and BN uplusRick Mark2021-07-182-1/+51
| | | | | | Adds standard math abs fuction and revises uplus to return a duplicated object due to BN mutability https://github.com/ruby/openssl/commit/0321b1e945
* * 2021-07-18 [ci skip]git2021-07-181-1/+1
|
* Use rb_block_call() instead of the deprecated rb_iterate()Nobuyoshi Nakada2021-07-182-17/+13
|
* cont.c: fix formatting of RDoc for Fiber classKazuki Yamaguchi2021-07-171-2/+2
|
* Disable spec of `pattern matching is experimental` since 3.1Kazuhiro NISHIYAMA2021-07-171-14/+16
|
* Fix a spec failureKazuhiro NISHIYAMA2021-07-171-1/+1
| | | | | | | | | ``` 1) Warning.[]= :experimental emits and suppresses warnings for :experimental FAILED Expected "" =~ /is experimental/ to be truthy but was nil ```
* Fix a spec failureKazuhiro NISHIYAMA2021-07-171-1/+1
| | | | | | | | | ``` 1) The -W command line option with :no-experimental suppresses experimental warnings FAILED Expected "" =~ /is experimental/ to be truthy but was nil ```
* * 2021-07-17 [ci skip]git2021-07-171-1/+1
|
* One-line pattern matching is no longer experimentalKazuki Tsujimoto2021-07-174-17/+3
| | | | https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210715Japan.md#feature-17724-make-the-pin-operator-support-instanceclassglobal-variables-jeremyevans0
* Emit deprecatation warnings for rb_iterate()Benoit Daloze2021-07-163-19/+15
| | | | | | * It is obsolete since 1.9, see https://github.com/ruby/ruby/blob/master/doc/extension.rdoc#label-Control+Structure and [Misc #18025]
* Add Integer.try_convert [Feature #15211]Nobuyoshi Nakada2021-07-166-3/+83
|
* io.c: Clarify the behavior of `IO.read` when called as `File.read`Yusuke Endoh2021-07-161-17/+59
| | | | | Ditto to `IO.binread`, `IO.write`, `IO.binwrite`, `IO.foreach`, and `IO.readlines`.
* [rubygems/rubygems] Add missing `require 'fileutils'` in `Gem::ConfigFile`Masafumi Koba2021-07-161-4/+4
| | | | https://github.com/rubygems/rubygems/commit/c4004fadd9
* [rubygems/rubygems] Fix `bundle plugin install --help` showing `bundle ↵David Rodríguez2021-07-162-0/+7
| | | | | | install`'s help https://github.com/rubygems/rubygems/commit/b7b7d16aa8
* [rubygems/rubygems] fix dangling empty hooksAndre Arko2021-07-162-1/+10
| | | | | | it turns out that running `bundle plugin uninstall some-plugin` would remove that plugin from the list of hooks, but if the list of hooks for an event was now empty, we would serialize the empty array into yaml as an empty single bullet item. which would then get unserialized as a plugin with the name empty string. which we would then try to load and explode. 😬 https://github.com/rubygems/rubygems/commit/545ebba9a5
* [rubygems/rubygems] test loading bad plugins with nil/empty namesAndre Arko2021-07-162-1/+3
| | | | https://github.com/rubygems/rubygems/commit/e64b1f3497
* [rubygems/rubygems] remove focusAndre Arko2021-07-161-1/+1
| | | | https://github.com/rubygems/rubygems/commit/584a393812
* [rubygems/rubygems] lock for development on macosAndre Arko2021-07-162-0/+2
| | | | https://github.com/rubygems/rubygems/commit/60469e4cac
* [rubygems/rubygems] Fix development gem unintentionally removed on an edge caseDavid Rodríguez2021-07-162-25/+27
| | | | | | | | | | | When a development dependency was duplicated inside the gemspec and Gemfile with the same requirements, we went from printing a warning to removing the gem altogether. This change makes it not print a warning, but don't remove the gem either. https://github.com/rubygems/rubygems/commit/8bb2488131
* [rubygems/rubygems] Fix contradictory message about deletion of default gemJared Beck2021-07-162-7/+45
| | | | | | [Fixes #4733] https://github.com/rubygems/rubygems/commit/fce7f3eb7d
* [ruby/error_highlight] Fix leaked tempfilesNobuyoshi Nakada2021-07-161-10/+12
| | | | https://github.com/ruby/error_highlight/commit/8b353a10a7
* Add debug assertion in `rb_funcall*` that the current thread has the gvl.Samuel Williams2021-07-163-0/+6
|
* Adjust the release version of ruby2_keywordsHiroshi SHIBATA2021-07-161-3/+16
|
* Added code fence to the example in [Feature #17724] [ci skip]Nobuyoshi Nakada2021-07-161-1/+3
|
* Copy hash compare_by_identity setting in more casesJeremy Evans2021-07-152-8/+193
| | | | | | | | | | | | | | | | | | This makes the compare_by_identity setting always copied for the following methods: * except * merge * reject * select * slice * transform_values Some of these methods did not copy the setting, or only copied the setting if the receiver was not empty. Fixes [Bug #17757] Co-authored-by: Kenichi Kamiya <kachick1@gmail.com>
* Add pattern matching pin support for instance/class/global variablesJeremy Evans2021-07-155-2/+79
| | | | | | | | | | | Pin matching for local variables and constants is already supported, and it is fairly simple to add support for these variable types. Note that pin matching for method calls is still not supported without wrapping in parentheses (pin expressions). I think that's for the best as method calls are far more complex (arguments/blocks). Implements [Feature #17724]
* [ruby/irb] Show code page by irb_info on Windowsaycabta2021-07-162-0/+9
| | | | https://github.com/ruby/irb/commit/6160d74199
* [ruby/irb] Escape space in free-spacing modeaycabta2021-07-161-14/+14
| | | | https://github.com/ruby/irb/commit/085ac42947
* * 2021-07-16 [ci skip]git2021-07-161-1/+1
|
* [Bug #18014] Add assertion to verify freelistPeter Zhu2021-07-151-0/+12
| | | | | | This commit adds an assertion has been added after `gc_page_sweep` to verify that the freelist length is equal to the number of free slots in the page.
* [Bug #18014] Fix memory leak in GC when using RactorsPeter Zhu2021-07-154-66/+64
| | | | | | | When a Ractor is removed, the freelist in the Ractor cache is not returned to the GC, leaving the freelist permanently lost. This commit recycles the freelist when the Ractor is destroyed, preventing a memory leak from occurring.
* [Bug #18014] Fix rb_gc_force_recycle unmark before sweepPeter Zhu2021-07-151-1/+1
| | | | | | | If we force recycle an object before the page is swept, we should clear it in the mark bitmap. If we don't clear it in the bitmap, then during sweeping we won't account for this free slot so the `free_slots` count of the page will be incorrect.
* Make Struct#keyword_init? return nil by default [Feature #18008]Nobuyoshi Nakada2021-07-152-10/+8
|
* Regularize keyword_init values not to hold the argument objectNobuyoshi Nakada2021-07-151-0/+3
|
* Add tests and NEWS [Feature #18008]NARUSE, Yui2021-07-152-0/+10
|
* struct.c: Add keyword_init? singleton method for StructClass (#4609)hkdnet2021-07-151-0/+25
| | | Fixes [Feature #18008]
* rb_interned_id_p: does not exist卜部昌平2021-07-151-1/+0
| | | | | | | | This declaration was added at commit 0ee5a49dd4ffbbb285c25fa6cba88370ce9 without its implementation. Must be a mistake. Note also that we ended up having this exct same functionality implemented under a name of rb_check_id().
* rb_enc_casefold: does not exist卜部昌平2021-07-151-1/+0
| | | | | This declaration was added at commit 0ee5a49dd4ffbbb285c25fa6cba88370ce9 without its implementation. Must be a mistake.
* process.c: Call rb_thread_atfork in rb_fork_rubyYusuke Endoh2021-07-152-4/+4
| | | | | | | | All occurrences of rb_fork_ruby are followed by a call rb_thread_fork in the created child process. This is refactoring and a potential preparation for [Feature #17795]. (rb_fork_ruby may be wrapped by Process._fork_.)
* Fix typo in flag in NEWS.mdPatrik Ragnarsson2021-07-151-1/+1
|
* [ruby/fiddle] Handle#file_name results in very platform dependentNobuyoshi Nakada2021-07-151-8/+14
|
* * 2021-07-15 [ci skip]git2021-07-151-1/+1
|