summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2021-10-24[ruby/psych] Prefer `require_relative` for internal requiresDavid Rodríguez
https://github.com/ruby/psych/commit/a0f55ee85a
2021-10-24[ruby/psych] Add stringio as a dependency.Josef Šimánek
https://github.com/ruby/psych/commit/86e3049579
2021-10-24[ruby/strscan] Bump versionSutou Kouhei
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 Notes: Merged: https://github.com/ruby/ruby/pull/5011
2021-10-23[ruby/openssl] Raise an exception if the IO object passed to SSLSocket isn't ↵Aaron Patterson
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
2021-10-22Import bigdecimal-3.1.0.devHiroshi SHIBATA
2021-10-21Bump up readline-ext version to 0.1.3Hiroshi SHIBATA
2021-10-21[ruby/io-wait] Bump up io-wait version to 0.2.0Hiroshi SHIBATA
https://github.com/ruby/io-wait/commit/f6a1b10a59
2021-10-21[ruby/stringio] Bump up stringio version to 3.0.1Hiroshi SHIBATA
https://github.com/ruby/stringio/commit/f7c40aa339
2021-10-21[ruby/psych] Bump up psych version to 4.0.2Hiroshi SHIBATA
https://github.com/ruby/psych/commit/69a713f860
2021-10-20Tie lifetime of uJIT blocks to iseqsAlan Wu
* 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
2021-10-19[ruby/etc] Bump up etc version to 1.3.0Hiroshi SHIBATA
https://github.com/ruby/etc/commit/85ca541d0b
2021-10-19[ruby/zlib] Bump up zlib version to 2.1.1Hiroshi SHIBATA
https://github.com/ruby/zlib/commit/82e9a636a6
2021-10-19[ruby/etc] Remove unnecessary declarationNobuyoshi Nakada
Fix https://github.com/ruby/etc/pull/12 https://github.com/ruby/etc/commit/7cbf03d22d
2021-10-16[ruby/openssl] require Ruby 2.6 or laterKazuki Yamaguchi
Drop support for Ruby 2.3, 2.4, and 2.5. As of 2021-10, Ruby 2.6 is the oldest version that still receives security fixes from the Ruby core team, so it doesn't make much sense to keep code for those ancient versions. https://github.com/ruby/openssl/commit/3436bd040d
2021-10-16[ruby/openssl] bump version number to 3.0.0.preKazuki Yamaguchi
https://github.com/ruby/openssl/commit/baa83a8a57
2021-10-16[ruby/openssl] Ruby/OpenSSL 2.2.1Kazuki Yamaguchi
https://github.com/ruby/openssl/commit/65e7207a07
2021-10-16[ruby/openssl] Ruby/OpenSSL 2.1.3Kazuki Yamaguchi
https://github.com/ruby/openssl/commit/e8ee01b22c
2021-10-16[ruby/openssl] ssl: avoid directly storing String object in NPN callbackKazuki Yamaguchi
On the server side, the serialized list of protocols is stored in SSL_CTX as a String object reference. We utilize a hidden instance variable to prevent it from being GC'ed, but this is not enough because it can also be relocated by GC.compact. https://github.com/ruby/openssl/commit/5eb68ba778
2021-10-16[ruby/openssl] x509store: explicitly call rb_gc_mark() against ↵Kazuki Yamaguchi
Store/StoreContext We store the reverse reference to the Ruby object in the OpenSSL struct for use from OpenSSL callback functions. To prevent the Ruby object from being relocated by GC.compact, we must "pin" it by calling rb_gc_mark(). https://github.com/ruby/openssl/commit/a6ba9f894f
2021-10-16[ruby/openssl] ssl: explicitly call rb_gc_mark() against ↵Kazuki Yamaguchi
SSLContext/SSLSocket objects We store the reverse reference to the Ruby object in the OpenSSL struct for use from OpenSSL callback functions. To prevent the Ruby object from being relocated by GC.compact, we must "pin" it by calling rb_gc_mark(). https://github.com/ruby/openssl/commit/022b7ceada
2021-10-16[ruby/openssl] digest: load digest library using Kernel#requireKazuki Yamaguchi
The digest library is a default gem now, too. Therefore we can't simply use rb_require() to load it, but we should use Kernel#require instead. This change is based on the suggestion by David Rodríguez in https://github.com/ruby/digest/commit/16172612d56ac42f57e5788465791329303ac5d0#commitcomment-57778397 https://github.com/ruby/openssl/commit/157f80794b
2021-10-16[ruby/openssl] fix segv in Timestamp::{Request,Response,TokenInfo}.newNobuhiro IMAI
prevent `ossl_ts_*_free()` from calling when `d2i_TS_*_bio()` failed. https://github.com/ruby/openssl/commit/b29e215786
2021-10-16[ruby/openssl] ts: libressl build fix warningDavid Carlier
TS_time_cb on libressl expects an long long/time_t 64 bits long instead. https://github.com/ruby/openssl/commit/4c99f577b2
2021-10-16[ruby/openssl] ssl: temporary lock string buffer while readingKazuki Yamaguchi
Similarly to SSLSocket#syswrite, the blocking SSLSocket#sysread allows context switches. We must prevent other threads from modifying the string buffer. We can use rb_str_locktmp() and rb_str_unlocktmp() to temporarily prohibit modification of the string. https://github.com/ruby/openssl/commit/d38274949f
2021-10-16[ruby/openssl] ssl: create a temporary frozen string buffer when writingKazuki Yamaguchi
Since a blocking SSLSocket#syswrite call allows context switches while waiting for the underlying socket to be ready, we must freeze the string buffer to prevent other threads from modifying it. Reference: https://github.com/ruby/openssl/issues/452 https://github.com/ruby/openssl/commit/aea874bc6e
2021-10-16[ruby/openssl] ssl: add SSLContext#tmp_dh=Kazuki Yamaguchi
Provide a wrapper of SSL_set0_tmp_dh_pkey()/SSL_CTX_set_tmp_dh(), which sets the DH parameters used for ephemeral DH key exchange. SSLContext#tmp_dh_callback= already exists for this purpose, as a wrapper around SSL_CTX_set_tmp_dh_callback(), but it is considered obsolete and the OpenSSL API is deprecated for future removal. There is no practical use case where an application needs to use different DH parameters nowadays. This was originally introduced to support export grade ciphers. RDoc for #tmp_dh_callback= is updated to recommend the new #tmp_dh=. Note that current versions of OpenSSL support automatic ECDHE curve selection which is enabled by default. SSLContext#tmp_dh= should only be necessary if you must allow ancient clients which don't support ECDHE. https://github.com/ruby/openssl/commit/aa43da4f04
2021-10-16[ruby/openssl] ssl: remove private method SSLSocket#tmp_ecdh_callbackKazuki Yamaguchi
Commit ee037e146037 ("ssl: remove SSL::SSLContext#tmp_ecdh_callback", 2020-08-12) forgot to remove the method. https://github.com/ruby/openssl/commit/bef9ea84e4
2021-10-15[ruby/zlib] Fix a bug that GZipReader#gets may return incomplete lineSutou Kouhei
See also: https://github.com/ruby/csv/issues/117#issuecomment-933289373 How to reproduce with x.csv.gz in the issue comment: Zlib::GzipReader.open("x.csv.gz") do |rio| rio.gets(nil, 1024) while line = rio.gets(nil, 8192) raise line unless line.valid_encoding? end end Reported by Dimitrij Denissenko. Thanks!!! https://github.com/ruby/zlib/commit/b1f182e98f
2021-10-14Prefer the reentrant versions of gmtime and localtimeNobuyoshi Nakada
2021-10-14[ruby/date] Bump up date version to 3.2.0Hiroshi SHIBATA
https://github.com/ruby/date/commit/e0a4cbc8f6
2021-10-14[ruby/pathname] Bump up pathname version to 0.2.0Hiroshi SHIBATA
https://github.com/ruby/pathname/commit/e6b3b3ed25
2021-10-14[ruby/nkf] Bump up nkf version to 0.1.1Hiroshi SHIBATA
https://github.com/ruby/nkf/commit/9aa7c6b841
2021-10-14[ruby/etc] Get rid of alloca in the loopNobuyoshi Nakada
https://github.com/ruby/etc/commit/c989bacc4c
2021-10-14[ruby/fcntl] Bump up fcntl version to 1.0.1Hiroshi SHIBATA
https://github.com/ruby/fcntl/commit/0bcc0c4518
2021-10-14[flori/json] Bump up json version to 2.6.0Hiroshi SHIBATA
https://github.com/flori/json/commit/1942689b67
2021-10-14[ruby/zlib] Bump up zlib version to 2.1.0Hiroshi SHIBATA
https://github.com/ruby/zlib/commit/dd593acaee
2021-10-14[ruby/zlib] Bump version to v2.0.0Hiroshi SHIBATA
https://github.com/ruby/zlib/commit/434eba55ae
2021-10-14Removed redundant digest namespaceHiroshi SHIBATA
2021-10-14separate pure ruby location under the digest/* extensionsHiroshi SHIBATA
2021-10-14Move pure ruby files under the ext/gemname/lib directory.Hiroshi SHIBATA
2021-10-12Fix libraries under digestNobuyoshi Nakada
2021-10-12[ruby/digest] Bump version to 3.1.0.pre2Akinori MUSHA
https://github.com/ruby/digest/commit/5184207611
2021-10-12[ruby/digest] Bump version to 3.1.0.pre1Akinori MUSHA
https://github.com/ruby/digest/commit/56679008cf
2021-10-12[ruby/digest] include jarsPavel Rosický
https://github.com/ruby/digest/commit/c15cbcd978
2021-10-12[ruby/digest] Bump version to 3.1.0.pre0Akinori MUSHA
https://github.com/ruby/digest/commit/594cc4d548
2021-10-12[ruby/digest] Place common parts in lib and engine specific parts under ↵Akinori MUSHA
ext/**/lib https://github.com/ruby/digest/commit/8d7496c3be
2021-10-12[ruby/digest] relicence under the Ruby license and the BSD 2-clausePavel Rosický
https://github.com/ruby/digest/commit/154d461e91
2021-10-12[ruby/digest] jruby supportPavel Rosický
https://github.com/ruby/digest/commit/2e9dc14693
2021-10-12[ruby/digest] Move digest.rb back under ext as the extension bundled libraryNobuyoshi Nakada
https://github.com/ruby/digest/commit/026ba7f361
2021-10-12Add more socket constantsKazuhiro NISHIYAMA
from http://manpages.ubuntu.com/manpages/focal/en/man2/socket.2.html Notes: Merged: https://github.com/ruby/ruby/pull/4955