def Base.connect(config={})
      
      
      
      @@config = DEFAULT_CONFIG.dup
      config.keys.each do |key|
        case key
        when :base
          
          base = config[:base].gsub(/['}{#]/, '')
          Base.class_eval("def Base.base();'#{base}';end")
        when :ldap_scope
          if config[:ldap_scope].class != Fixnum
            raise ConfigurationError, ':ldap_scope must be a Fixnum'
          end
          Base.class_eval("def Base.ldap_scope();#{config[:ldap_scope]};end")
        else
          @@config[key] = config[key]
        end
      end
      
      @@logger = @@config[:logger] || nil
      
      if @@logger.nil?
        @@logger = Log4r::Logger.new('activeldap')
        @@logger.level = Log4r::OFF
        Log4r::StderrOutputter.new 'console'
        @@logger.add('console')
      end
      
      @@reconnect_attempts = 0
      
      do_connect()
      
      return true
    end