Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more
Object
# File openssl/lib/openssl/ssl.rb, line 248
def initialize(svr, ctx)
@svr = svr
@ctx = ctx
unless ctx.session_id_context
# see #6137 - session id may not exceed 32 bytes
prng = ::Random.new($0.hash)
session_id = prng.bytes(16).unpack('H*')[0]
@ctx.session_id_context = session_id
end
@start_immediately = true
end
# File openssl/lib/openssl/ssl.rb, line 272
def accept
# Socket#accept returns [socket, addrinfo].
# TCPServer#accept returns a socket.
# The following comma strips addrinfo.
sock, = @svr.accept
begin
ssl = OpenSSL::SSL::SSLSocket.new(sock, @ctx)
ssl.sync_close = true
ssl.accept if @start_immediately
ssl
rescue SSLError => ex
sock.close
raise ex
end
end
# File openssl/lib/openssl/ssl.rb, line 264
def listen(backlog=5)
@svr.listen(backlog)
end