From 2bfe339ae1e19db1e93e08b01b93b187d8094864 Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 14 May 2013 02:36:47 +0000 Subject: merge revision(s) 40419: [Backport #8281] * lib/net/imap.rb (getacl_response): parse the mailbox of an ACL response correctly. [ruby-core:54365] [Bug #8281] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@40718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/net/imap.rb | 6 +++--- test/net/imap/test_imap_response_parser.rb | 14 ++++++++++++++ version.h | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bbcdfdab22..a433a9bec5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue May 14 11:36:22 2013 Shugo Maeda + + * lib/net/imap.rb (getacl_response): parse the mailbox of an ACL + response correctly. [ruby-core:54365] [Bug #8281] + Tue May 14 11:24:22 2013 Martin Bosslet * ext/openssl/ossl_ssl.c: Correct shutdown behavior w.r.t GC. diff --git a/lib/net/imap.rb b/lib/net/imap.rb index e0815a1892..794e82328e 100644 --- a/lib/net/imap.rb +++ b/lib/net/imap.rb @@ -1725,7 +1725,7 @@ module Net # rights:: The access rights the indicated user has to the # mailbox. # - MailboxACLItem = Struct.new(:user, :rights) + MailboxACLItem = Struct.new(:user, :rights, :mailbox) # Net::IMAP::StatusData represents contents of the STATUS response. # @@ -2722,6 +2722,7 @@ module Net token = match(T_ATOM) name = token.value.upcase match(T_SPACE) + mailbox = astring data = [] token = lookahead if token.symbol == T_SPACE @@ -2737,8 +2738,7 @@ module Net user = astring match(T_SPACE) rights = astring - ##XXX data.push([user, rights]) - data.push(MailboxACLItem.new(user, rights)) + data.push(MailboxACLItem.new(user, rights, mailbox)) end end return UntaggedResponse.new(name, data, @str) diff --git a/test/net/imap/test_imap_response_parser.rb b/test/net/imap/test_imap_response_parser.rb index 6a5a117408..d1bda45d84 100644 --- a/test/net/imap/test_imap_response_parser.rb +++ b/test/net/imap/test_imap_response_parser.rb @@ -116,4 +116,18 @@ EOF * 1 FETCH (UID 92285 ) EOF end + + # [Bug #8281] + def test_acl + parser = Net::IMAP::ResponseParser.new + response = parser.parse(<