diff options
author | ned <ned@appliedtrust.com> | 2014-11-23 20:03:05 +0100 |
---|---|---|
committer | ned <ned@appliedtrust.com> | 2014-11-23 20:03:05 +0100 |
commit | c43d537d5bb0eeb491153b00cdefcb54a6178187 (patch) | |
tree | 45187fde4a720d3f53d13ec45ac4fea8e27356e4 /README.md | |
parent | LDAP server support (diff) | |
download | ldap-c43d537d5bb0eeb491153b00cdefcb54a6178187.tar ldap-c43d537d5bb0eeb491153b00cdefcb54a6178187.tar.gz ldap-c43d537d5bb0eeb491153b00cdefcb54a6178187.tar.bz2 ldap-c43d537d5bb0eeb491153b00cdefcb54a6178187.tar.lz ldap-c43d537d5bb0eeb491153b00cdefcb54a6178187.tar.xz ldap-c43d537d5bb0eeb491153b00cdefcb54a6178187.tar.zst ldap-c43d537d5bb0eeb491153b00cdefcb54a6178187.zip |
Diffstat (limited to '')
-rw-r--r-- | README.md | 16 |
1 files changed, 4 insertions, 12 deletions
@@ -54,7 +54,7 @@ searchResults, err := l.Search(search) The server library is modeled after net/http - you designate handlers for the LDAP operations you want to support (Bind/Search/etc.), then start the server with ListenAndServe(). You can specify different handlers for different baseDNs - they must implement the interfaces of the operations you want to support: ```go type Binder interface { - Bind(bindDN, bindSimplePw string, conn net.Conn) (uint64, error) + Bind(bindDN, bindSimplePw string, conn net.Conn) (LDAPResultCode, error) } type Searcher interface { Search(boundDN string, searchReq SearchRequest, conn net.Conn) (ServerSearchResult, error) @@ -76,7 +76,7 @@ func main() { } type ldapHandler struct { } -func (h ldapHandler) Bind(bindDN, bindSimplePw string, conn net.Conn) (uint64, error) { +func (h ldapHandler) Bind(bindDN, bindSimplePw string, conn net.Conn) (ldap.LDAPResultCode, error) { if bindDN == "" && bindSimplePw == "" { return ldap.LDAPResultSuccess, nil } @@ -89,25 +89,17 @@ func (h ldapHandler) Bind(bindDN, bindSimplePw string, conn net.Conn) (uint64, e ### LDAP server examples: * examples/server.go: **Basic LDAP authentication (bind and search only)** * examples/proxy.go: **Simple LDAP proxy server.** -* server_test: **The tests have examples of all server functions.** - -*Warning: Do not use the example SSL certificates in production!* +* server_test.go: **The _test.go files have examples of all server functions.** ### Known limitations: * Golang's TLS implementation does not support SSLv2. Some old OSs require SSLv2, and are not able to connect to an LDAP server created with this library's ListenAndServeTLS() function. If you *must* support legacy (read: *insecure*) SSLv2 clients, run your LDAP server behind HAProxy. ### Not implemented: -All of [RFC4510](http://tools.ietf.org/html/rfc4510) is implemented **except**: -* 4.1.11. Controls +From the server perspective, all of [RFC4510](http://tools.ietf.org/html/rfc4510) is implemented **except**: * 4.5.1.3. SearchRequest.derefAliases * 4.5.1.5. SearchRequest.timeLimit * 4.5.1.6. SearchRequest.typesOnly -* 4.6. Modify Operation -* 4.7. Add Operation -* 4.8. Delete Operation -* 4.9. Modify DN Operation -* 4.10. Compare Operation * 4.14. StartTLS Operation *Server library by: [nmcclain](https://github.com/nmcclain)* |