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:
parent
ed07df5ab5
commit
6853b44a92
3 changed files with 29 additions and 0 deletions
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue