Class: Net::LDAP::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/net/ldap/connection.rb

Class Method Summary collapse

Class Method Details

.wrap_with_ssl(io) ⇒ Object

Public: Monkey patch to ensure SSL certificates aren’t verified

Raises:

  • (Net::LDAP::LdapError)


6
7
8
9
10
11
12
13
14
15
# File 'lib/net/ldap/connection.rb', line 6

def self.wrap_with_ssl(io)
  raise Net::LDAP::LdapError, "OpenSSL is unavailable" unless Net::LDAP::HasOpenSSL
  ctx = OpenSSL::SSL::SSLContext.new
  ctx.verify_mode = OpenSSL::SSL::VERIFY_NONE
  conn = OpenSSL::SSL::SSLSocket.new(io, ctx)
  conn.connect
  conn.sync_close = true
  conn.extend(GetbyteForSSLSocket) unless conn.respond_to?(:getbyte)
  conn
end