...
1 package ldap
2
3 import (
4 "context"
5 "crypto/tls"
6 "time"
7 )
8
9
10 type Client interface {
11 Start()
12 StartTLS(*tls.Config) error
13 Close() error
14 GetLastError() error
15 IsClosing() bool
16 SetTimeout(time.Duration)
17 TLSConnectionState() (tls.ConnectionState, bool)
18
19 Bind(username, password string) error
20 UnauthenticatedBind(username string) error
21 SimpleBind(*SimpleBindRequest) (*SimpleBindResult, error)
22 ExternalBind() error
23 NTLMUnauthenticatedBind(domain, username string) error
24 Unbind() error
25
26 Add(*AddRequest) error
27 Del(*DelRequest) error
28 Modify(*ModifyRequest) error
29 ModifyDN(*ModifyDNRequest) error
30 ModifyWithResult(*ModifyRequest) (*ModifyResult, error)
31
32 Compare(dn, attribute, value string) (bool, error)
33 PasswordModify(*PasswordModifyRequest) (*PasswordModifyResult, error)
34
35 Search(*SearchRequest) (*SearchResult, error)
36 SearchAsync(ctx context.Context, searchRequest *SearchRequest, bufferSize int) Response
37 SearchWithPaging(searchRequest *SearchRequest, pagingSize uint32) (*SearchResult, error)
38 DirSync(searchRequest *SearchRequest, flags, maxAttrCount int64, cookie []byte) (*SearchResult, error)
39 DirSyncAsync(ctx context.Context, searchRequest *SearchRequest, bufferSize int, flags, maxAttrCount int64, cookie []byte) Response
40 Syncrepl(ctx context.Context, searchRequest *SearchRequest, bufferSize int, mode ControlSyncRequestMode, cookie []byte, reloadHint bool) Response
41 }
42
View as plain text