summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-12-20Remove Class#descendantsJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/5309
2021-12-21Fix location of extensions in bundled gems when static-linked-extNobuyoshi Nakada
Install bundled gem extension files to the gem extension directory under DESTDIR, when static-linked-ext as well as non-static case. Notes: Merged: https://github.com/ruby/ruby/pull/5308
2021-12-20[DOC] Document Thread::Backtrace.limitzverok
Notes: Merged: https://github.com/ruby/ruby/pull/5305
2021-12-21[ruby/reline] Finalize when exception occurredaycabta
https://github.com/ruby/reline/commit/1f8a3aee43 Co-authored-by: Alex Gittemeier <me@a.lexg.dev>
2021-12-21[ruby/reline] Split off set_signal_handler methodaycabta
In some tests, the LineEditor#reset method is always called, but doesn't need to set the signal handlers there, so cuts it out to a separate method. https://github.com/ruby/reline/commit/b143c4f5f9
2021-12-21[ruby/reline] Remove unnecessary clearing signal handleraycabta
https://github.com/ruby/reline/commit/7a758e73dc
2021-12-21* 2021-12-21 [ci skip]git
2021-12-21test/fiber/test_io_buffer.rb: fix file descriptor leaksKazuki Yamaguchi
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
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: update test_options_disable_versionsKazuki Yamaguchi
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
2021-12-20[ruby/openssl] ssl: update test_accept_errors_include_peeraddr test caseKazuki Yamaguchi
Use a different invalid data example to prevent SSLSocket#accept from reaching EOF. https://github.com/ruby/openssl/commit/2e089c1916
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: skip test_dup on OpenSSL 3.0 for nowKazuki Yamaguchi
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
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] cipher: update test_ciphersKazuki Yamaguchi
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
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
2021-12-20[ruby/openssl] pkey: do not check NULL argument in ossl_pkey_new()Kazuki Yamaguchi
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
2021-12-20[ruby/openssl] pkey: use OSSL_DECODER to load encrypted PEM on OpenSSL 3.0Kazuki Yamaguchi
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
2021-12-20[ruby/openssl] pkey: test parsing concatenated PEM stringKazuki Yamaguchi
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
2021-12-20test/ruby/test_ast.rb: Avoid a "method redefined" warningYusuke Endoh
2021-12-20[DOC] Skip tests if only NEWS.md changedNobuyoshi Nakada
2021-12-20Update bundled gems list at 2021-12-20git
2021-12-20Update TypeProf to 0.21.0Yusuke Endoh
2021-12-20[ruby/psych] psych depends stringio only CRubyHiroshi SHIBATA
https://github.com/ruby/psych/commit/e7bbf26cb2
2021-12-20Update default gems list at 706c7a27fa00f72ec4f5d2f3af8151 [ci skip]git
2021-12-20[ruby/psych] Bump version to 4.0.3Hiroshi SHIBATA
https://github.com/ruby/psych/commit/75ab76e788
2021-12-20Update logger version on NEWSHiroshi SHIBATA
2021-12-20[ruby/logger] Bump version to 1.5.0Hiroshi SHIBATA
https://github.com/ruby/logger/commit/cdeddb2f67
2021-12-20[ruby/irb] Remove unnecessary space in regexpaycabta
https://github.com/ruby/irb/commit/c24a8e2483
2021-12-20[ruby/irb] Add East Asian Ambiguous Width to irb_info commandaycabta
https://github.com/ruby/irb/commit/4cade4b7e5
2021-12-20Update bundled gems list at 2021-12-20git
2021-12-20[ruby/reline] Rename an unused variable name for CIaycabta
https://github.com/ruby/reline/commit/ba97f3bd87
2021-12-20[ruby/reline] Add a test for dialog proc with contextaycabta
https://github.com/ruby/reline/commit/2ce2696d6e
2021-12-20[ruby/reline] Add an assertion for overwriting dialog proc with the same nameaycabta
https://github.com/ruby/reline/commit/96067bc13c
2021-12-20[ruby/reline] Rename the variable "p" because it overlaps with the "p" methodaycabta
https://github.com/ruby/reline/commit/9bf2ca692e
2021-12-20[ruby/reline] Add support for overwriting dialog proc with the same nameaycabta
https://github.com/ruby/reline/commit/16aa20c380
2021-12-20[ruby/reline] Add Reline.dialog_proc(name_sym)aycabta
https://github.com/ruby/reline/commit/7e5dbe4750
2021-12-20[ruby/reline] Add a test for Reline.add_dialog_procaycabta
https://github.com/ruby/reline/commit/c4bb1bfd79
2021-12-20[ruby/reline] Add spaceaycabta
https://github.com/ruby/reline/commit/4b7fa6b213
2021-12-20[ruby/reline] windows jruby issueYO4
jruby needs terminal control with Windows API on classic console https://github.com/ruby/reline/commit/b61bc43374
2021-12-20[ruby/reline] windows clear screen with \e 2 JYO4
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
2021-12-20[ruby/reline] windows improve scrollingYO4
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