mirror of
https://github.com/ruby/ruby.git
synced 2025-09-17 09:33:59 +02:00
merge revision(s) r46331: [Backport #9885]
* lib/net/imap.rb (body_type_1part): Gmail IMAP reports a body type as "MIXED" followed immediately by params [ruby-core:62864] [Bug #9885] Patch by @rayners (David Raynes). [Fixes GH-622] https://github.com/ruby/ruby/pull/622 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d681d9ce67
commit
dfba910f74
4 changed files with 28 additions and 1 deletions
|
@ -1,3 +1,11 @@
|
|||
Mon Jun 30 02:59:08 2014 Shugo Maeda <shugo@ruby-lang.org>
|
||||
|
||||
* lib/net/imap.rb (body_type_1part): Gmail IMAP reports a body
|
||||
type as "MIXED" followed immediately by params
|
||||
[ruby-core:62864] [Bug #9885]
|
||||
Patch by @rayners (David Raynes). [Fixes GH-622]
|
||||
https://github.com/ruby/ruby/pull/622
|
||||
|
||||
Mon Jun 30 02:46:44 2014 Rei Odaira <Rei.Odaira@gmail.com>
|
||||
|
||||
* signal.c (ruby_signal): should return either `old.sa_sigaction`
|
||||
|
|
|
@ -2372,6 +2372,8 @@ module Net
|
|||
return body_type_msg
|
||||
when /\A(?:ATTACHMENT)\z/ni
|
||||
return body_type_attachment
|
||||
when /\A(?:MIXED)\z/ni
|
||||
return body_type_mixed
|
||||
else
|
||||
return body_type_basic
|
||||
end
|
||||
|
@ -2454,6 +2456,13 @@ module Net
|
|||
return BodyTypeAttachment.new(mtype, nil, param)
|
||||
end
|
||||
|
||||
def body_type_mixed
|
||||
mtype = "MULTIPART"
|
||||
msubtype = case_insensitive_string
|
||||
param, disposition, language, extension = body_ext_mpart
|
||||
return BodyTypeBasic.new(mtype, msubtype, param, nil, nil, nil, nil, nil, disposition, language, extension)
|
||||
end
|
||||
|
||||
def body_type_mpart
|
||||
parts = []
|
||||
while true
|
||||
|
|
|
@ -248,4 +248,14 @@ EOF
|
|||
assert_equal("CAPABILITY", response.name)
|
||||
assert_equal("AUTH=PLAIN", response.data.last)
|
||||
end
|
||||
|
||||
def test_mixed_boundry
|
||||
parser = Net::IMAP::ResponseParser.new
|
||||
response = parser.parse("* 2688 FETCH (UID 179161 BODYSTRUCTURE ((\"TEXT\" \"PLAIN\" (\"CHARSET\" \"iso-8859-1\") NIL NIL \"QUOTED-PRINTABLE\" 200 4 NIL NIL NIL)(\"MESSAGE\" \"DELIVERY-STATUS\" NIL NIL NIL \"7BIT\" 318 NIL NIL NIL)(\"MESSAGE\" \"RFC822\" NIL NIL NIL \"7BIT\" 2177 (\"Tue, 11 May 2010 18:28:16 -0400\" \"Re: Welcome letter\" ((\"David\" NIL \"info\" \"xxxxxxxx.si\")) ((\"David\" NIL \"info\" \"xxxxxxxx.si\")) ((\"David\" NIL \"info\" \"xxxxxxxx.si\")) ((\"Doretha\" NIL \"doretha.info\" \"xxxxxxxx.si\")) NIL NIL \"<AC1D15E06EA82F47BDE18E851CC32F330717704E@localdomain>\" \"<AANLkTikKMev1I73L2E7XLjRs67IHrEkb23f7ZPmD4S_9@localdomain>\") (\"MIXED\" (\"BOUNDARY\" \"000e0cd29212e3e06a0486590ae2\") NIL NIL) 37 NIL NIL NIL) \"REPORT\" (\"BOUNDARY\" \"16DuG.4XbaNOvCi.9ggvq.8Ipnyp3\" \"REPORT-TYPE\" \"delivery-status\") NIL NIL))\r\n")
|
||||
empty_part = response.data.attr['BODYSTRUCTURE'].parts[2]
|
||||
assert_equal(empty_part.lines, 37)
|
||||
assert_equal(empty_part.body.media_type, 'MULTIPART')
|
||||
assert_equal(empty_part.body.subtype, 'MIXED')
|
||||
assert_equal(empty_part.body.param['BOUNDARY'], '000e0cd29212e3e06a0486590ae2')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#define RUBY_VERSION "2.1.2"
|
||||
#define RUBY_RELEASE_DATE "2014-06-30"
|
||||
#define RUBY_PATCHLEVEL 154
|
||||
#define RUBY_PATCHLEVEL 155
|
||||
|
||||
#define RUBY_RELEASE_YEAR 2014
|
||||
#define RUBY_RELEASE_MONTH 6
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue