* 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
@ -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>
|
Fri Mar 16 13:50:12 2012 Shugo Maeda <shugo@ruby-lang.org>
|
||||||
|
|
||||||
* lib/net/imap.rb (rfc822_text): ignore [] after RFC822.
|
* lib/net/imap.rb (rfc822_text): ignore [] after RFC822.
|
||||||
|
@ -1065,6 +1065,10 @@ module Net
|
|||||||
@exception = nil
|
@exception = nil
|
||||||
|
|
||||||
@greeting = get_response
|
@greeting = get_response
|
||||||
|
if @greeting.nil?
|
||||||
|
@sock.close
|
||||||
|
raise Error, "connection closed"
|
||||||
|
end
|
||||||
if @greeting.name == "BYE"
|
if @greeting.name == "BYE"
|
||||||
@sock.close
|
@sock.close
|
||||||
raise ByeResponseError, @greeting
|
raise ByeResponseError, @greeting
|
||||||
|
@ -418,6 +418,25 @@ class IMAPTest < Test::Unit::TestCase
|
|||||||
end
|
end
|
||||||
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
|
def test_default_port
|
||||||
assert_equal(143, Net::IMAP.default_port)
|
assert_equal(143, Net::IMAP.default_port)
|
||||||
assert_equal(143, Net::IMAP.default_imap_port)
|
assert_equal(143, Net::IMAP.default_imap_port)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user