Age | Commit message (Collapse) | Author |
|
The OpenSSL engine of Digest uses the low-level API of OpenSSL, whose
use has been discouraged for years for multiple reasons.
A long-standing issue on a FIPS-enabled system is that using ::Digest
results in crashing the Ruby process, because the low-level API lacks
the mechanism to report an error (the policy violation) and thus kills
the process as a last resort[1][2]. Also, the upcoming OpenSSL 3.0 will
deprecate it for future removal[3]. Compiling with
-Wdeprecated-declarations will start to emit warnings.
A proper fix for this is to make it use the EVP API instead. This is a
non-trivial work as it requires backwards-incompatible changes to the
framework interface of Digest::Base and rb_digest_metadata_t.
It is more than 15 years ago that the openssl library became part of the
standard library. It has implemented the exactly same functionality as
OpenSSL::Digest, in fact, as a subclass of Digest::Class. There is not
much point in having an identical code in the digest library. Let's
just get rid of OpenSSL within digest. This leaves the C implementations
and the CommonCrypto engine for Apple systems.
A patch is being prepared for the openssl library to provide ::Digest
constants for better performance[4].
[1] https://bugs.ruby-lang.org/issues/6946
[2] https://bugs.ruby-lang.org/issues/13681
[3] https://www.openssl.org/docs/OpenSSL300Design.html
[4] https://github.com/ruby/openssl/pull/377
Notes:
Merged: https://github.com/ruby/ruby/pull/3149
|
|
Wrapping the example into a <code> block to avoid it being rendered as a link.
Notes:
Merged: https://github.com/ruby/ruby/pull/3686
|
|
|
|
|
|
|
|
Fixes [Feature #13381]
When passed a `fake_str`, `register_fstring` would create new strings
with `str_new_static`. That's not what was expected, and answer
almost no use cases.
Notes:
Merged: https://github.com/ruby/ruby/pull/3786
|
|
* memory_view.c: remove a reference in view->obj at rb_memory_view_release
* memory_view.c: keep references of memory-view-exported objects
* Update common.mk
* memory_view.c: Use st_update
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
|
|
* cast to suppress C4267 warnings; no possible loss of data as
following the comparison.
* shift base address to suppress LNK4281; although /DYNAMICBASE is
preferable, not sure from which version of link.exe supports it.
|
|
|
|
The mapping table is generated from the ICU project:
https://github.com/unicode-org/icu/blob/master/icu4c/source/data/mappings/ibm-720_P100-1997.ucm
Fixes bug 16233 : https://bugs.ruby-lang.org/issues/16233
Notes:
Merged-By: nurse <naruse@airemix.jp>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3797
|
|
|
|
yet another implements [Feature #17276]
|
|
This commits adds in documentation to illustrate the different modes you
can start coverage with. Examples are provided to show how to start each
of these modes, along with an explanation of the mode and a description
of the output.
Notes:
Merged: https://github.com/ruby/ruby/pull/3792
|
|
|
|
Implements [Feature #17276]
Notes:
Merged: https://github.com/ruby/ruby/pull/3774
Merged-By: jeremyevans <code@jeremyevans.net>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/50e02f9445
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/74b65cb858
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
It's fixed in upstream.
https://github.com/MSP-Greg/ruby-loco/issues/4
https://github.com/ruby/fiddle/commit/2ae0ff4934
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/bb227c206d
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/fee175a8ff
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/6d24fb5438
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
GitHub: fix GH-15
Reported by Eneroth3. Thanks!!!
https://github.com/ruby/fiddle/commit/f3d70b81ec
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
See comment for details.
https://github.com/ruby/fiddle/commit/0c76f03dc4
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
* Add a "pinning" reference
A `Fiddle::Pinned` objects will prevent the objects they point to from
moving. This is useful in the case where you need to pass a reference
to a C extension that keeps the address in a global and needs the
address to be stable.
For example:
```ruby
class Foo
A = "hi" # this is an embedded string
some_c_function A # A might move!
end
```
If `A` moves, then the underlying string buffer may also move.
`Fiddle::Pinned` will prevent the object from moving:
```ruby
class Foo
A = "hi" # this is an embedded string
A_pinner = Fiddle::Pinned.new(A) # :nodoc:
some_c_function A # A can't move because of `Fiddle::Pinned`
end
```
This is a similar strategy to what Graal uses:
https://www.graalvm.org/sdk/javadoc/org/graalvm/nativeimage/PinnedObject.html#getObject--
* rename global to match exception name
* Introduce generic Fiddle::Error and rearrange error classes
Fiddle::Error is the generic exception base class for Fiddle exceptions.
This commit introduces the class and rearranges Fiddle exceptions to
inherit from it.
https://github.com/ruby/fiddle/commit/ac52d00223
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
For example, :voidp equals to Fiddle::TYPE_VOID_P.
https://github.com/ruby/fiddle/commit/3b4de54899
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
Add rb_fiddle_ prefix to conversion functions.h to keep backward
compatibility but value_to_generic() isn't safe for TYPE_CONST_STRING
and not String src. Use rb_fiddle_value_to_generic() instead.
https://github.com/ruby/fiddle/commit/0ffcaa39e5
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
To make some kind of Ractor related extensions, some functions
should be exposed.
* include/ruby/thread_native.h
* rb_native_mutex_*
* rb_native_cond_*
* include/ruby/ractor.h
* RB_OBJ_SHAREABLE_P(obj)
* rb_ractor_shareable_p(obj)
* rb_ractor_std*()
* rb_cRactor
and rm ractor_pub.h
and rename srcdir/ractor.h to srcdir/ractor_core.h
(to avoid conflict with include/ruby/ractor.h)
Notes:
Merged: https://github.com/ruby/ruby/pull/3775
|
|
https://github.com/ruby/date/commit/f6140df0ad
|
|
https://github.com/ruby/date/commit/f08175e34d
|
|
https://github.com/ruby/date/commit/d20380fc55
|
|
https://github.com/ruby/date/commit/3c002b1daa
|
|
https://github.com/ruby/date/commit/58ca6e6a3e
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3712
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3712
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3712
|
|
- ext/win32/lib/win32/sspi.rb: Use fiddle (win32/importer) instead of Win32API
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3753
|
|
|
|
But win32ole gem is still experimental for 3.0.0-preview2.
I'm working to extract this library on https://github.com/ruby/win32ole.
|
|
This way the header flags and object internals are set correctly
Notes:
Merged: https://github.com/ruby/ruby/pull/3719
|
|
```
find . -name \*.o -exec nm {} + |&
sed '/Init_.*\.rbimpl_id/!d;s/^.* b //;s/\.[1-9][0-9]*$//;s/\.rbimpl_id$//' |
uniq
```
should be empty.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3589
|
|
|
|
If set to true all parsed objects will be
immediately frozen, and strings will be
deduplicated if the Ruby implementation
allows it.
|
|
* Added sync task for digest
* Update doc/* for default gems
* Update the latest version of gemspec
|
|
This reverts commit f39021be7e0eac20ef7f06592769955ea482470f.
|
|
|