class Bizside::ImplicitFTPS

Constants

FTP_PORT

Public Instance Methods

connect(host, port = FTP_PORT) click to toggle source
# File lib/bizside/implicit_ftps.rb, line 10
def connect(host, port = FTP_PORT)
  synchronize do
    @host = host
    @bare_sock = open_socket(host, port)
    begin
      ssl_sock = start_tls_session(Socket.tcp(host, port))
      @sock = BufferedSSLSocket.new(ssl_sock, read_timeout: @read_timeout)
      voidresp
      if @private_data_connection
        voidcmd("PBSZ 0")
        voidcmd("PROT P")
      end
    rescue OpenSSL::SSL::SSLError, Net::OpenTimeout
      @sock.close
      raise
    end
  end
end