Age | Commit message (Collapse) | Author |
|
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
|
|
Commit ee037e146037 ("ssl: remove SSL::SSLContext#tmp_ecdh_callback",
2020-08-12) forgot to remove the method.
https://github.com/ruby/openssl/commit/bef9ea84e4
|
|
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
|
|
|
|
https://github.com/ruby/date/commit/e0a4cbc8f6
|
|
https://github.com/ruby/pathname/commit/e6b3b3ed25
|
|
https://github.com/ruby/nkf/commit/9aa7c6b841
|
|
https://github.com/ruby/etc/commit/c989bacc4c
|
|
https://github.com/ruby/fcntl/commit/0bcc0c4518
|
|
https://github.com/flori/json/commit/1942689b67
|
|
https://github.com/ruby/zlib/commit/dd593acaee
|
|
https://github.com/ruby/zlib/commit/434eba55ae
|
|
|
|
|
|
|
|
|
|
https://github.com/ruby/digest/commit/5184207611
|
|
https://github.com/ruby/digest/commit/56679008cf
|
|
https://github.com/ruby/digest/commit/c15cbcd978
|
|
https://github.com/ruby/digest/commit/594cc4d548
|
|
ext/**/lib
https://github.com/ruby/digest/commit/8d7496c3be
|
|
https://github.com/ruby/digest/commit/154d461e91
|
|
https://github.com/ruby/digest/commit/2e9dc14693
|
|
https://github.com/ruby/digest/commit/026ba7f361
|
|
from http://manpages.ubuntu.com/manpages/focal/en/man2/socket.2.html
Notes:
Merged: https://github.com/ruby/ruby/pull/4955
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4909
|
|
In AIX, altzone exists in the standard library but is not declared
in time.h. By 524513be399e81bb170ec88aa0d501f33cbde8c3, have_var
and try_var in mkmf recognizes a variable that exists in a library
even when it is not declared. As a result, in AIX, HAVE_ALTZONE
is defined, but compile fails due to the lack of the declaration.
|
|
%v is supposed to be the VMS date, and VMS date format uses an
uppercase month.
Ruby 1.8 used an uppercase month for %v, but the behavior was
changed without explanation in r31672.
Time#strftime still uses an uppercase month for %v, so this change
makes Date#strftime consistent with Time#strftime.
Fixes [Bug #13810]
https://github.com/ruby/date/commit/56c489fd7e
|
|
|
|
https://github.com/ruby/openssl/commit/258e30b640
|
|
https://github.com/ruby/openssl/commit/0f91e2a6ee
|
|
Just append OpenSSL error reason to the given message string
object, which would be alreadly formatted.
Suppress -Wformat-security warning in `ossl_tsfac_create_ts`.
https://github.com/ruby/openssl/commit/11b1d8a6b8
|
|
* Add `printf` format attribute to `ossl_raise`.
* Fix a format specifier in `config_load_bio`.
* Use `ASSUME` for the unreachable condition.
https://github.com/ruby/openssl/commit/41da2955db
|
|
To suppress warnings at the compilation time.
https://github.com/ruby/date/commit/ff21132203
|
|
https://github.com/ruby/fiddle/commit/e08c4c635e
Co-authored-by: Sutou Kouhei <kou@clear-code.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/4810
|
|
Not to include parenthesized argument.
https://github.com/ruby/fiddle/commit/c2c921e16a
Notes:
Merged: https://github.com/ruby/ruby/pull/4810
|
|
|
|
This prevents early collection of the array. The GC doesn't see the
array on the stack when Ruby is compiled with optimizations enabled
Thanks @jhaberman for the test case
[ruby-core:105099] [Bug #18140]
|
|
https://github.com/ruby/zlib/commit/44a56d36e7
|
|
https://github.com/ruby/zlib/commit/931aa7a272
|
|
https://github.com/ruby/psych/commit/8ec36494fb
|
|
'y' and 'n' are kind of ambiguous. Syck treated y and n literals in
YAML documents as strings. But this is not what the YAML 1.1 spec says.
YAML 1.1 says they should be treated as booleans. When we're dumping
documents, we know it's a string, so adding quotes will eliminate the
"ambiguity" in the emitted document
Fixes #443
https://github.com/ruby/psych/commit/6a1c30634e
|
|
https://github.com/ruby/psych/commit/64cc239557
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
|
|
https://github.com/ruby/psych/commit/8f71222bf3
|
|
https://github.com/ruby/psych/commit/e0bb853014
|
|
Previously, `+.inf` was not handled correctly. Additionally, the regexp
was checking for inf and NaN, even though these cases are handled earlier
in the condition. Added a few tests to ensure handling some missing
cases.
https://github.com/ruby/psych/commit/6e0e7a1e9f
|
|
https://github.com/ruby/zlib/commit/098c50255d
|
|
|
|
Currently when calling any of the "FileUtils" methods on pathname `require` is called every time even though that library might already be loaded. This is slow:
We can speed it up by either checking first if the constant is already defined, or by using autoload.
Using defined speeds up the action by about 300x and using autoload is about twice as fast as that (600x faster than current require method).
I'm proposing we use autoload:
```ruby
require 'benchmark/ips'
Benchmark.ips do |x|
autoload(:FileUtils, "fileutils")
x.report("require") { require 'fileutils' }
x.report("defined") { require 'fileutils' unless defined?(FileUtils) }
x.report("autoload") { FileUtils }
x.compare!
end
# Warming up --------------------------------------
# require 3.624k i/100ms
# defined 1.465M i/100ms
# autoload 2.320M i/100ms
# Calculating -------------------------------------
# require 36.282k (± 2.4%) i/s - 184.824k in 5.097153s
# defined 14.539M (± 2.0%) i/s - 73.260M in 5.041161s
# autoload 23.100M (± 1.9%) i/s - 115.993M in 5.023271s
# Comparison:
# autoload: 23099779.2 i/s
# defined: 14538544.9 i/s - 1.59x (± 0.00) slower
# require: 36282.3 i/s - 636.67x (± 0.00) slower
```
Because this autoload is scoped to Pathname it will not change the behavior of existing programs that are not expecting FileUtils to be loaded yet:
```
ruby -rpathname -e "class Pathname; autoload(:FileUtils, 'fileutils'); end; puts FileUtils.exist?"
Traceback (most recent call last):
-e:1:in `<main>': uninitialized constant FileUtils (NameError)
```
Notes:
Merged: https://github.com/ruby/ruby/pull/3693
|
|
This commit removes T_PAYLOAD since the new VWA implementation no longer
requires T_PAYLOAD types.
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/4773
|