class Openas2::Remote::Connection

Attributes

socket[RW]
ssl_context[RW]
ssl_socket[RW]

Public Class Methods

new(host='localhost', port=4321, ciphers=[]) click to toggle source
# File lib/openas2/remote/connection.rb, line 10
def initialize(host='localhost', port=4321, ciphers=[])
  @socket = TCPSocket.new(host, port)
  @ssl_context = OpenSSL::SSL::SSLContext.new

  if OpenSSL::OPENSSL_VERSION.match('1.1')
    ciphers << ["ADH-AES256-SHA@SECLEVEL=0", "TLSv1/SSLv3", 256, 256]
  else
    ciphers << ["ADH-AES256-SHA", "TLSv1/SSLv3", 256, 256]
  end

  @ssl_context.ciphers = ciphers
  @ssl_context.max_version = OpenSSL::SSL::TLS1_2_VERSION
end

Public Instance Methods

close() click to toggle source
# File lib/openas2/remote/connection.rb, line 42
def close
  @ssl_socket.close
end
connect() click to toggle source
# File lib/openas2/remote/connection.rb, line 24
def connect
  @ssl_socket = OpenSSL::SSL::SSLSocket.new(@socket, @ssl_context)
  @ssl_socket.sync_close = true
  @ssl_socket.connect
end
gets() click to toggle source
# File lib/openas2/remote/connection.rb, line 38
def gets
  @ssl_socket.gets
end
puts(s) click to toggle source
# File lib/openas2/remote/connection.rb, line 34
def puts(s)
  @ssl_socket.puts(s)
end
readlines() click to toggle source
# File lib/openas2/remote/connection.rb, line 30
def readlines
  @ssl_socket.readlines
end