mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-04 04:28:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			788 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			788 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright (c) HashiCorp, Inc.
 | 
						|
// SPDX-License-Identifier: MPL-2.0
 | 
						|
 | 
						|
package ldaputil
 | 
						|
 | 
						|
import (
 | 
						|
	"crypto/tls"
 | 
						|
	"time"
 | 
						|
 | 
						|
	"github.com/go-ldap/ldap/v3"
 | 
						|
)
 | 
						|
 | 
						|
// Connection provides the functionality of an LDAP connection,
 | 
						|
// but through an interface.
 | 
						|
type Connection interface {
 | 
						|
	Bind(username, password string) error
 | 
						|
	Close()
 | 
						|
	Add(addRequest *ldap.AddRequest) error
 | 
						|
	Modify(modifyRequest *ldap.ModifyRequest) error
 | 
						|
	Del(delRequest *ldap.DelRequest) error
 | 
						|
	Search(searchRequest *ldap.SearchRequest) (*ldap.SearchResult, error)
 | 
						|
	StartTLS(config *tls.Config) error
 | 
						|
	SetTimeout(timeout time.Duration)
 | 
						|
	UnauthenticatedBind(username string) error
 | 
						|
}
 | 
						|
 | 
						|
type PagingConnection interface {
 | 
						|
	Connection
 | 
						|
	SearchWithPaging(searchRequest *ldap.SearchRequest, pagingSize uint32) (*ldap.SearchResult, error)
 | 
						|
}
 |