Documentation
¶
Index ¶
- Constants
- Variables
- func CompileFilter(filter string) (*ber.Packet, error)
- func DecompileFilter(packet *ber.Packet) (ret string, err error)
- func HandleSearchRequest(req *ber.Packet, controls *[]ldap.Control, messageID int64, boundDN string, ...) (doneControls *[]ldap.Control, resultErr error)
- type Binder
- type Closer
- type LDAPResultCode
- func HandleBindRequest(req *ber.Packet, fns map[string]Binder, conn net.Conn) (resultCode LDAPResultCode)
- func ServerApplyFilter(f *ber.Packet, entry *ldap.Entry) (bool, LDAPResultCode)
- func ServerFilterAttributes(attributes []string, entry *ldap.Entry) (LDAPResultCode, error)
- func ServerFilterScope(baseDN string, scope int, entry *ldap.Entry) (bool, LDAPResultCode)
- type Searcher
- type Server
- func (server *Server) BindFunc(baseDN string, f Binder)
- func (server *Server) CloseFunc(baseDN string, f Closer)
- func (server *Server) GetStats() Stats
- func (server *Server) ListenAndServe(listenString string) error
- func (server *Server) ListenAndServeTLS(listenString string, certFile string, keyFile string) error
- func (server *Server) QuitChannel(quit chan bool)
- func (server *Server) SearchFunc(baseDN string, f Searcher)
- func (server *Server) Serve(ln net.Listener) error
- func (server *Server) SetStats(enable bool)
- type ServerSearchResult
- type Stats
Constants ¶
View Source
const ( FilterAnd = 0 FilterOr = 1 FilterNot = 2 FilterEqualityMatch = 3 FilterSubstrings = 4 FilterGreaterOrEqual = 5 FilterLessOrEqual = 6 FilterPresent = 7 FilterApproxMatch = 8 FilterExtensibleMatch = 9 )
View Source
const ( FilterSubstringsInitial = 0 FilterSubstringsAny = 1 FilterSubstringsFinal = 2 )
View Source
const ( LDAPBindAuthSimple = 0 LDAPBindAuthSASL = 3 )
Variables ¶
View Source
var FilterMap = map[uint8]string{ FilterAnd: "And", FilterOr: "Or", FilterNot: "Not", FilterEqualityMatch: "Equality Match", FilterSubstrings: "Substrings", FilterGreaterOrEqual: "Greater Or Equal", FilterLessOrEqual: "Less Or Equal", FilterPresent: "Present", FilterApproxMatch: "Approx Match", FilterExtensibleMatch: "Extensible Match", }
Functions ¶
func CompileFilter ¶
func DecompileFilter ¶
Types ¶
type Binder ¶
type Binder interface {
Bind(bindDN, bindSimplePw string, conn net.Conn) (LDAPResultCode, error)
}
type LDAPResultCode ¶
type LDAPResultCode uint8
func HandleBindRequest ¶
func HandleBindRequest(req *ber.Packet, fns map[string]Binder, conn net.Conn) (resultCode LDAPResultCode)
func ServerApplyFilter ¶
func ServerApplyFilter(f *ber.Packet, entry *ldap.Entry) (bool, LDAPResultCode)
func ServerFilterAttributes ¶
func ServerFilterAttributes(attributes []string, entry *ldap.Entry) (LDAPResultCode, error)
func ServerFilterScope ¶
type Searcher ¶
type Searcher interface {
Search(boundDN string, req *ldap.SearchRequest, conn net.Conn) (ServerSearchResult, error)
}
type Server ¶
type Server struct {
BindFns map[string]Binder
SearchFns map[string]Searcher
CloseFns map[string]Closer
Quit chan bool
EnforceLDAP bool
Stats *Stats
}
func (*Server) ListenAndServe ¶
func (*Server) ListenAndServeTLS ¶
func (*Server) QuitChannel ¶
func (*Server) SearchFunc ¶
type ServerSearchResult ¶
Click to show internal directories.
Click to hide internal directories.