Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/go-ldap/ldap
Basic LDAP v3 functionality for the GO programming language.
https://github.com/go-ldap/ldap
Last synced: 2 days ago
JSON representation
Basic LDAP v3 functionality for the GO programming language.
- Host: GitHub
- URL: https://github.com/go-ldap/ldap
- Owner: go-ldap
- License: other
- Created: 2014-10-16T00:33:17.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-31T14:56:29.000Z (about 1 month ago)
- Last Synced: 2024-12-08T11:45:31.259Z (4 days ago)
- Language: Go
- Homepage:
- Size: 500 KB
- Stars: 2,261
- Watchers: 45
- Forks: 354
- Open Issues: 68
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- go-awesome - go-ldap
- cybersecurity-golang-security - ldap - Basic LDAP v3 functionality for the GO programming language. (Windows Specific)
- awesome-go-security - ldap - Basic LDAP v3 functionality for the GO programming language. (Windows Specific)
README
[![GoDoc](https://godoc.org/github.com/go-ldap/ldap?status.svg)](https://godoc.org/github.com/go-ldap/ldap)
# Basic LDAP v3 functionality for the GO programming language.
The library implements the following specifications:
- https://datatracker.ietf.org/doc/html/rfc4511 for basic operations
- https://datatracker.ietf.org/doc/html/rfc3062 for password modify operation
- https://datatracker.ietf.org/doc/html/rfc4514 for distinguished names parsing
- https://datatracker.ietf.org/doc/html/rfc4533 for Content Synchronization Operation
- https://datatracker.ietf.org/doc/html/draft-armijo-ldap-treedelete-02 for Tree Delete Control
- https://datatracker.ietf.org/doc/html/rfc2891 for Server Side Sorting of Search Results
- https://datatracker.ietf.org/doc/html/rfc4532 for WhoAmI requests## Features:
- Connecting to LDAP server (non-TLS, TLS, STARTTLS, through a custom dialer)
- Binding to LDAP server (Simple Bind, GSSAPI, SASL)
- "Who Am I" Requests / Responses
- Searching for entries (normal and asynchronous)
- Filter Compile / Decompile
- Paging Search Results
- Modify Requests / Responses
- Add Requests / Responses
- Delete Requests / Responses
- Modify DN Requests / Responses## Go Modules:
`go get github.com/go-ldap/ldap/v3`
As go-ldap was v2+ when Go Modules came out, updating to Go Modules would be considered a breaking change.
To maintain backwards compatability, we ultimately decided to use subfolders (as v3 was already a branch).
Whilst this duplicates the code, we can move toward implementing a backwards-compatible versioning system that allows for code reuse.
The alternative would be to increment the version number, however we believe that this would confuse users as v3 is in line with LDAPv3 (RFC-4511)
https://tools.ietf.org/html/rfc4511For more info, please visit the pull request that updated to modules.
https://github.com/go-ldap/ldap/pull/247To install with `GOMODULE111=off`, use `go get github.com/go-ldap/ldap`
https://golang.org/cmd/go/#hdr-Legacy_GOPATH_go_getAs always, we are looking for contributors with great ideas on how to best move forward.
## Contributing:
Bug reports and pull requests are welcome!
Before submitting a pull request, please make sure tests and verification scripts pass:
```
make all
```To set up a pre-push hook to run the tests and verify scripts before pushing:
```
ln -s ../../.githooks/pre-push .git/hooks/pre-push
```---
The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/)
The design is licensed under the Creative Commons 3.0 Attributions license.
Read this article for more details: http://blog.golang.org/gopher