From: "adantel (Alex Filatau)" Date: 2013-04-17T08:36:50+09:00 Subject: [ruby-core:54367] [ruby-trunk - Bug #8281] Net::IMAP can't parse response to the IMAP SETACL command correctly Issue #8281 has been updated by adantel (Alex Filatau). It looks like the problem is in method getacl_response. Someone removed "mailbox = astring" line from there dot fixing the consequences. Returning this line back makes code happy and the response_untagged gets correct Net::IMAP::UntaggedResponse with non empty data attribute for ACL commands. That's the in fact done in the following commit https://github.com/ruby/ruby/commit/f3e35474078895e1d178e15cfbfc6743f9ffc62d#lib/net/imap.rb mailbox variable is not used indeed, but the astring is doing one lookahead call, that shifts focus to the next token, and that's expected by future code. ---------------------------------------- Bug #8281: Net::IMAP can't parse response to the IMAP SETACL command correctly https://bugs.ruby-lang.org/issues/8281#change-38641 Author: adantel (Alex Filatau) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: 2.0.0 Found in ruby-2.0.0-p0 I'm working right now on upgrade of our test system from ruby 1.9.2 to ruby 2.0.0. Unfortunately, one of the test scripts that works flawlessly with ruby 1.9.2 is failing when trying to parse response of GETACL command. See the debug of the session below: C: RUBY0002 CREATE INBOX/share S: RUBY0002 OK CREATE completed C: RUBY0003 SETACL INBOX/share imshare1copy1366146467@xxxxxxxxxxxxxxxxxx.com lrswickxteda S: RUBY0003 OK SETACL completed C: RUBY0004 GETACL INBOX/share S: * ACL "INBOX/share" "imshare2copy1366146467@xxxxxxxxxxxxxxxxxx.com" lrswickxteda "imshare1copy1366146467@xxxxxxxxxxxxxxxxxx.com" lrswickxteda @str: "* ACL \"INBOX/share\" \"imshare2copy1366146467@xxxxxxxxxxxxxxxxxx.com\" lrswickxteda \"imshare1copy1366146467@xxxxxxxxxxxxxxxxxx.com\" lrswickxteda\r\n" @pos: 19 @lex_state: EXPR_BEG @token.symbol: QUOTED @token.value: "INBOX/share" # /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/imap.rb:3363:in `parse_error' /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/imap.rb:3215:in `match' /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/imap.rb:2136:in `response' /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/imap.rb:2058:in `parse' /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/imap.rb:1181:in `get_response' /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/imap.rb:1089:in `receive_responses' /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/imap.rb:1075:in `block in initialize' Please note, the same piece is working fine with ruby 1.9.2 -- http://bugs.ruby-lang.org/