codekingpro/portable-devtools
114k
1"""2"""3 4# Created on 2013.05.155#6# Author: Giovanni Cannata7#8# Copyright 2013 - 2020 Giovanni Cannata9#10# This file is part of ldap3.11#12# ldap3 is free software: you can redistribute it and/or modify13# it under the terms of the GNU Lesser General Public License as published14# by the Free Software Foundation, either version 3 of the License, or15# (at your option) any later version.16#17# ldap3 is distributed in the hope that it will be useful,18# but WITHOUT ANY WARRANTY; without even the implied warranty of19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the20# GNU Lesser General Public License for more details.21#22# You should have received a copy of the GNU Lesser General Public License23# along with ldap3 in the COPYING and COPYING.LESSER files.24# If not, see <http://www.gnu.org/licenses/>.25 26from types import GeneratorType27 28# authentication29ANONYMOUS = 'ANONYMOUS'30SIMPLE = 'SIMPLE'31SASL = 'SASL'32NTLM = 'NTLM'33 34# SASL MECHANISMS35EXTERNAL = 'EXTERNAL'36DIGEST_MD5 = 'DIGEST-MD5'37KERBEROS = GSSAPI = 'GSSAPI'38PLAIN = 'PLAIN'39 40AUTO_BIND_DEFAULT = 'DEFAULT' # binds connection when using "with" context manager41AUTO_BIND_NONE = 'NONE' # same as False, no bind is performed42AUTO_BIND_NO_TLS = 'NO_TLS' # same as True, bind is performed without tls43AUTO_BIND_TLS_BEFORE_BIND = 'TLS_BEFORE_BIND' # start_tls is performed before bind44AUTO_BIND_TLS_AFTER_BIND = 'TLS_AFTER_BIND' # start_tls is performed after bind45 46# server IP dual stack mode47IP_SYSTEM_DEFAULT = 'IP_SYSTEM_DEFAULT'48IP_V4_ONLY = 'IP_V4_ONLY'49IP_V6_ONLY = 'IP_V6_ONLY'50IP_V4_PREFERRED = 'IP_V4_PREFERRED'51IP_V6_PREFERRED = 'IP_V6_PREFERRED'52 53# search scope54BASE = 'BASE'55LEVEL = 'LEVEL'56SUBTREE = 'SUBTREE'57 58# search alias59DEREF_NEVER = 'NEVER'60DEREF_SEARCH = 'SEARCH'61DEREF_BASE = 'FINDING_BASE'62DEREF_ALWAYS = 'ALWAYS'63 64# search attributes65ALL_ATTRIBUTES = '*'66NO_ATTRIBUTES = '1.1' # as per RFC 451167ALL_OPERATIONAL_ATTRIBUTES = '+' # as per RFC 367368 69# modify type70MODIFY_ADD = 'MODIFY_ADD'71MODIFY_DELETE = 'MODIFY_DELETE'72MODIFY_REPLACE = 'MODIFY_REPLACE'73MODIFY_INCREMENT = 'MODIFY_INCREMENT'74 75# client strategies76SYNC = 'SYNC'77SAFE_SYNC = 'SAFE_SYNC'78SAFE_RESTARTABLE = 'SAFE_RESTARTABLE'79ASYNC = 'ASYNC'80LDIF = 'LDIF'81RESTARTABLE = 'RESTARTABLE'82REUSABLE = 'REUSABLE'83MOCK_SYNC = 'MOCK_SYNC'84MOCK_ASYNC = 'MOCK_ASYNC'85ASYNC_STREAM = 'ASYNC_STREAM'86 87# get rootDSE info88NONE = 'NO_INFO'89DSA = 'DSA'90SCHEMA = 'SCHEMA'91ALL = 'ALL'92 93OFFLINE_EDIR_8_8_8 = 'EDIR_8_8_8'94OFFLINE_EDIR_9_1_4 = 'EDIR_9_1_4'95OFFLINE_AD_2012_R2 = 'AD_2012_R2'96OFFLINE_SLAPD_2_4 = 'SLAPD_2_4'97OFFLINE_DS389_1_3_3 = 'DS389_1_3_3'98 99# server pooling100FIRST = 'FIRST'101ROUND_ROBIN = 'ROUND_ROBIN'102RANDOM = 'RANDOM'103 104# Hashed password105HASHED_NONE = 'PLAIN'106HASHED_SHA = 'SHA'107HASHED_SHA256 = 'SHA256'108HASHED_SHA384 = 'SHA384'109HASHED_SHA512 = 'SHA512'110HASHED_MD5 = 'MD5'111HASHED_SALTED_SHA = 'SALTED_SHA'112HASHED_SALTED_SHA256 = 'SALTED_SHA256'113HASHED_SALTED_SHA384 = 'SALTED_SHA384'114HASHED_SALTED_SHA512 = 'SALTED_SHA512'115HASHED_SALTED_MD5 = 'SALTED_MD5'116 117if str is not bytes: # Python 3118 NUMERIC_TYPES = (int, float)119 INTEGER_TYPES = (int, )120else:121 NUMERIC_TYPES = (int, long, float)122 INTEGER_TYPES = (int, long)123 124# types for string and sequence125if str is not bytes: # Python 3126 STRING_TYPES = (str, )127 SEQUENCE_TYPES = (set, list, tuple, GeneratorType, type(dict().keys())) # dict.keys() is a iterable memoryview in Python 3128else: # Python 2129 try:130 from future.types.newstr import newstr131 except ImportError:132 pass133 134 STRING_TYPES = (str, unicode)135 SEQUENCE_TYPES = (set, list, tuple, GeneratorType)136 137# centralized imports # must be at the end of the __init__.py file138from .version import __author__, __version__, __email__, __description__, __status__, __license__, __url__139from .utils.config import get_config_parameter, set_config_parameter140from .core.server import Server141from .core.connection import Connection142from .core.tls import Tls143from .core.pooling import ServerPool144from .core.rdns import ReverseDnsSetting145from .abstract.objectDef import ObjectDef146from .abstract.attrDef import AttrDef147from .abstract.attribute import Attribute, WritableAttribute, OperationalAttribute148from .abstract.entry import Entry, WritableEntry149from .abstract.cursor import Reader, Writer150from .protocol.rfc4512 import DsaInfo, SchemaInfo151 