/ldap

Basic LDAP v3 functionality for the GO programming language.

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Basic LDAP v3 functionality for the GO programming language.  

Most features are used in the test files. ldaplocal_test.go tests
most new features.

Required Librarys: 
   github.com/mavricknz/asn1-ber

Working:
   Connecting to LDAP server
   Binding to LDAP server
   Searching for entries
   Compiling string filters to LDAP filters
   Paging Search Results
   Mulitple internal goroutines to handle network traffic
      Makes library goroutine safe
      Can perform multiple search requests at the same time and return
         the results to the proper goroutine.  All requests are blocking
         requests, so the goroutine does not need special handling
   Request Controls - MatchedValuesRequest, PermissiveModifyRequest,
      ManageDsaITRequest, SubtreeDeleteRequest, Paging, ServerSideSort
   
Tests Implemented:
   Filter Compile / Decompile
   Local OpenDJ Tests for most Operations

Experimental:
   LDIF Reader - LDIF entries only (~16k entries/sec)
   Some limited documentation

TODO:
   LDIF Reader - mods/adds/deletes/...
   Test to not depend on initial Directory setup
   Do something with binary attributes.
   FilterExtensibleMatch Decode
   Modify DN Requests / Responses
   Implement Tests / Benchmarks
   Timeouts (connect Go 1.1?), Timeout Operations.