1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/net/imap.rb (initialize): raise Net::IMAP::Error when the

connection is closed without a greeting response.
  [ruby-core:40938] [Bug #5616]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shugo 2012-03-16 05:12:39 +00:00
parent ed07df5ab5
commit 6853b44a92
3 changed files with 29 additions and 0 deletions

View file

@ -1,3 +1,9 @@
Fri Mar 16 14:10:45 2012 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/imap.rb (initialize): raise Net::IMAP::Error when the
connection is closed without a greeting response.
[ruby-core:40938] [Bug #5616]
Fri Mar 16 13:50:12 2012 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/imap.rb (rfc822_text): ignore [] after RFC822.

View file

@ -1065,6 +1065,10 @@ module Net
@exception = nil
@greeting = get_response
if @greeting.nil?
@sock.close
raise Error, "connection closed"
end
if @greeting.name == "BYE"
@sock.close
raise ByeResponseError, @greeting

View file

@ -418,6 +418,25 @@ class IMAPTest < Test::Unit::TestCase
end
end
def test_connection_closed_without_greeting
server = create_tcp_server
port = server.addr[1]
Thread.start do
begin
sock = server.accept
sock.close
rescue
end
end
begin
assert_raise(Net::IMAP::Error) do
Net::IMAP.new(SERVER_ADDR, :port => port)
end
ensure
server.close
end
end
def test_default_port
assert_equal(143, Net::IMAP.default_port)
assert_equal(143, Net::IMAP.default_imap_port)