[#84867] [Ruby trunk Bug#14357] thread_safe tests suite segfaults โ€” v.ondruch@...

Issue #14357 has been reported by vo.x (Vit Ondruch).

11 messages 2018/01/15
[#85364] Re: [Ruby trunk Bug#14357] thread_safe tests suite segfaults โ€” Eric Wong <normalperson@...> 2018/02/03

v.ondruch@tiscali.cz wrote:

[#84980] [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid โ€” hsbt@...

Issue #13618 has been updated by hsbt (Hiroshi SHIBATA).

10 messages 2018/01/23
[#85012] Re: [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid โ€” Eric Wong <normalperson@...> 2018/01/23

hsbt@ruby-lang.org wrote:

[ruby-core:84846] [Ruby trunk Feature#14352] Array#pack("M") Quoted-Printable with binary mode

From: naruse@...
Date: 2018-01-12 17:48:04 UTC
List: ruby-core #84846
Issue #14352 has been updated by naruse (Yui NARUSE).


ใพใšๅ ฑๅ‘Šใฎ\rใจ\nใŒ้€†ใชใ‚ˆใ†ใซๆ€ใ„ใพใ™ใ€‚

ใงใ€ๆคœ่จŽใซใ‚ใŸใฃใฆไบ’ๆ›ๆ€งใจใ„ใ†ใ‹ใพใš็พ็Šถใ‚’่€ƒใˆใŸใ„ใฎใงใ™ใ€‚
ใใ‚‚ใใ‚‚ quoted-printable ใฏๆ”น่กŒใŒCRLFใงใ‚ใ‚‹ในใใจใ“ใ‚ใ€pack("M")ใฎๅ‡บๅŠ›ใฏLFใ ใ‘ใ‚’้€šใ™ใ‚“ใงใ™ใ‚ˆใญใ€‚

ใจใ„ใ†ๆŒ™ๅ‹•ใ ใ‘่ฆ‹ใ‚‹ใจใ“ใ‚Œใฏใƒใ‚คใƒŠใƒชใƒขใƒผใƒ‰ใชใฎใ‹ใจๆœ€ๅˆ่€ƒใˆใพใ™ใŒใ€
LFใฎใพใพใงใฏใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใซๆตใ›ใพใ›ใ‚“ใ‹ใ‚‰ใ“ใฎๅ‡บๅŠ›ใ‚’ใƒกใƒผใƒซใชใฉใงๅ‡บใ™ๅ ดๅˆใฏ s/\n/\r\n/g ใ™ใ‚Œใฐใ‚ˆใ„โ€ฆโ€ฆ
ใจใฟใ›ใ‹ใ‘ใฆใใ†ใ™ใ‚‹ใจไปŠๅบฆใฏ็‰ฉ็†ๆ”น่กŒใŒLFใ ใฃใŸๆƒ…ๅ ฑใŒ็„กใใชใ‚‹ใฎใงใ€ใใ‚‚ใใ‚‚LFใ‚‚ใ‚จใƒณใ‚ณใƒผใƒ‰ใ—ใฆ
ใ™ในใฆใ‚ฝใƒ•ใƒˆๆ”น่กŒใซใ—ใชใ„ใจๅ…ƒใฎๆƒ…ๅ ฑใŒๆฎ‹ใ‚Šใพใ›ใ‚“ใ€‚
ใ“ใ‚Œใฏ็พ็Šถใฎpack("M")ใงใ‚„ใ‚‹ใ‚ˆใ‚Š่‡ชๅˆ†ใงgsubใ—ใŸๆ–นใŒๆ—ฉใ„ใงใ™ใ—ใ€ใใ‚‚ใใ‚‚BASE64ไฝฟใฃใŸๆ–นใŒใ„ใ„ใงใ™ใญใ€‚

็พ็ŠถใฏๅŸบๆœฌ็š„ใซใฏใƒ†ใ‚ญใ‚นใƒˆใƒขใƒผใƒ‰ใงใ‚ใฃใฆใ€ๅพŒๅ‡ฆ็†ใฎไพฟๅฎœใฎใŸใ‚ใซLFใซใชใฃใฆใ„ใ‚‹ใ ใ‘ใงใ‚ใ‚Šใ€
ใƒ˜ใƒƒใƒ€ใจใคใชใ’ใ‚‹ใชใ‚Šใ—ใŸๅพŒ s/\n/\r\n/g ใ™ใ‚Œใฐใ‚ˆใ„ใฎใ ใจไปฎๅฎšใ™ใ‚Œใฐใ€ใใ“ใใ“ไฝฟใˆใ‚‹ใ‚‚ใฎใ ใจ่€ƒใˆใ‚‰ใ‚Œใพใ™ใ€‚

ใ™ใ‚‹ใจใ€ใ“ใฎๅ ดๅˆ =0D\n ใŒๅ‡บๅŠ›็ตๆžœใซๅซใพใ‚Œใ‚‹ใฎใฏๆ˜Žใ‚‰ใ‹ใซๆ„ๅ›ณใ›ใฌใ‚‚ใฎใจใชใ‚Šใพใ™ใ€‚
ใจใ„ใ†ใ‚ˆใ†ใชใ“ใจใ‚’่€ƒใˆใ‚‹ใจใ€ๅ…ฅๅŠ›ใฎCRLF๏ผˆใ‚„ๅ˜็‹ฌใฎCR๏ผ‰ใฏ่ชฐใ‹ใŒLFใซๆญฃ่ฆๅŒ–ใ™ใ‚‹ในใใชใฎใงใ—ใ‚‡ใ†ใ€‚

ในใ่ซ–ใจใ—ใฆใฏๅ‡บๅŠ›ใ‚’CRLFใซๅค‰ใˆใ‚‹ในใใชใฎใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใŒใ€
ใƒˆใƒฉใƒƒใƒ—ใจใ—ใฆใฏๅคงใใ™ใŽใ‚‹ใฎใง่‡ชๅˆ†ใงๆฐ—ไป˜ใใ ใ‚ใ†ใ‹ใ‚‰ใพใใใฎใพใพใงใ„ใ„ใ‹ใชใ€‚



RFC2045ใƒใ‚คใƒŠใƒชๆบ–ๆ‹ ใ ใจCRใ€LFใ€CRLFๅ…จใฆใ‚จใƒณใ‚ณใƒผใƒ‰ใซใชใ‚‹ใจๆ€ใ†ใฎใงใ™ใŒใ€ใใ‚Œใฃใฆๅฟ…่ฆใชใฎใงใ™ใ‹ใญใ€‚
ใใ‚ŒใŒๅฟ…่ฆใชๅ ดๅˆใ™ใงใซgsubใ‚’ไฝฟใฃใฆ็‹ฌ่‡ชๅฎŸ่ฃ…ใ—ใฆใ„ใ‚‹ใ‚ˆใ†ใชๆฐ—ใŒใ—ใพใ™ใ€‚


----------------------------------------
Feature #14352: Array#pack("M") Quoted-Printable with binary mode
https://bugs.ruby-lang.org/issues/14352#change-69559

* Author: kirika (Toshio Maki)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
่‹ฑ่ชžใงๆ›ธใ“ใ†ใจๆ€ใฃใŸใฎใงใ™ใŒใ€ใ†ใพใไผใˆใ‚‰ใ‚Œใชใ„ใ‹ใ‚‚ใ—ใ‚Œใชใ„ใฎใงๆ—ฅๆœฌ่ชžใงๆ›ธใ‹ใ›ใฆใใ ใ•ใ„ใ€‚ใ™ใฟใพใ›ใ‚“ใ€‚

mail libraryใจใ„ใ†gemใ‚’ไฝฟใฃใฆใƒกใƒผใƒซใ‚’ใƒ‘ใƒผใ‚นใ—ใŸใ‚Šใ€ๆ›ธใใ ใ—ใŸใ‚Šใ—ใฆใ„ใ‚‹ใฎใงใ™ใŒใ€
Quoted-Printableใงใ‚จใƒณใ‚ณใƒผใƒ‰ใ•ใ‚ŒใŸใƒใ‚คใƒŠใƒชใŒใƒกใƒผใƒซใซๅซใพใ‚Œใฆใ„ใŸๅ ดๅˆใซใ€ใƒกใƒผใƒซใ‚’็ ดๅฃŠใ™ใ‚‹
ๅฏ่ƒฝๆ€งใŒใ‚ใ‚‹ใจใ„ใ†ใ“ใจใŒๅˆ†ใ‹ใ‚Šใพใ—ใŸใ€‚

่ชฟๆŸปใ—ใฆใฟใ‚‹ใจใ€RubyใฎArray#Pack("M")ใ‚’ไฝฟใฃใŸใจใใซใ€ไปฅไธ‹ใฎใ‚ˆใ†ใซ
\nใฏ=0Dใซๅค‰ๆ›ใ—ใฆใใ‚Œใ‚‹ใฎใงใ™ใŒใ€\rใฏ=0Aใงใฏใชใใ€ใใฎใพใพ\rใง็ถญๆŒใ™ใ‚‹ใฎใŒๅ•้กŒใฎใ‚ˆใ†ใงใ€
mail libraryใฏใƒ‘ใƒผใ‚นๅ‰ใฎๅ‡ฆ็†ใซ\rใ‚’\r\nใซๅค‰ๆ›ใ™ใ‚‹ใจใ„ใ†ๅ‡ฆ็†ใ‚’ๅŠ ใˆใ‚‹ใฎใงใ™ใŒใ€ใใฎๆ™‚ใซ\rใŒ
\r\nใซๅค‰ๆ›ใ•ใ‚Œใ€ใ‚ชใƒชใ‚ธใƒŠใƒซใฎใƒใ‚คใƒŠใƒชใ‚’็ ดๅฃŠใ—ใฆใ—ใพใ†ใ“ใจใŒๅˆ†ใ‹ใ‚Šใพใ—ใŸใ€‚

<pre>
puts ["ใ‚ใ„ใ†ใˆใŠ\r\nใ‹ใใใ‘ใ“"].pack('M')
</pre>

ๅฎŸ่กŒ็ตๆžœ
<pre>
=E3=81=82=E3=81=84=E3=81=86=E3=81=88=E3=81=8A=0D
=E3=81=8B=E3=81=8D=E3=81=8F=E3=81=91=E3=81=93=
</pre>

Quoted-PrintableใซใŠใ„ใฆใฏใ€ใƒฌใ‚คใ‚ขใ‚ฆใƒˆใฎใŸใ‚ใฎๆ”น่กŒใฏ=\r\nใซใ™ใ‚‹ใ€ใจใ„ใ†ใ“ใจใŒๆฑบใพใฃใฆใ„ใ‚‹ใฎใงใ€
ใ“ใฎใ‚ˆใ†ใซ\nใŒๅ˜็‹ฌใงๆฎ‹ใ‚‹ใจใ„ใ†ใ“ใจใฏใชใ„ใ‚ˆใ†ใชๆฐ—ใŒใ™ใ‚‹ใฎใงใ™ใŒใ€ๆ˜จๅนดๆœซใซใพใคใ‚‚ใจใ•ใ‚“ใซใ”่ณชๅ•
ใ•ใ›ใฆใ„ใŸใ ใ„ใŸ้š›ใซPerlใฎๅฎŸ่ฃ…ใ‚’ๅ‚่€ƒใซใ—ใŸใ€ใจใ„ใ†ใ“ใจใ‚’ไผบใฃใŸใฎใงใ€Perlใซใคใ„ใฆใ‚‚่ชฟในใฆ
ใฟใŸใฎใงใ™ใŒใ€Perlใฏ$binmodeใจใ„ใ†ใƒ•ใƒฉใ‚ฐใงใ€ใƒใ‚คใƒŠใƒชๆ™‚ใฎๆŒ™ๅ‹•ใจๅˆ†ใ‘ใฆใ„ใ‚‹ใ‚ˆใ†ใงใ™ใ€‚

http://perldoc.perl.org/MIME/QuotedPrint.html
๏ผˆใ‚‚ใ—ใ‹ใ™ใ‚‹ใจใ€ๅ‚่€ƒใซใ—ใŸๅฎŸ่ฃ…ใจใฏ้–ขไฟ‚ใชใ„ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“๏ผ‰

ไปŠใ‹ใ‚‰pack('M')ใฎๆŒ™ๅ‹•ใ‚’ๅค‰ใˆใ‚‹ใจใ€ๅฝฑ้Ÿฟ็ฏ„ๅ›ฒใŒๅคงใใใ†ใชใฎใงใ€ใƒใ‚คใƒŠใƒชใ‚’Quoted-Printableใงใ‚จใƒณใ‚ณใƒผใƒ‰
ใ™ใ‚‹ใŸใ‚ใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใŒใ‚ใ‚Œใฐใ€ใ„ใ„ใจๆ€ใ†ใฎใงใ™ใŒใ€packใซใฉใ†ใ„ใ†ใ‚ชใƒ—ใ‚ทใƒงใƒณๅใ‚’ใคใ‘ใ‚Œใฐใ‚ˆใ„ใ‹ใ€
ใพใŸpack.cใฎqpencode้–ขๆ•ฐใซbinmode็”จใฎๆ‹กๅผตใ—ใฆใ‚‚่‰ฏใ„ใ‹ใ‚’ๅซใ‚ใฆใ”็›ธ่ซ‡ใ•ใ›ใฆใใ ใ•ใ„ใ€‚

ๅ‡บๆฅใ‚ŒใฐไปŠไฝฟใฃใฆใ„ใ‚‹rubyใฎใƒใƒผใ‚ธใƒงใƒณใฏ2.3ใจใ‹ใ ใฃใŸใ‚Šใ™ใ‚‹ใฎใงใ€2.3.x, 2.4.xใซใƒใƒƒใ‚ฏใƒใƒผใƒˆๅฏ่ƒฝใ‹ใฉใ†ใ‹ใ‚‚
ๅซใ‚ใฆ็›ธ่ซ‡ใ•ใ›ใฆใ‚‚ใ‚‰ใˆใ‚Œใฐใ€ใจๆ€ใ„ใพใ™ใ€‚







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

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next