ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:86933] [Ruby trunk Bug#14741] [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages
       [not found] <redmine.issue-14741.20180508014547@ruby-lang.org>
@ 2018-05-08  1:45 ` michaeledmoore
  2018-05-08  2:05 ` [ruby-core:86934] " shyouhei
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 4+ messages in thread
From: michaeledmoore @ 2018-05-08  1:45 UTC (permalink / raw
  To: ruby-core

Issue #14741 has been reported by uhrohraggy (Michael Moore).

----------------------------------------
Bug #14741: [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages
https://bugs.ruby-lang.org/issues/14741

* Author: uhrohraggy (Michael Moore)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 2.5.1p57
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
Important
You should contain at least the following items.

Reproduce process
your ruby version (ruby -v)
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

~~~ ruby
rails c
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccc'].pack('M')
 => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\nbbbbbbbbcccc=\n"
~~~
 


Result of reproduce process:
Expected result and the reason why you expect:
Based on my (likely incorrect understanding of https://www.ietf.org/rfc/rfc2045.txt which [].pack('M') should be compliant with, all newlines should be formatted as CRLF and should only exist together, not separately. Relevant lines:

> 2.1.  CRLF
> 
> The term CRLF, in this set of documents, refers to the sequence of
> octets corresponding to the two US-ASCII characters CR (decimal value
> 13) and LF (decimal value 10) which, taken together, in this order,
> denote a line break in RFC 822 mail.
> 
> 2.7.  7bit Data
> 
> "7bit data" refers to data that is all represented as relatively
> short lines with 998 octets or less between CRLF line separation
> sequences [RFC-821].  No octets with decimal values greater than 127
> are allowed and neither are NULs (octets with decimal value 0).  CR
> (decimal value 13) and LF (decimal value 10) octets only occur as
> part of CRLF line separation sequences.
> 
> 2.8.  8bit Data
> 
> "8bit data" refers to data that is all represented as relatively
> short lines with 998 octets or less between CRLF line separation
> sequences [RFC-821]), but octets with decimal values greater than 127
> may be used.  As with "7bit data" CR and LF octets only occur as part
> of CRLF line separation sequences and no NULs are allowed.
> 
> 
> 2.10.  Lines
> 
> "Lines" are defined as sequences of octets separated by a CRLF
> sequences.  This is consistent with both RFC 821 and RFC 822.
> "Lines" only refers to a unit of data in a message, which may or may
> not correspond to something that is actually displayed by a user
> agent.
> 

Expected escaped sequence would be:
~~~ ruby
rails c
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccc'].pack('M')
 => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\r\nbbbbbbbbcccc=\r\n"
~~~




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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ruby-core:86934] [Ruby trunk Bug#14741] [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages
       [not found] <redmine.issue-14741.20180508014547@ruby-lang.org>
  2018-05-08  1:45 ` [ruby-core:86933] [Ruby trunk Bug#14741] [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages michaeledmoore
@ 2018-05-08  2:05 ` shyouhei
  2018-05-08 12:48 ` [ruby-core:86947] " michaeledmoore
  2018-05-09 20:06 ` [ruby-core:86957] " shevegen
  3 siblings, 0 replies; 4+ messages in thread
From: shyouhei @ 2018-05-08  2:05 UTC (permalink / raw
  To: ruby-core

Issue #14741 has been updated by shyouhei (Shyouhei Urabe).


See also issue #14352.  We have decided to reject this change.  The behaviour is now documented.

To those who don't read Japanese let me summarize:  Ruby's pack behabiour was from Perl's and Perl also don't emit CRLF.  This is supposedly because in UNIX variants, emails are written in LF only and, to convert them to CRLF is done in sendmail(1).  We don't want to break things here.

----------------------------------------
Bug #14741: [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages
https://bugs.ruby-lang.org/issues/14741#change-71901

* Author: uhrohraggy (Michael Moore)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 2.5.1p57
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
Important
You should contain at least the following items.

Reproduce process
your ruby version (ruby -v)
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

~~~ ruby
rails c
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccc'].pack('M')
 => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\nbbbbbbbbcccc=\n"
~~~
 


Result of reproduce process:
Expected result and the reason why you expect:
Based on my (likely incorrect understanding of https://www.ietf.org/rfc/rfc2045.txt which [].pack('M') should be compliant with, all newlines should be formatted as CRLF and should only exist together, not separately. Relevant lines:

> 2.1.  CRLF
> 
> The term CRLF, in this set of documents, refers to the sequence of
> octets corresponding to the two US-ASCII characters CR (decimal value
> 13) and LF (decimal value 10) which, taken together, in this order,
> denote a line break in RFC 822 mail.
> 
> 2.7.  7bit Data
> 
> "7bit data" refers to data that is all represented as relatively
> short lines with 998 octets or less between CRLF line separation
> sequences [RFC-821].  No octets with decimal values greater than 127
> are allowed and neither are NULs (octets with decimal value 0).  CR
> (decimal value 13) and LF (decimal value 10) octets only occur as
> part of CRLF line separation sequences.
> 
> 2.8.  8bit Data
> 
> "8bit data" refers to data that is all represented as relatively
> short lines with 998 octets or less between CRLF line separation
> sequences [RFC-821]), but octets with decimal values greater than 127
> may be used.  As with "7bit data" CR and LF octets only occur as part
> of CRLF line separation sequences and no NULs are allowed.
> 
> 
> 2.10.  Lines
> 
> "Lines" are defined as sequences of octets separated by a CRLF
> sequences.  This is consistent with both RFC 821 and RFC 822.
> "Lines" only refers to a unit of data in a message, which may or may
> not correspond to something that is actually displayed by a user
> agent.
> 

Expected escaped sequence would be:
~~~ ruby
rails c
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccc'].pack('M')
 => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\r\nbbbbbbbbcccc=\r\n"
~~~




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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ruby-core:86947] [Ruby trunk Bug#14741] [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages
       [not found] <redmine.issue-14741.20180508014547@ruby-lang.org>
  2018-05-08  1:45 ` [ruby-core:86933] [Ruby trunk Bug#14741] [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages michaeledmoore
  2018-05-08  2:05 ` [ruby-core:86934] " shyouhei
@ 2018-05-08 12:48 ` michaeledmoore
  2018-05-09 20:06 ` [ruby-core:86957] " shevegen
  3 siblings, 0 replies; 4+ messages in thread
From: michaeledmoore @ 2018-05-08 12:48 UTC (permalink / raw
  To: ruby-core

Issue #14741 has been updated by uhrohraggy (Michael Moore).


shyouhei (Shyouhei Urabe) wrote:
> See also issue #14352.  We have decided to reject this change.  The behaviour is now documented.
> 
> To those who don't read Japanese let me summarize:  Ruby's pack behabiour was from Perl's and Perl also don't emit CRLF.  This is supposedly because in UNIX variants, emails are written in LF only and, to convert them to CRLF is done in sendmail(1).  We don't want to break things here.

Understood, thanks shyouhei! Love how helpful the Ruby community is.

----------------------------------------
Bug #14741: [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages
https://bugs.ruby-lang.org/issues/14741#change-71914

* Author: uhrohraggy (Michael Moore)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 2.5.1p57
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
Important
You should contain at least the following items.

Reproduce process
your ruby version (ruby -v)
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

~~~ ruby
rails c
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccc'].pack('M')
 => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\nbbbbbbbbcccc=\n"
~~~
 


Result of reproduce process:
Expected result and the reason why you expect:
Based on my (likely incorrect understanding of https://www.ietf.org/rfc/rfc2045.txt which [].pack('M') should be compliant with, all newlines should be formatted as CRLF and should only exist together, not separately. Relevant lines:

> 2.1.  CRLF
> 
> The term CRLF, in this set of documents, refers to the sequence of
> octets corresponding to the two US-ASCII characters CR (decimal value
> 13) and LF (decimal value 10) which, taken together, in this order,
> denote a line break in RFC 822 mail.
> 
> 2.7.  7bit Data
> 
> "7bit data" refers to data that is all represented as relatively
> short lines with 998 octets or less between CRLF line separation
> sequences [RFC-821].  No octets with decimal values greater than 127
> are allowed and neither are NULs (octets with decimal value 0).  CR
> (decimal value 13) and LF (decimal value 10) octets only occur as
> part of CRLF line separation sequences.
> 
> 2.8.  8bit Data
> 
> "8bit data" refers to data that is all represented as relatively
> short lines with 998 octets or less between CRLF line separation
> sequences [RFC-821]), but octets with decimal values greater than 127
> may be used.  As with "7bit data" CR and LF octets only occur as part
> of CRLF line separation sequences and no NULs are allowed.
> 
> 
> 2.10.  Lines
> 
> "Lines" are defined as sequences of octets separated by a CRLF
> sequences.  This is consistent with both RFC 821 and RFC 822.
> "Lines" only refers to a unit of data in a message, which may or may
> not correspond to something that is actually displayed by a user
> agent.
> 

Expected escaped sequence would be:
~~~ ruby
rails c
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccc'].pack('M')
 => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\r\nbbbbbbbbcccc=\r\n"
~~~




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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ruby-core:86957] [Ruby trunk Bug#14741] [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages
       [not found] <redmine.issue-14741.20180508014547@ruby-lang.org>
                   ` (2 preceding siblings ...)
  2018-05-08 12:48 ` [ruby-core:86947] " michaeledmoore
@ 2018-05-09 20:06 ` shevegen
  3 siblings, 0 replies; 4+ messages in thread
From: shevegen @ 2018-05-09 20:06 UTC (permalink / raw
  To: ruby-core

Issue #14741 has been updated by shevegen (Robert A. Heiler).


> To those who don't read Japanese let me summarize:

Thanks for the summary in english, shyouhei!

----------------------------------------
Bug #14741: [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages
https://bugs.ruby-lang.org/issues/14741#change-71921

* Author: uhrohraggy (Michael Moore)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 2.5.1p57
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
Important
You should contain at least the following items.

Reproduce process
your ruby version (ruby -v)
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

~~~ ruby
rails c
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccc'].pack('M')
 => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\nbbbbbbbbcccc=\n"
~~~
 


Result of reproduce process:
Expected result and the reason why you expect:
Based on my (likely incorrect understanding of https://www.ietf.org/rfc/rfc2045.txt which [].pack('M') should be compliant with, all newlines should be formatted as CRLF and should only exist together, not separately. Relevant lines:

> 2.1.  CRLF
> 
> The term CRLF, in this set of documents, refers to the sequence of
> octets corresponding to the two US-ASCII characters CR (decimal value
> 13) and LF (decimal value 10) which, taken together, in this order,
> denote a line break in RFC 822 mail.
> 
> 2.7.  7bit Data
> 
> "7bit data" refers to data that is all represented as relatively
> short lines with 998 octets or less between CRLF line separation
> sequences [RFC-821].  No octets with decimal values greater than 127
> are allowed and neither are NULs (octets with decimal value 0).  CR
> (decimal value 13) and LF (decimal value 10) octets only occur as
> part of CRLF line separation sequences.
> 
> 2.8.  8bit Data
> 
> "8bit data" refers to data that is all represented as relatively
> short lines with 998 octets or less between CRLF line separation
> sequences [RFC-821]), but octets with decimal values greater than 127
> may be used.  As with "7bit data" CR and LF octets only occur as part
> of CRLF line separation sequences and no NULs are allowed.
> 
> 
> 2.10.  Lines
> 
> "Lines" are defined as sequences of octets separated by a CRLF
> sequences.  This is consistent with both RFC 821 and RFC 822.
> "Lines" only refers to a unit of data in a message, which may or may
> not correspond to something that is actually displayed by a user
> agent.
> 

Expected escaped sequence would be:
~~~ ruby
rails c
['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccc'].pack('M')
 => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\r\nbbbbbbbbcccc=\r\n"
~~~




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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-09 20:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <redmine.issue-14741.20180508014547@ruby-lang.org>
2018-05-08  1:45 ` [ruby-core:86933] [Ruby trunk Bug#14741] [].pack('M') quoted printable RFC2045 contains only LF, does not contain CRLF, Messages michaeledmoore
2018-05-08  2:05 ` [ruby-core:86934] " shyouhei
2018-05-08 12:48 ` [ruby-core:86947] " michaeledmoore
2018-05-09 20:06 ` [ruby-core:86957] " shevegen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).