| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Not to include parenthesized argument.
https://github.com/ruby/fiddle/commit/c2c921e16a
|
| |
|
|
|
|
|
|
|
|
|
| |
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)
```
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
(https://github.com/ruby/fiddle/pull/90)
I need to get the offset of members inside sub structures. This patch
adds sub-structure offset support for structs.
https://github.com/ruby/fiddle/commit/cf78eddbb6
|
|
|
|
|
|
| |
This reverts commits 48ff7a9f3e47bffb3e4d067a12ba9b936261caa0
and b2e2cf2dedd104acad8610721db5e4d341f135ef because it is causing
crashes in SPARC solaris and i386 debian.
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
https://github.com/ruby/date/commit/7e1ffbf568
|
|
|
|
|
|
|
|
| |
per guidance in doc/extension.rdoc, these classes now undefine their
alloc functions:
- ObjectSpace::InternalObjectWrapper
- Socket::Ifaddr
|
|
|
|
| |
https://github.com/ruby/date/commit/de7dca353f
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
LibYAML has moved from their previous Mercurial based hosting on BitBucket to a git repository on GitHub. This commit updates the `Psych` module's documentation to point to this new repository, instead of the old one which is now a 404.
https://github.com/ruby/psych/commit/947a84d0dd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
multithreaded use
I'm not sure whether this handles all multithreaded use cases,
but this handles the example that crashes almost immediately
and does 10,000,000 total deflates using 100 separate threads.
To prevent the tests from taking forever, the committed test
for this uses only 10,000 deflates across 10 separate threads,
which still causes a segfault in the previous implementation
almost immediately.
Fixes [Bug #17803]
https://github.com/ruby/zlib/commit/4b1023b3f2
|
|
|
|
| |
https://github.com/ruby/digest/commit/360a7de366
|
|
|
|
|
|
| |
Gem::Specification#add_development_dependency
https://github.com/ruby/digest/commit/460a6f807e
|
|
|
|
| |
https://github.com/ruby/digest/commit/23dc9c7425
|
|
|
|
| |
https://github.com/ruby/digest/commit/0a451e0c94
|
|
|
|
| |
https://github.com/ruby/digest/commit/086d54ba94
|
|
|
|
|
|
| |
This makes it slightly more explicit that this is not a definite new version.
https://github.com/ruby/digest/commit/2bb5bb78a3
|
|
|
|
|
|
| |
This is a test, to see if the build failures are about the shipped Ruby master version of this gem.
https://github.com/ruby/digest/commit/d2606b2cce
|
| |
|
|
|
|
|
|
|
|
| |
* It used to be hardcoded since 0affbf9d2c7c5c618b8d3fe191e74d9ae8ad22fc
but got removed in 23abf3d3fb82afcc26d35769f0dec59dd46de4bb
* This means that since that second commit, rb_iterate() was used unintentionally.
https://github.com/ruby/racc/commit/8816ced525
|
|
|
|
| |
https://github.com/ruby/openssl/commit/68fa9c86f1
|
|
|
|
|
|
|
|
| |
[ky: fixed compatibility with older versions of Ruby]
(cherry picked from commit ruby/ruby@45e65f302b663b2c6ab69df06d3b6f219c1797b2)
https://github.com/ruby/openssl/commit/8d928e0fb9
|
|
|
|
|
|
|
|
|
| |
OpenSSL
* See https://bugs.ruby-lang.org/issues/18025
and https://github.com/ruby/ruby/pull/4629
https://github.com/ruby/openssl/commit/b8e4852dcc
|
|
|
|
|
|
|
|
|
| |
(https://github.com/ruby/openssl/pull/447)
The values from RFC 5869
https://datatracker.ietf.org/doc/html/rfc5869#appendix-A.1
https://github.com/ruby/openssl/commit/ec14a87f4f
|
|
|
|
|
|
|
|
|
|
|
|
| |
Back in 2016, we chose not to use Bundler in Ruby/OpenSSL development
because Bundler depended on openssl and could not be used for testing
openssl itself - "bundle exec rake test" would end up with loading two
different versions of openssl at the same time.
This has been resolved long time ago. We can now safely use it for
development dependency management and for Rake tasks.
https://github.com/ruby/openssl/commit/47283d9161
|
|
|
|
| |
https://github.com/ruby/openssl/commit/8a1e3f5085
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also, OpenSSL::BN::CONSTTIME is added.
OpenSSL itself had a feature that was vulnerable against a side-channel
attack. The OpenSSL authors determined that it was not a security issue,
and they have already fixed the issue by using BN_set_flags.
https://github.com/openssl/openssl/pull/13888
If a Ruby OpenSSL user was faced with a similar issue, they couldn't
prevent the issue because Ruby OpenSSL lacks a wrapper to BN_set_flags.
For the case, this change introduces the wrapper.
https://github.com/ruby/openssl/commit/1e565eba89
|
|
|
|
|
|
|
|
|
|
| |
PKey#{sign,verify}_raw
With the newly added OpenSSL::PKey::PKey#{sign,verify}_raw,
OpenSSL::PKey::DSA's low level signing operation methods can be
implemented in Ruby. The definitions are now in lib/openssl/pkey.rb.
https://github.com/ruby/openssl/commit/ce805adf0c
|
|
|
|
|
|
|
|
|
|
| |
PKey#{sign,verify}_raw
With the newly added OpenSSL::PKey::PKey#{sign,verify}_raw,
OpenSSL::PKey::EC's low level signing operation methods can be
implemented in Ruby. The definitions are now in lib/openssl/pkey.rb.
https://github.com/ruby/openssl/commit/1f9da0cd9d
|
|
|
|
|
|
|
|
|
|
|
| |
EVP API
Implement these methods using the new OpenSSL::PKey::PKey#{encrypt,sign}
family. The definitions are now in lib/openssl/pkey.rb.
Also, recommend using those generic methods in the documentation.
https://github.com/ruby/openssl/commit/2dfc1779d3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a variant of PKey#sign and #verify that do not hash the data
automatically.
Sometimes the caller has the hashed data only, but not the plaintext
to be signed. In that case, users would have to use the low-level API
such as RSA#private_encrypt or #public_decrypt directly.
OpenSSL 1.0.0 and later supports EVP_PKEY_sign() and EVP_PKEY_verify()
which provide the same functionality as part of the EVP API. This patch
adds wrappers for them.
https://github.com/ruby/openssl/commit/16cca4e0c4
|