aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* test/fiber/test_io_buffer.rb: fix file descriptor leaksKazuki Yamaguchi2021-12-211-1/+12
| | | | | | | | | I got the warning while running "make test-all": Leaked file descriptor: TestFiberIOBuffer#test_write_nonblock: 9 : #<UNIXSocket:fd 9> Closed file descriptor: TestFiberIOBuffer#test_read_write_blocking: 9 Leaked file descriptor: TestFiberIOBuffer#test_timeout_after: 10 : #<UNIXSocket:fd 10> Closed file descriptor: TestFiberIOBuffer#test_read_nonblock: 10
* [ruby/openssl] pkey: use EVP_PKEY_CTX_new_from_name() on OpenSSL 3.0Kazuki Yamaguchi2021-12-201-0/+6
| | | | | | | 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
* [ruby/openssl] pkey: assume a pkey always has public key components on ↵Kazuki Yamaguchi2021-12-201-0/+11
| | | | | | | | | | | | | 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
* [ruby/openssl] ssl: update test_options_disable_versionsKazuki Yamaguchi2021-12-201-35/+40
| | | | | | | Use the combination of TLS 1.2 and TLS 1.3 instead of TLS 1.1 and TLS 1.2 so that will the test case will be run on latest platforms. https://github.com/ruby/openssl/commit/e168df0f35
* [ruby/openssl] ssl: update test_accept_errors_include_peeraddr test caseKazuki Yamaguchi2021-12-201-6/+4
| | | | | | | Use a different invalid data example to prevent SSLSocket#accept from reaching EOF. https://github.com/ruby/openssl/commit/2e089c1916
* [ruby/openssl] ssl: add constants for new SSL_OP_* flagsKazuki Yamaguchi2021-12-201-6/+29
| | | | | | | Add all SSL_OP_* constants defined in OpenSSL 3.0.0 which are not specific to DTLS. https://github.com/ruby/openssl/commit/b1ee2f23b2
* [ruby/openssl] engine: disable OpenSSL::Engine on OpenSSL 3.0Kazuki Yamaguchi2021-12-204-7/+11
| | | | | | | | | | | | 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
* [ruby/openssl] hmac: skip test_dup on OpenSSL 3.0 for nowKazuki Yamaguchi2021-12-201-0/+1
| | | | | | | | EVP_MD_CTX_copy() doesn't seem to work as intended on HMAC EVP_MD_CTX on OpenSSL 3.0.0 and causes a double free. I haven't found the root problem yet, but let's skip the test case for now. https://github.com/ruby/openssl/commit/4699581639
* [ruby/openssl] hmac: fix wrong usage of EVP_DigestSignFinal()Kazuki Yamaguchi2021-12-201-2/+2
| | | | | | | According to the manpage, the "siglen" parameter must be initialized beforehand. https://github.com/ruby/openssl/commit/6a60c7b2e7
* [ruby/openssl] cipher: update test_ciphersKazuki Yamaguchi2021-12-201-8/+5
| | | | | | | Do not attempt to actually use all algorithms. Not all algorithms listed in OpenSSL::Cipher.ciphers are always available. https://github.com/ruby/openssl/commit/91d04f991f
* [ruby/openssl] pkey: deprecate PKey#set_* methodsKazuki Yamaguchi2021-12-206-68/+149
| | | | | | | | | | | | | | | | | | | | | | | 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
* [ruby/openssl] pkey/ec: deprecate OpenSSL::PKey::EC#generate_key!Kazuki Yamaguchi2021-12-202-8/+17
| | | | | | | | 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
* [ruby/openssl] pkey/dh: deprecate OpenSSL::PKey::DH#generate_key!Kazuki Yamaguchi2021-12-203-16/+34
| | | | | | | | 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
* [ruby/openssl] pkey/ec: avoid using EC#public_key= in EC#dh_compute_keyKazuki Yamaguchi2021-12-201-3/+8
| | | | | | | | 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
* [ruby/openssl] pkey/dh: avoid using DH#set_key in DH#compute_keyKazuki Yamaguchi2021-12-201-3/+13
| | | | | | | | | | | | 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
* [ruby/openssl] pkey: use EVP_PKEY_dup() if availableKazuki Yamaguchi2021-12-206-1/+42
| | | | | | | 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
* [ruby/openssl] pkey: allocate EVP_PKEY on #initializeKazuki Yamaguchi2021-12-206-163/+218
| | | | | | | | | 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
* [ruby/openssl] pkey: do not check NULL argument in ossl_pkey_new()Kazuki Yamaguchi2021-12-202-5/+2
| | | | | | | Passing NULL to ossl_pkey_new() makes no sense in the first place, and in fact it is ensured not to be NULL in all cases. https://github.com/ruby/openssl/commit/316cb2a41f
* [ruby/openssl] pkey: use OSSL_DECODER to load encrypted PEM on OpenSSL 3.0Kazuki Yamaguchi2021-12-201-0/+40
| | | | | | | | | | | | | | | | OpenSSL 3.0 has rewritten routines to load pkeys (PEM_read_bio_* and d2i_* functions) around the newly introduced OSSL_DECODER API. This comes with a slight behavior change. They now decrypt and parse each encountered PEM block, then check the kind of the block. This used to be the reverse: they checked the PEM header to see the kind, and then decrypted the content. This means that the password callback may now be called repeatedly. Let's use the OSSL_DECODER API directly on OpenSSL 3.0 so that the return value from the password callback will be reused automatically. https://github.com/ruby/openssl/commit/a84ea531bb
* [ruby/openssl] pkey: test parsing concatenated PEM stringKazuki Yamaguchi2021-12-201-0/+6
| | | | | | | | | | | | | PEM-encoded private keys are sometimes stored together with irrelevant PEM blocks, such as the corresponding X.509 certificate. PEM_read_bio_*() family automatically skips unknown PEM blocks, but on OpenSSL 3.0 we will be using the new OSSL_DECODER API instead due to some breaking changes around the password callback. Let's add a test case so that we won't break the current behavior. https://github.com/ruby/openssl/commit/8c185e0ae5
* test/ruby/test_ast.rb: Avoid a "method redefined" warningYusuke Endoh2021-12-201-6/+6
|
* [DOC] Skip tests if only NEWS.md changedNobuyoshi Nakada2021-12-201-1/+6
|
* Update bundled gems list at 2021-12-20git2021-12-201-1/+1
|
* Update TypeProf to 0.21.0Yusuke Endoh2021-12-201-1/+1
|
* [ruby/psych] psych depends stringio only CRubyHiroshi SHIBATA2021-12-201-1/+1
| | | | https://github.com/ruby/psych/commit/e7bbf26cb2
* Update default gems list at 706c7a27fa00f72ec4f5d2f3af8151 [ci skip]git2021-12-201-1/+1
|
* [ruby/psych] Bump version to 4.0.3Hiroshi SHIBATA2021-12-201-1/+1
| | | | https://github.com/ruby/psych/commit/75ab76e788
* Update logger version on NEWSHiroshi SHIBATA2021-12-201-1/+1
|
* [ruby/logger] Bump version to 1.5.0Hiroshi SHIBATA2021-12-201-1/+1
| | | | https://github.com/ruby/logger/commit/cdeddb2f67
* [ruby/irb] Remove unnecessary space in regexpaycabta2021-12-201-1/+1
| | | | https://github.com/ruby/irb/commit/c24a8e2483
* [ruby/irb] Add East Asian Ambiguous Width to irb_info commandaycabta2021-12-202-0/+6
| | | | https://github.com/ruby/irb/commit/4cade4b7e5
* Update bundled gems list at 2021-12-20git2021-12-202-2/+2
|
* [ruby/reline] Rename an unused variable name for CIaycabta2021-12-201-1/+1
| | | | https://github.com/ruby/reline/commit/ba97f3bd87
* [ruby/reline] Add a test for dialog proc with contextaycabta2021-12-201-0/+14
| | | | https://github.com/ruby/reline/commit/2ce2696d6e
* [ruby/reline] Add an assertion for overwriting dialog proc with the same nameaycabta2021-12-201-0/+5
| | | | https://github.com/ruby/reline/commit/96067bc13c
* [ruby/reline] Rename the variable "p" because it overlaps with the "p" methodaycabta2021-12-201-21/+21
| | | | https://github.com/ruby/reline/commit/9bf2ca692e
* [ruby/reline] Add support for overwriting dialog proc with the same nameaycabta2021-12-203-13/+18
| | | | https://github.com/ruby/reline/commit/16aa20c380
* [ruby/reline] Add Reline.dialog_proc(name_sym)aycabta2021-12-202-0/+12
| | | | https://github.com/ruby/reline/commit/7e5dbe4750
* [ruby/reline] Add a test for Reline.add_dialog_procaycabta2021-12-201-0/+15
| | | | https://github.com/ruby/reline/commit/c4bb1bfd79
* [ruby/reline] Add spaceaycabta2021-12-201-1/+1
| | | | https://github.com/ruby/reline/commit/4b7fa6b213
* [ruby/reline] windows jruby issueYO42021-12-201-14/+46
| | | | | | jruby needs terminal control with Windows API on classic console https://github.com/ruby/reline/commit/b61bc43374
* [ruby/reline] windows clear screen with \e 2 JYO42021-12-201-10/+1
| | | | | | | | Windows Terminal does smart screen clearing when \e 2 J (not clear entire screen but scrolls down just needed) On consoles not support sequences, ruby still converts it to API call. https://github.com/ruby/reline/commit/c00930dab9
* [ruby/reline] windows improve scrollingYO42021-12-201-7/+17
| | | | | | | | | | | | ScrollConsoleScreenBuffer can't scroll window of Windows Terminal. Use LF to sctoll. Microsoft says ```In the virtual terminal sequences world, the size of the window and the size of the screen buffer are fixed to the same value. ``` https://docs.microsoft.com/en-us/windows/console/window-and-screen-buffer-size https://github.com/ruby/reline/commit/9ff3c70732
* [ruby/reline] Revert "Add a space after a comma"aycabta2021-12-201-1/+1
| | | | | | | | This reverts commit https://github.com/ruby/reline/commit/6009b3ef7ab7. To merge a Pull Request... https://github.com/ruby/reline/commit/83021f4267
* [ruby/reline] Revert "Add space"aycabta2021-12-201-1/+1
| | | | | | | | This reverts commit https://github.com/ruby/reline/commit/1bb071bcf5a9. To merge a Pull Request... https://github.com/ruby/reline/commit/e9fe1b1305
* [DOC] Enhanced RDoc for IO (#5304)Burdette Lamar2021-12-191-94/+136
| | | | | | | | | | | | | | Treated: ::try_convert #write #<< #flush #tell #seek #pos= #rewind #eof
* Update pp version on NEWSHiroshi SHIBATA2021-12-201-1/+1
|
* [ruby/pp] Bump version to 0.3.0Hiroshi SHIBATA2021-12-201-1/+1
| | | | https://github.com/ruby/pp/commit/c66d1b9cdc
* [rubygems/rubygems] Add support in binstubs for trampolining bundlerDavid Rodríguez2021-12-201-1/+11
| | | | | | | | | | | If `bundler _<version>_` is given, I guess the most reasonable approach is to completely skip version switching, because the user is technically opting out of it. But since binstubs completely remove this argument from `ARGV` after processing it, we have no way of detecting that it was actually passed in the first place in order to skip the feature. So we set `BUNDLER_VERSION` explicitly in this case. https://github.com/rubygems/rubygems/commit/e0f360d6d7
* [rubygems/rubygems] Error tracing should be printed to stderrDavid Rodríguez2021-12-203-3/+7
| | | | https://github.com/rubygems/rubygems/commit/23178f7d7b