aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/net/ftp.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb
index 60a59511ff..0ecd9a7e4f 100644
--- a/lib/net/ftp.rb
+++ b/lib/net/ftp.rb
@@ -1281,7 +1281,7 @@ module Net
def close
if @sock and not @sock.closed?
begin
- @bare_sock.shutdown(Socket::SHUT_WR) rescue nil
+ @sock.shutdown(Socket::SHUT_WR) rescue nil
orig, self.read_timeout = self.read_timeout, 3
@sock.read rescue nil
ensure
@@ -1404,6 +1404,10 @@ module Net
end
def shutdown(*args)
+ if @io.respond_to?(:stop)
+ # shut down the TLS connection gracefully.
+ @io.stop
+ end
@io.to_io.shutdown(*args)
end