[#112166] [Ruby master Bug#19397] ruby -h fails with SIGSGV if ulimit -s is any else than unlimited — "john_d_s (John Damm Soerensen) via ruby-core" <ruby-core@...>

Issue #19397 has been reported by john_d_s (John Damm Soerensen).

7 messages 2023/02/01

[#112187] [Ruby master Bug#19403] Unable to Build Native Gems on Mac with Ruby 3.1.0+ — "jcouball@... (James Couball) via ruby-core" <ruby-core@...>

Issue #19403 has been reported by jcouball@yahoo.com (James Couball).

10 messages 2023/02/02

[#112213] [Ruby master Bug#19412] Socket starts queueing and not responding after a certain amount of requests — "brodock (Gabriel Mazetto) via ruby-core" <ruby-core@...>

Issue #19412 has been reported by brodock (Gabriel Mazetto).

13 messages 2023/02/03

[#112218] [Ruby master Bug#19414] uninitialized constant URI::WSS in 3.0.X and 3.1.X — "noraj (Alexandre ZANNI) via ruby-core" <ruby-core@...>

Issue #19414 has been reported by noraj (Alexandre ZANNI).

7 messages 2023/02/05

[#112220] [Ruby master Bug#19415] Incorrect circularity warning for concurrent requires — "fxn (Xavier Noria) via ruby-core" <ruby-core@...>

Issue #19415 has been reported by fxn (Xavier Noria).

7 messages 2023/02/05

[#112245] [Ruby master Bug#19421] Distribution documentation — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19421 has been reported by ioquatix (Samuel Williams).

21 messages 2023/02/07

[#112262] [Ruby master Feature#19422] Make `--enabled-shared` mandatory on macOS — "nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>

Issue #19422 has been reported by nobu (Nobuyoshi Nakada).

8 messages 2023/02/07

[#112284] [Ruby master Bug#19424] Degradation in **Marshal load** only in Ruby 3.1.2 compared to 2.7.4 — "sumitdey035 (Sumit Dey) via ruby-core" <ruby-core@...>

Issue #19424 has been reported by sumitdey035 (Sumit Dey).

14 messages 2023/02/08

[#112304] [Ruby master Bug#19427] Marshal.load(source, freeze: true) doesn't freeze in some cases — "andrykonchin (Andrew Konchin) via ruby-core" <ruby-core@...>

Issue #19427 has been reported by andrykonchin (Andrew Konchin).

14 messages 2023/02/09

[#112320] [Ruby master Misc#19429] DevMeeting-2023-03-09 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19429 has been reported by mame (Yusuke Endoh).

15 messages 2023/02/10

[#112326] [Ruby master Feature#19430] Contribution wanted: DNS lookup by c-ares library — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19430 has been reported by mame (Yusuke Endoh).

16 messages 2023/02/10

[#112329] [Ruby master Misc#19431] DevMeeting at RubyKaigi 2023 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19431 has been reported by mame (Yusuke Endoh).

35 messages 2023/02/10

[#112398] [Ruby master Feature#19435] Expose counts for each GC reason in GC.stat — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19435 has been reported by byroot (Jean Boussier).

10 messages 2023/02/13

[#112399] [Ruby master Bug#19436] Call Cache for singleton methods can lead to "memory leaks" — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19436 has been reported by byroot (Jean Boussier).

25 messages 2023/02/13

[#112433] [Ruby master Bug#19439] Marshal.load doesn't load Regexp instance variables — "andrykonchin (Andrew Konchin) via ruby-core" <ruby-core@...>

Issue #19439 has been reported by andrykonchin (Andrew Konchin).

8 messages 2023/02/15

[#112446] [Ruby master Bug#19442] Remove USE_RINCGC flag — "eightbitraptor (Matthew Valentine-House) via ruby-core" <ruby-core@...>

Issue #19442 has been reported by eightbitraptor (Matthew Valentine-House).

10 messages 2023/02/16

[#112457] [Ruby master Feature#19443] Cache `Process.pid` — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19443 has been reported by byroot (Jean Boussier).

16 messages 2023/02/16

[#112494] [Ruby master Feature#19450] Is there an official way to set a class name without setting a constant? — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19450 has been reported by ioquatix (Samuel Williams).

27 messages 2023/02/20

[#112503] [Ruby master Feature#19451] Extract path and line number from SyntaxError? — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19451 has been reported by ioquatix (Samuel Williams).

9 messages 2023/02/20

[#112505] [Ruby master Bug#19452] `Thread::Backtrace::Location` should have column information if possible. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19452 has been reported by ioquatix (Samuel Williams).

13 messages 2023/02/20

[#112533] [Ruby master Bug#19455] Ruby 3.2: wrong Regexp encoding with non-ASCII comments — janosch-x via ruby-core <ruby-core@...>

Issue #19455 has been reported by janosch-x (Janosch M=FCller).

7 messages 2023/02/22

[#112538] [Ruby master Feature#19458] Expose HEREDOC identifier — "joelhawksley (Joel Hawksley) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NDU4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGpvZWxoYXdrc2xleSAoSm9lbCBIYXdr

14 messages 2023/02/22

[#112552] [Ruby master Bug#19461] Time.local performance tanks in forked process (on macOS only?) — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19461 has been reported by ioquatix (Samuel Williams).

11 messages 2023/02/23

[#112584] [Ruby master Feature#19465] [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system — "normalperson (Eric Wong) via ruby-core" <ruby-core@...>

Issue #19465 has been reported by normalperson (Eric Wong).

9 messages 2023/02/25

[ruby-core:112630] [Ruby master Bug#19468] Ruby 3.2: net/http sets UTF-8 encoding for binary responses

From: romuloceccon via ruby-core <ruby-core@...>
Date: 2023-02-28 12:27:53 UTC
List: ruby-core #112630
Issue #19468 has been reported by romuloceccon (R=F4mulo Ceccon).



----------------------------------------

Bug #19468: Ruby 3.2: net/http sets UTF-8 encoding for binary responses

https://bugs.ruby-lang.org/issues/19468



* Author: romuloceccon (R=F4mulo Ceccon)

* Status: Open

* Priority: Normal

* ruby -v: ruby 3.2.1 (2023-02-22 revision 65ab2c1ef2) [x86_64-linux]

* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN

----------------------------------------

net/http on Ruby 3.2 has changed the encoding of binary responses from SSL =
connected hosts (non-SSL connections are not affected):



``` ruby

# req.rb

require 'openssl'

require 'net/http'

puts "openssl ext: #{OpenSSL::VERSION}"

puts "openssl lib: #{OpenSSL::OPENSSL_VERSION}"

puts "net-protocol: #{Net::Protocol::VERSION}"

puts "net-http: #{Net::HTTP::VERSION}"

puts Net::HTTP.get(URI(ARGV.first)).encoding

```



Ruby 3.1 (with updated net-protocol and net-http libs):



```

$ ruby -v

ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]

$ ruby req.rb https://www.gnu.org/software/gzip/manual/gzip.pdf

openssl ext: 3.0.0

openssl lib: OpenSSL 1.1.1n  15 Mar 2022

net-protocol: 0.2.1

net-http: 0.3.2

ASCII-8BIT     # <=3D=3D CORRECT

```



Ruby 3.2 (latest git revision):



```

$ ruby -v

ruby 3.2.1 (2023-02-22 revision 65ab2c1ef2) [x86_64-linux]

$ ruby req.rb https://www.gnu.org/software/gzip/manual/gzip.pdf

openssl ext: 3.1.0

openssl lib: OpenSSL 1.1.1n  15 Mar 2022

net-protocol: 0.2.1

net-http: 0.3.2

UTF-8          # <=3D=3D WRONG

```



I've tracked the problem down to the SSL socket call at https://github.com/=
ruby/ruby/blob/9557c8edf2dcf18fdece066c596a71696b2f2b30/lib/net/protocol.rb=
#L218.



The string returned has the encoding set to `ASCII-8BIT`, but `#ascii_only?=
` also always reports true, even when there are non-ascii bytes. This seems=
 to be a bug, and is the probably cause of the change in behavior in net/ht=
tp. On Ruby 3.1 concatenating the result of reading the SSL socket to a UTF=
-8 string produces an ASCII-8BIT string. On Ruby 3.2 the concatenation prod=
uces a UTF-8 string.



Here's a program demonstrating the behavior of the SSL socket:



```ruby

# ssltest.rb

require 'openssl'

require 'uri'



url =3D URI(ARGV.first)

path =3D url.path

path +=3D '?' + url.query if url.query



req =3D "GET #{path} HTTP/1.1\r\nHost: #{url.hostname}\r\nAccept: */*\r\n\r=
\n"



sock =3D OpenSSL::SSL::SSLSocket.open(url.hostname, url.port || HTTPS.defau=
lt_https_port)

sock.connect

sock.write(req)



sleep(1)



loop do

  sleep(0.1)

  b =3D ''.b

  r =3D sock.read_nonblock(1024 * 16, b, exception: false)

  break unless String =3D=3D=3D r

  p [r.bytesize, r.encoding.to_s, r.ascii_only?]

end

```



Ruby 3.1:



```

$ ruby ssltest.rb https://www.gnu.org/software/gzip/manual/gzip.pdf

[475, "ASCII-8BIT", true]

[16384, "ASCII-8BIT", false] # <=3D=3D always false (except HTTP header): C=
ORRECT

[16384, "ASCII-8BIT", false]

...

[13927, "ASCII-8BIT", false]

```



Ruby 3.2:



```

$ ruby ssltest.rb https://www.gnu.org/software/gzip/manual/gzip.pdf

[475, "ASCII-8BIT", true]

[16384, "ASCII-8BIT", true] # <=3D=3D always true: WRONG

[16384, "ASCII-8BIT", true]

...

[13927, "ASCII-8BIT", true]

```









--=20

https://bugs.ruby-lang.org/

 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-c=
ore.ml.ruby-lang.org/

In This Thread

Prev Next