Versions in this module Expand all Collapse all v1 v1.0.3 Mar 21, 2024 Changes in this version + const AddAttribute + const ApplicationAbandonRequest + const ApplicationAddRequest + const ApplicationAddResponse + const ApplicationBindRequest + const ApplicationBindResponse + const ApplicationCompareRequest + const ApplicationCompareResponse + const ApplicationDelRequest + const ApplicationDelResponse + const ApplicationExtendedRequest + const ApplicationExtendedResponse + const ApplicationIntermediateResponse + const ApplicationModifyDNRequest + const ApplicationModifyDNResponse + const ApplicationModifyRequest + const ApplicationModifyResponse + const ApplicationSearchRequest + const ApplicationSearchResultDone + const ApplicationSearchResultEntry + const ApplicationSearchResultReference + const ApplicationUnbindRequest + const BeheraAccountLocked + const BeheraChangeAfterReset + const BeheraInsufficientPasswordQuality + const BeheraMustSupplyOldPassword + const BeheraPasswordExpired + const BeheraPasswordInHistory + const BeheraPasswordModNotAllowed + const BeheraPasswordTooShort + const BeheraPasswordTooYoung + const ControlTypeBeheraPasswordPolicy + const ControlTypeDirSync + const ControlTypeManageDsaIT + const ControlTypeMicrosoftNotification + const ControlTypeMicrosoftServerLinkTTL + const ControlTypeMicrosoftShowDeleted + const ControlTypePaging + const ControlTypeServerSideSorting + const ControlTypeServerSideSortingResult + const ControlTypeSubtreeDelete + const ControlTypeSyncDone + const ControlTypeSyncInfo + const ControlTypeSyncRequest + const ControlTypeSyncState + const ControlTypeVChuPasswordMustChange + const ControlTypeVChuPasswordWarning + const ControlTypeWhoAmI + const DefaultLdapPort + const DefaultLdapsPort + const DeleteAttribute + const DerefAlways + const DerefFindingBaseObj + const DerefInSearching + const DirSyncAncestorsFirstOrder + const DirSyncIncrementalValues + const DirSyncObjectSecurity + const DirSyncPublicDataOnly + const ErrorDebugging + const ErrorEmptyPassword + const ErrorFilterCompile + const ErrorFilterDecompile + const ErrorNetwork + const ErrorUnexpectedMessage + const ErrorUnexpectedResponse + const FilterAnd + const FilterApproxMatch + const FilterEqualityMatch + const FilterExtensibleMatch + const FilterGreaterOrEqual + const FilterLessOrEqual + const FilterNot + const FilterOr + const FilterPresent + const FilterSubstrings + const FilterSubstringsAny + const FilterSubstringsFinal + const FilterSubstringsInitial + const IncrementAttribute + const LDAPResultAdminLimitExceeded + const LDAPResultAffectsMultipleDSAs + const LDAPResultAliasDereferencingProblem + const LDAPResultAliasProblem + const LDAPResultAmbiguousResponse + const LDAPResultAssertionFailed + const LDAPResultAttributeOrValueExists + const LDAPResultAuthMethodNotSupported + const LDAPResultAuthUnknown + const LDAPResultAuthorizationDenied + const LDAPResultBusy + const LDAPResultCanceled + const LDAPResultCannotCancel + const LDAPResultClientLoop + const LDAPResultCompareFalse + const LDAPResultCompareTrue + const LDAPResultConfidentialityRequired + const LDAPResultConnectError + const LDAPResultConstraintViolation + const LDAPResultControlNotFound + const LDAPResultDecodingError + const LDAPResultEncodingError + const LDAPResultEntryAlreadyExists + const LDAPResultFilterError + const LDAPResultInappropriateAuthentication + const LDAPResultInappropriateMatching + const LDAPResultInsufficientAccessRights + const LDAPResultIntermediateResponse + const LDAPResultInvalidAttributeSyntax + const LDAPResultInvalidCredentials + const LDAPResultInvalidDNSyntax + const LDAPResultInvalidResponse + const LDAPResultIsLeaf + const LDAPResultLocalError + const LDAPResultLoopDetect + const LDAPResultMoreResultsToReturn + const LDAPResultNamingViolation + const LDAPResultNoMemory + const LDAPResultNoResultsReturned + const LDAPResultNoSuchAttribute + const LDAPResultNoSuchObject + const LDAPResultNoSuchOperation + const LDAPResultNotAllowedOnNonLeaf + const LDAPResultNotAllowedOnRDN + const LDAPResultNotSupported + const LDAPResultObjectClassModsProhibited + const LDAPResultObjectClassViolation + const LDAPResultOffsetRangeError + const LDAPResultOperationsError + const LDAPResultOther + const LDAPResultParamError + const LDAPResultProtocolError + const LDAPResultReferral + const LDAPResultReferralLimitExceeded + const LDAPResultResultsTooLarge + const LDAPResultSaslBindInProgress + const LDAPResultServerDown + const LDAPResultSizeLimitExceeded + const LDAPResultSortControlMissing + const LDAPResultStrongAuthRequired + const LDAPResultSuccess + const LDAPResultSyncRefreshRequired + const LDAPResultTLSNotSupported + const LDAPResultTimeLimitExceeded + const LDAPResultTimeout + const LDAPResultTooLate + const LDAPResultUnavailable + const LDAPResultUnavailableCriticalExtension + const LDAPResultUndefinedAttributeType + const LDAPResultUnknownType + const LDAPResultUnwillingToPerform + const LDAPResultUserCanceled + const LDAPResultVirtualListViewErrorOrControlError + const MatchingRuleAssertionDNAttributes + const MatchingRuleAssertionMatchValue + const MatchingRuleAssertionMatchingRule + const MatchingRuleAssertionType + const MessageFinish + const MessageQuit + const MessageRequest + const MessageResponse + const MessageTimeout + const NeverDerefAliases + const ReplaceAttribute + const ScopeBaseObject + const ScopeSingleLevel + const ScopeWholeSubtree + var ApplicationMap = map[uint8]string + var BeheraPasswordPolicyErrorMap = map[int8]string + var ControlServerSideSortingCodes = []ControlServerSideSortingCode + var ControlTypeMap = map[string]string + var DefaultTimeout = 60 * time.Second + var DerefMap = map[int]string + var ErrConnUnbound = NewError(ErrorNetwork, errors.New("ldap: connection is closed")) + var ErrNilConnection = errors.New("ldap: conn is nil, expected net.Conn") + var FilterMap = map[uint64]string + var FilterSubstringsMap = map[uint64]string + var LDAPResultCodeMap = map[uint16]string + var MatchingRuleAssertionMap = map[uint64]string + var ScopeMap = map[int]string + func CompileFilter(filter string) (*ber.Packet, error) + func DebugBinaryFile(fileName string) error + func DecompileFilter(packet *ber.Packet) (_ string, err error) + func EscapeDN(dn string) string + func EscapeFilter(filter string) string + func GetLDAPError(packet *ber.Packet) error + func IsErrorAnyOf(err error, codes ...uint16) bool + func IsErrorWithCode(err error, desiredResultCode uint16) bool + func Logger(l *log.Logger) + func NewError(resultCode uint16, err error) error + type AddRequest struct + Attributes []Attribute + Controls []Control + DN string + func NewAddRequest(dn string, controls []Control) *AddRequest + func (req *AddRequest) Attribute(attrType string, attrVals []string) + type Attribute struct + Type string + Vals []string + type AttributeTypeAndValue struct + Type string + Value string + func (a *AttributeTypeAndValue) Equal(other *AttributeTypeAndValue) bool + func (a *AttributeTypeAndValue) EqualFold(other *AttributeTypeAndValue) bool + func (a *AttributeTypeAndValue) String() string + type Change struct + Modification PartialAttribute + Operation uint + type Client interface + Add func(*AddRequest) error + Bind func(username, password string) error + Close func() error + Compare func(dn, attribute, value string) (bool, error) + Del func(*DelRequest) error + DirSync func(searchRequest *SearchRequest, flags, maxAttrCount int64, cookie []byte) (*SearchResult, error) + DirSyncAsync func(ctx context.Context, searchRequest *SearchRequest, bufferSize int, ...) Response + ExternalBind func() error + GetLastError func() error + IsClosing func() bool + Modify func(*ModifyRequest) error + ModifyDN func(*ModifyDNRequest) error + ModifyWithResult func(*ModifyRequest) (*ModifyResult, error) + NTLMUnauthenticatedBind func(domain, username string) error + PasswordModify func(*PasswordModifyRequest) (*PasswordModifyResult, error) + Search func(*SearchRequest) (*SearchResult, error) + SearchAsync func(ctx context.Context, searchRequest *SearchRequest, bufferSize int) Response + SearchWithPaging func(searchRequest *SearchRequest, pagingSize uint32) (*SearchResult, error) + SetTimeout func(time.Duration) + SimpleBind func(*SimpleBindRequest) (*SimpleBindResult, error) + Start func() + StartTLS func(*tls.Config) error + Syncrepl func(ctx context.Context, searchRequest *SearchRequest, bufferSize int, ...) Response + TLSConnectionState func() (tls.ConnectionState, bool) + UnauthenticatedBind func(username string) error + Unbind func() error + type CompareRequest struct + Attribute string + DN string + Value string + type Conn struct + Debug debugging + func Dial(network, addr string) (*Conn, error) + func DialTLS(network, addr string, config *tls.Config) (*Conn, error) + func DialURL(addr string, opts ...DialOpt) (*Conn, error) + func NewConn(conn net.Conn, isTLS bool) *Conn + func (l *Conn) Add(addRequest *AddRequest) error + func (l *Conn) Bind(username, password string) error + func (l *Conn) Close() (err error) + func (l *Conn) Compare(dn, attribute, value string) (bool, error) + func (l *Conn) Del(delRequest *DelRequest) error + func (l *Conn) DigestMD5Bind(digestMD5BindRequest *DigestMD5BindRequest) (*DigestMD5BindResult, error) + func (l *Conn) DirSync(searchRequest *SearchRequest, flags int64, maxAttrCount int64, cookie []byte) (*SearchResult, error) + func (l *Conn) DirSyncAsync(ctx context.Context, searchRequest *SearchRequest, bufferSize int, ...) Response + func (l *Conn) ExternalBind() error + func (l *Conn) GSSAPIBind(client GSSAPIClient, servicePrincipal, authzid string) error + func (l *Conn) GSSAPIBindRequest(client GSSAPIClient, req *GSSAPIBindRequest) error + func (l *Conn) GetLastError() error + func (l *Conn) IsClosing() bool + func (l *Conn) MD5Bind(host, username, password string) error + func (l *Conn) Modify(modifyRequest *ModifyRequest) error + func (l *Conn) ModifyDN(m *ModifyDNRequest) error + func (l *Conn) ModifyWithResult(modifyRequest *ModifyRequest) (*ModifyResult, error) + func (l *Conn) NTLMBind(domain, username, password string) error + func (l *Conn) NTLMBindWithHash(domain, username, hash string) error + func (l *Conn) NTLMChallengeBind(ntlmBindRequest *NTLMBindRequest) (*NTLMBindResult, error) + func (l *Conn) NTLMUnauthenticatedBind(domain, username string) error + func (l *Conn) PasswordModify(passwordModifyRequest *PasswordModifyRequest) (*PasswordModifyResult, error) + func (l *Conn) Search(searchRequest *SearchRequest) (*SearchResult, error) + func (l *Conn) SearchAsync(ctx context.Context, searchRequest *SearchRequest, bufferSize int) Response + func (l *Conn) SearchWithPaging(searchRequest *SearchRequest, pagingSize uint32) (*SearchResult, error) + func (l *Conn) SetTimeout(timeout time.Duration) + func (l *Conn) SimpleBind(simpleBindRequest *SimpleBindRequest) (*SimpleBindResult, error) + func (l *Conn) Start() + func (l *Conn) StartTLS(config *tls.Config) error + func (l *Conn) Syncrepl(ctx context.Context, searchRequest *SearchRequest, bufferSize int, ...) Response + func (l *Conn) TLSConnectionState() (state tls.ConnectionState, ok bool) + func (l *Conn) UnauthenticatedBind(username string) error + func (l *Conn) Unbind() error + func (l *Conn) WhoAmI(controls []Control) (*WhoAmIResult, error) + type Control interface + Encode func() *ber.Packet + GetControlType func() string + String func() string + func DecodeControl(packet *ber.Packet) (Control, error) + func FindControl(controls []Control, controlType string) Control + type ControlBeheraPasswordPolicy struct + Error int8 + ErrorString string + Expire int64 + Grace int64 + func NewControlBeheraPasswordPolicy() *ControlBeheraPasswordPolicy + func (c *ControlBeheraPasswordPolicy) Encode() *ber.Packet + func (c *ControlBeheraPasswordPolicy) GetControlType() string + func (c *ControlBeheraPasswordPolicy) String() string + type ControlDirSync struct + Cookie []byte + Criticality bool + Flags int64 + MaxAttrCount int64 + func NewControlDirSync(flags int64, maxAttrCount int64, cookie []byte) *ControlDirSync + func NewRequestControlDirSync(flags int64, maxAttrCount int64, cookie []byte) *ControlDirSync + func NewResponseControlDirSync(value *ber.Packet) (*ControlDirSync, error) + func (c *ControlDirSync) Encode() *ber.Packet + func (c *ControlDirSync) GetControlType() string + func (c *ControlDirSync) SetCookie(cookie []byte) + func (c *ControlDirSync) String() string + type ControlManageDsaIT struct + Criticality bool + func NewControlManageDsaIT(Criticality bool) *ControlManageDsaIT + func (c *ControlManageDsaIT) Encode() *ber.Packet + func (c *ControlManageDsaIT) GetControlType() string + func (c *ControlManageDsaIT) String() string + type ControlMicrosoftNotification struct + func NewControlMicrosoftNotification() *ControlMicrosoftNotification + func (c *ControlMicrosoftNotification) Encode() *ber.Packet + func (c *ControlMicrosoftNotification) GetControlType() string + func (c *ControlMicrosoftNotification) String() string + type ControlMicrosoftServerLinkTTL struct + func NewControlMicrosoftServerLinkTTL() *ControlMicrosoftServerLinkTTL + func (c *ControlMicrosoftServerLinkTTL) Encode() *ber.Packet + func (c *ControlMicrosoftServerLinkTTL) GetControlType() string + func (c *ControlMicrosoftServerLinkTTL) String() string + type ControlMicrosoftShowDeleted struct + func NewControlMicrosoftShowDeleted() *ControlMicrosoftShowDeleted + func (c *ControlMicrosoftShowDeleted) Encode() *ber.Packet + func (c *ControlMicrosoftShowDeleted) GetControlType() string + func (c *ControlMicrosoftShowDeleted) String() string + type ControlPaging struct + Cookie []byte + PagingSize uint32 + func NewControlPaging(pagingSize uint32) *ControlPaging + func (c *ControlPaging) Encode() *ber.Packet + func (c *ControlPaging) GetControlType() string + func (c *ControlPaging) SetCookie(cookie []byte) + func (c *ControlPaging) String() string + type ControlServerSideSorting struct + SortKeys []*SortKey + func NewControlServerSideSorting(value *ber.Packet) (*ControlServerSideSorting, error) + func NewControlServerSideSortingWithSortKeys(sortKeys []*SortKey) *ControlServerSideSorting + func (c *ControlServerSideSorting) Encode() *ber.Packet + func (c *ControlServerSideSorting) GetControlType() string + func (c *ControlServerSideSorting) String() string + type ControlServerSideSortingCode int64 + const ControlServerSideSortingCodeAdminLimitExceeded + const ControlServerSideSortingCodeBusy + const ControlServerSideSortingCodeInappropriateMatching + const ControlServerSideSortingCodeInsufficientAccessRights + const ControlServerSideSortingCodeNoSuchAttribute + const ControlServerSideSortingCodeOperationsError + const ControlServerSideSortingCodeOther + const ControlServerSideSortingCodeStrongAuthRequired + const ControlServerSideSortingCodeSuccess + const ControlServerSideSortingCodeTimeLimitExceeded + const ControlServerSideSortingCodeUnwillingToPerform + func (c ControlServerSideSortingCode) Valid() error + type ControlServerSideSortingResult struct + Criticality bool + Result ControlServerSideSortingCode + func NewControlServerSideSortingResult(pkt *ber.Packet) (*ControlServerSideSortingResult, error) + func (c *ControlServerSideSortingResult) Encode() *ber.Packet + func (c *ControlServerSideSortingResult) String() string + func (control *ControlServerSideSortingResult) GetControlType() string + type ControlString struct + ControlType string + ControlValue string + Criticality bool + func NewControlString(controlType string, criticality bool, controlValue string) *ControlString + func (c *ControlString) Encode() *ber.Packet + func (c *ControlString) GetControlType() string + func (c *ControlString) String() string + type ControlSubtreeDelete struct + func NewControlSubtreeDelete() *ControlSubtreeDelete + func (c *ControlSubtreeDelete) Encode() *ber.Packet + func (c *ControlSubtreeDelete) GetControlType() string + func (c *ControlSubtreeDelete) String() string + type ControlSyncDone struct + Cookie []byte + Criticality bool + RefreshDeletes bool + func NewControlSyncDone(pkt *ber.Packet) (*ControlSyncDone, error) + func (c *ControlSyncDone) Encode() *ber.Packet + func (c *ControlSyncDone) GetControlType() string + func (c *ControlSyncDone) String() string + type ControlSyncInfo struct + Criticality bool + NewCookie *ControlSyncInfoNewCookie + RefreshDelete *ControlSyncInfoRefreshDelete + RefreshPresent *ControlSyncInfoRefreshPresent + SyncIdSet *ControlSyncInfoSyncIdSet + Value ControlSyncInfoValue + func NewControlSyncInfo(pkt *ber.Packet) (*ControlSyncInfo, error) + func (c *ControlSyncInfo) Encode() *ber.Packet + func (c *ControlSyncInfo) GetControlType() string + func (c *ControlSyncInfo) String() string + type ControlSyncInfoNewCookie struct + Cookie []byte + func (c *ControlSyncInfoNewCookie) String() string + type ControlSyncInfoRefreshDelete struct + Cookie []byte + RefreshDone bool + func (c *ControlSyncInfoRefreshDelete) String() string + type ControlSyncInfoRefreshPresent struct + Cookie []byte + RefreshDone bool + func (c *ControlSyncInfoRefreshPresent) String() string + type ControlSyncInfoSyncIdSet struct + Cookie []byte + RefreshDeletes bool + SyncUUIDs []uuid.UUID + func (c *ControlSyncInfoSyncIdSet) String() string + type ControlSyncInfoValue uint64 + const SyncInfoNewcookie + const SyncInfoRefreshDelete + const SyncInfoRefreshPresent + const SyncInfoSyncIdSet + type ControlSyncRequest struct + Cookie []byte + Criticality bool + Mode ControlSyncRequestMode + ReloadHint bool + func NewControlSyncRequest(mode ControlSyncRequestMode, cookie []byte, reloadHint bool) *ControlSyncRequest + func (c *ControlSyncRequest) Encode() *ber.Packet + func (c *ControlSyncRequest) GetControlType() string + func (c *ControlSyncRequest) String() string + type ControlSyncRequestMode int64 + const SyncRequestModeRefreshAndPersist + const SyncRequestModeRefreshOnly + type ControlSyncState struct + Cookie []byte + Criticality bool + EntryUUID uuid.UUID + State ControlSyncStateState + func NewControlSyncState(pkt *ber.Packet) (*ControlSyncState, error) + func (c *ControlSyncState) Encode() *ber.Packet + func (c *ControlSyncState) GetControlType() string + func (c *ControlSyncState) String() string + type ControlSyncStateState int64 + const SyncStateAdd + const SyncStateDelete + const SyncStateModify + const SyncStatePresent + type ControlVChuPasswordMustChange struct + MustChange bool + func (c *ControlVChuPasswordMustChange) Encode() *ber.Packet + func (c *ControlVChuPasswordMustChange) GetControlType() string + func (c *ControlVChuPasswordMustChange) String() string + type ControlVChuPasswordWarning struct + Expire int64 + func (c *ControlVChuPasswordWarning) Encode() *ber.Packet + func (c *ControlVChuPasswordWarning) GetControlType() string + func (c *ControlVChuPasswordWarning) String() string + type DN struct + RDNs []*RelativeDN + func ParseDN(str string) (*DN, error) + func (d *DN) AncestorOf(other *DN) bool + func (d *DN) AncestorOfFold(other *DN) bool + func (d *DN) Equal(other *DN) bool + func (d *DN) EqualFold(other *DN) bool + func (d *DN) String() string + type DelRequest struct + Controls []Control + DN string + func NewDelRequest(DN string, Controls []Control) *DelRequest + type DialContext struct + type DialOpt func(*DialContext) + func DialWithDialer(d *net.Dialer) DialOpt + func DialWithTLSConfig(tc *tls.Config) DialOpt + func DialWithTLSDialer(tlsConfig *tls.Config, dialer *net.Dialer) DialOpt + type DigestMD5BindRequest struct + Controls []Control + Host string + Password string + Username string + type DigestMD5BindResult struct + Controls []Control + type Entry struct + Attributes []*EntryAttribute + DN string + func NewEntry(dn string, attributes map[string][]string) *Entry + func (e *Entry) GetAttributeValue(attribute string) string + func (e *Entry) GetAttributeValues(attribute string) []string + func (e *Entry) GetEqualFoldAttributeValue(attribute string) string + func (e *Entry) GetEqualFoldAttributeValues(attribute string) []string + func (e *Entry) GetEqualFoldRawAttributeValue(attribute string) []byte + func (e *Entry) GetEqualFoldRawAttributeValues(attribute string) [][]byte + func (e *Entry) GetRawAttributeValue(attribute string) []byte + func (e *Entry) GetRawAttributeValues(attribute string) [][]byte + func (e *Entry) PrettyPrint(indent int) + func (e *Entry) Print() + func (e *Entry) Unmarshal(i interface{}) (err error) + type EntryAttribute struct + ByteValues [][]byte + Name string + Values []string + func NewEntryAttribute(name string, values []string) *EntryAttribute + func (e *EntryAttribute) PrettyPrint(indent int) + func (e *EntryAttribute) Print() + type Error struct + Err error + MatchedDN string + Packet *ber.Packet + ResultCode uint16 + func (e *Error) Error() string + func (e *Error) Unwrap() error + type GSSAPIBindRequest struct + AuthZID string + Controls []Control + ServicePrincipalName string + type GSSAPIClient interface + DeleteSecContext func() error + InitSecContext func(target string, token []byte) (outputToken []byte, needContinue bool, err error) + NegotiateSaslAuth func(token []byte, authzid string) ([]byte, error) + type ModifyDNRequest struct + Controls []Control + DN string + DeleteOldRDN bool + NewRDN string + NewSuperior string + func NewModifyDNRequest(dn string, rdn string, delOld bool, newSup string) *ModifyDNRequest + func NewModifyDNWithControlsRequest(dn string, rdn string, delOld bool, newSup string, controls []Control) *ModifyDNRequest + type ModifyRequest struct + Changes []Change + Controls []Control + DN string + func NewModifyRequest(dn string, controls []Control) *ModifyRequest + func (req *ModifyRequest) Add(attrType string, attrVals []string) + func (req *ModifyRequest) Delete(attrType string, attrVals []string) + func (req *ModifyRequest) Increment(attrType string, attrVal string) + func (req *ModifyRequest) Replace(attrType string, attrVals []string) + type ModifyResult struct + Controls []Control + Referral string + type NTLMBindRequest struct + AllowEmptyPassword bool + Controls []Control + Domain string + Hash string + Password string + Username string + type NTLMBindResult struct + Controls []Control + type PacketResponse struct + Error error + Packet *ber.Packet + func (pr *PacketResponse) ReadPacket() (*ber.Packet, error) + type PartialAttribute struct + Type string + Vals []string + type PasswordModifyRequest struct + NewPassword string + OldPassword string + UserIdentity string + func NewPasswordModifyRequest(userIdentity string, oldPassword string, newPassword string) *PasswordModifyRequest + type PasswordModifyResult struct + GeneratedPassword string + Referral string + type RelativeDN struct + Attributes []*AttributeTypeAndValue + func (r *RelativeDN) Equal(other *RelativeDN) bool + func (r *RelativeDN) EqualFold(other *RelativeDN) bool + func (r *RelativeDN) String() string + type Response interface + Controls func() []Control + Entry func() *Entry + Err func() error + Next func() bool + Referral func() string + type SearchRequest struct + Attributes []string + BaseDN string + Controls []Control + DerefAliases int + Filter string + Scope int + SizeLimit int + TimeLimit int + TypesOnly bool + func NewSearchRequest(BaseDN string, Scope, DerefAliases, SizeLimit, TimeLimit int, TypesOnly bool, ...) *SearchRequest + type SearchResult struct + Controls []Control + Entries []*Entry + Referrals []string + func (s *SearchResult) PrettyPrint(indent int) + func (s *SearchResult) Print() + type SearchSingleResult struct + Controls []Control + Entry *Entry + Error error + Referral string + func (s *SearchSingleResult) PrettyPrint(indent int) + func (s *SearchSingleResult) Print() + type SimpleBindRequest struct + AllowEmptyPassword bool + Controls []Control + Password string + Username string + func NewSimpleBindRequest(username string, password string, controls []Control) *SimpleBindRequest + type SimpleBindResult struct + Controls []Control + type SortKey struct + AttributeType string + MatchingRule string + Reverse bool + type WhoAmIResult struct + AuthzID string