| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
ruby/io-console#50
https://github.com/ruby/io-console/commit/ee752ce771
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When making an outgoing TCP or UDP connection, set AI_ADDRCONFIG in the
hints we send to getaddrinfo(3) (if supported). This will prompt the
resolver to _NOT_ issue A or AAAA queries if the system does not
actually have an IPv4 or IPv6 address (respectively).
This makes outgoing connections marginally more efficient on
non-dual-stack systems, since we don't have to try connecting to an
address which can't possibly work.
More importantly, however, this works around a race condition present
in some older versions of glibc on aarch64 where it could accidently
send the two outgoing DNS queries with the same DNS txnid, and get
confused when receiving the responses. This manifests as outgoing
connections sometimes taking 5 seconds (the DNS timeout before retry) to
be made.
Fixes #19144
|
|
|
|
| |
https://github.com/ruby/bigdecimal/commit/581725d4e5
|
|
|
|
| |
https://github.com/ruby/bigdecimal/commit/2edd8d0a23
|
|
|
|
| |
https://github.com/flori/json/commit/a1af7a308c
|
| |
|
|
|
|
| |
https://github.com/flori/json/commit/3ef57b5b39
|
|
|
|
| |
https://github.com/flori/json/commit/11b31210ac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://github.com/flori/json/pull/557)
* RDoc for additions
* Update lib/json/add/time.rb
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
---------
https://github.com/flori/json/commit/3f2efd60f7
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
|
|
| |
https://github.com/flori/json/commit/41c2712a3b
|
|
|
|
| |
https://github.com/flori/json/commit/936f280f9f
|
|
|
|
|
|
|
|
|
| |
Fix: https://github.com/flori/json/issues/553
We can never add keyword arguments to `dump` otherwise
existing code using unenclosed hash will break.
https://github.com/flori/json/commit/8e0076a3f2
|
|
|
|
|
|
|
|
|
|
|
|
| |
> https://github.com/flori/json/pull/525
> Rename escape_slash in script_safe and also escape E+2028 and E+2029
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
> https://github.com/flori/json/pull/454
> Remove unnecessary initialization of create_id in JSON.parse()
Co-authored-by: Watson <watson1978@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is rather common to directly interpolate JSON string inside
<script> tags in HTML as to provide configuration or parameters to a
script.
However this may lead to XSS vulnerabilities, to prevent that 3
characters need to be escaped:
- `/` (forward slash)
- `U+2028` (LINE SEPARATOR)
- `U+2029` (PARAGRAPH SEPARATOR)
The forward slash need to be escaped to prevent closing the script
tag early, and the other two are valid JSON but invalid Javascript
and can be used to break JS parsing.
Given that the intent of escaping forward slash is the same than escaping
U+2028 and U+2029, I chos to rename and repurpose the existing `escape_slash`
option.
|
|
|
|
|
| |
They are allocated with ruby_xmalloc, they should be freed with
ruby_xfree.
|
|
|
|
| |
https://github.com/flori/json/commit/ca546128f2
|
|
|
|
|
|
|
|
| |
Previously in the JSON::Ext parser, when we encountered an "Infinity"
token (and weren't allowing NaN/Infinity) we would try to display the
"unexpected token" at the character before.
https://github.com/flori/json/commit/42ac170712
|
|
|
|
| |
https://github.com/ruby/cgi/commit/67610e6ca8
|
| |
|
|
|
|
| |
Again, rsock_raise_socket_error is called only when getaddrinfo and getaddrname fail
|
|
|
|
| |
rsock_raise_socket_error is called only when getaddrinfo and getaddrname fail
|
|
|
|
| |
Socket::ResolutionError#error_code returns Socket::EAI_XXX
|
|
|
|
|
|
|
|
|
|
| |
Followup: https://github.com/ruby/ruby/pull/9029
[Bug #20019]
Some events still weren't triggered from the right place.
The test suite was also improved a bit more.
|
|
|
|
|
|
| |
According to https://bugs.openjdk.org/browse/JDK-8268605, pthread_create
may fail spuriously. This change implements a simple retry as a modest
measure, which is also used by JDK.
|
|
|
|
| |
https://github.com/ruby/stringio/commit/75da93d48f
|
|
|
|
|
|
|
|
|
|
|
|
| |
This entirely changes how it is tested. Rather than to use counters
we now record the timeline of events with associated threads which
makes it much easier to assert that certains events are only preceded
by a specific event, and makes it much easier to debug unexpected
timelines.
Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>
Co-Authored-By: JP Camara <jp@jpcamara.com>
Co-Authored-By: John Hawthorn <john@hawthorn.email>
|
|
|
|
|
|
|
|
|
|
|
| |
* Before this it was compiled but not used, because TruffleRuby has
a stringio.rb in stdlib and .rb has precedence over .so.
In fact that extension never worked on TruffleRuby,
because rb_io_extract_modeenc() has never been defined on TruffleRuby.
* So this just skip compiling the extension since compilation of it now fails:
https://github.com/ruby/openssl/issues/699
https://github.com/ruby/stringio/commit/d791b63df6
|
|
|
|
|
|
| |
Use safe navigation operator with each_char to remove empty strings and improve readability.
https://github.com/ruby/psych/commit/5fe714b216
|
|
|
|
| |
https://github.com/ruby/openssl/commit/dc26433ae5
|
|
|
|
|
|
| |
Not all `ID` have an associated string.
Fixes a SEGFAULT in ObjectSpace.dump_all spec.
|
|
|
|
|
|
|
| |
Node has not been managed by GC from Ruby 2.5.
Therefore these codes are not needed. If ObjectSpace depends on Node,
it needs to update the file when node type is updated. Delete node
related codes to avoid such update.
|
|
|
|
|
| |
Too complex classes use a hash table to store ivs, and should always pin
their IVs. We shouldn't touch those classes in compaction.
|
|
|
|
| |
This reverts commit 5f3fb4f4e397735783743fe52a7899b614bece20.
|
|
|
|
|
| |
This records the called_id and klass from imemo_callcache objects in
heap dumps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Context: https://github.com/ivoanjo/gvl-tracing/pull/4
Some hooks may want to collect data on a per thread basis.
Right now the only way to identify the concerned thread is to
use `rb_nativethread_self()` or similar, but even then because
of the thread cache or MaNy, two distinct Ruby threads may report
the same native thread id.
By passing `thread->self`, hooks can use it as a key to store
the metadata.
NB: Most hooks are executed outside the GVL, so such data collection
need to use a thread-safe data-structure, and shouldn't use the
reference in other ways from inside the hook.
They must also either pin that value or handle compaction.
|
|
|
|
|
|
|
| |
This reverts commit f6910a61122931e4193bcc0fad18d839c319b720.
We're seeing crashes in the test suite of Shopify's core monolith after
this change.
|
|
|
|
| |
https://github.com/ruby/io-console/commit/057ab96a73
|
|
|
|
| |
https://github.com/ruby/io-console/commit/b0c688c57e
|
|
|
|
| |
https://github.com/ruby/io-console/commit/ebdbebf461
|
|
|
|
| |
https://github.com/ruby/io-console/commit/0bfde8372c
|
|
|
|
|
| |
We don't need to create a shape to transition capacity as we can
transition the capacity when the capacity of the SHAPE_IVAR changes.
|
|
|
|
| |
https://github.com/ruby/digest/commit/2f3505bf3f
|
|
|
|
| |
https://github.com/ruby/stringio/commit/a2f8ef1a6a
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://github.com/ruby/stringio/pull/69)
The conversion logic is borrowed from ruby/ruby's io.c:
https://github.com/ruby/ruby/blob/40391faeab608665da87a05c686c074f91a5a206/io.c#L4059-L4079
Fix ruby/stringio#68
Reported by IWAMOTO Kouichi. Thanks!!!
https://github.com/ruby/stringio/commit/4b170c1a68
|
|
|
|
| |
https://github.com/ruby/strscan/commit/1b3393be05
|
|
|
|
| |
https://github.com/ruby/fiddle/commit/bbcb66e16e
|
|
|
|
| |
https://github.com/ruby/fiddle/commit/74a05fb358
|
|
|
|
|
|
|
|
| |
GitHub: fix https://github.com/ruby/fiddle/pull/130
Reported by Benoit Daloze. Thanks!!!
https://github.com/ruby/fiddle/commit/2640e0148e
|
|
|
|
| |
https://github.com/flori/json/commit/ec47749b53
|
| |
|