Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use pyasn1 in ldap3 #9470

Merged
merged 12 commits into from
Jan 11, 2023
2 changes: 1 addition & 1 deletion stubs/ldap3/METADATA.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
version = "2.9.*"
requires = [] # requires types-pyasn1 (not available yet)
requires = ["types-pyasn1"]
10 changes: 8 additions & 2 deletions stubs/ldap3/ldap3/core/connection.pyi
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
from _collections_abc import Generator, dict_keys
from _typeshed import Self
from _typeshed import ReadableBuffer, Self
from types import TracebackType
from typing import Any
from typing_extensions import Literal, TypeAlias

from pyasn1.type.base import Asn1Item

from .pooling import ServerPool
from .server import Server

Expand Down Expand Up @@ -156,7 +158,11 @@ class Connection:
): ...
def abandon(self, message_id, controls: Any | None = ...): ...
def extended(
self, request_name, request_value: Any | None = ..., controls: Any | None = ..., no_encode: Any | None = ...
self,
request_name,
request_value: Asn1Item | ReadableBuffer | None = ...,
controls: Any | None = ...,
AlexWaygood marked this conversation as resolved.
Show resolved Hide resolved
no_encode: bool | None = ...,
): ...
def start_tls(self, read_server_info: bool = ...): ...
def do_sasl_bind(self, controls): ...
Expand Down
11 changes: 6 additions & 5 deletions stubs/ldap3/ldap3/extend/novell/endTransaction.pyi
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
from typing import Any
from _typeshed import Incomplete

from ...extend.operation import ExtendedOperation
from ...protocol.novell import EndGroupTypeRequestValue, EndGroupTypeResponseValue

class EndTransaction(ExtendedOperation):
request_name: str
response_name: str
request_value: Any
asn1_spec: Any
request_value: EndGroupTypeRequestValue
asn1_spec: EndGroupTypeResponseValue
def config(self) -> None: ...
def __init__(self, connection, commit: bool = ..., controls: Any | None = ...) -> None: ...
def __init__(self, connection, commit: bool = ..., controls: Incomplete | None = ...) -> None: ...
def populate_result(self) -> None: ...
response_value: Any
response_value: Incomplete
def set_response(self) -> None: ...
5 changes: 2 additions & 3 deletions stubs/ldap3/ldap3/extend/novell/getBindDn.pyi
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
from typing import Any

from ...extend.operation import ExtendedOperation
from ...protocol.novell import Identity

class GetBindDn(ExtendedOperation):
request_name: str
response_name: str
response_attribute: str
asn1_spec: Any
asn1_spec: Identity | None
AlexWaygood marked this conversation as resolved.
Show resolved Hide resolved
def config(self) -> None: ...
def populate_result(self) -> None: ...
10 changes: 6 additions & 4 deletions stubs/ldap3/ldap3/extend/novell/listReplicas.pyi
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
from typing import Any
from _typeshed import Incomplete

from ...extend.operation import ExtendedOperation
from ...protocol.novell import ReplicaList
from ...protocol.rfc4511 import LDAPDN

class ListReplicas(ExtendedOperation):
request_name: str
response_name: str
request_value: Any
asn1_spec: Any
request_value: LDAPDN
asn1_spec: ReplicaList
response_attribute: str
def config(self) -> None: ...
def __init__(self, connection, server_dn, controls: Any | None = ...) -> None: ...
def __init__(self, connection, server_dn, controls: Incomplete | None = ...) -> None: ...
def populate_result(self) -> None: ...
9 changes: 5 additions & 4 deletions stubs/ldap3/ldap3/extend/novell/nmasGetUniversalPassword.pyi
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from typing import Any
from _typeshed import Incomplete

from ...extend.operation import ExtendedOperation
from ...protocol.novell import NmasGetUniversalPasswordRequestValue, NmasGetUniversalPasswordResponseValue

class NmasGetUniversalPassword(ExtendedOperation):
request_name: str
response_name: str
request_value: Any
asn1_spec: Any
request_value: NmasGetUniversalPasswordRequestValue
asn1_spec: NmasGetUniversalPasswordResponseValue
response_attribute: str
def config(self) -> None: ...
def __init__(self, connection, user, controls: Any | None = ...) -> None: ...
def __init__(self, connection, user, controls: Incomplete | None = ...) -> None: ...
def populate_result(self) -> None: ...
9 changes: 5 additions & 4 deletions stubs/ldap3/ldap3/extend/novell/nmasSetUniversalPassword.pyi
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from typing import Any
from _typeshed import Incomplete

from ...extend.operation import ExtendedOperation
from ...protocol.novell import NmasSetUniversalPasswordRequestValue, NmasSetUniversalPasswordResponseValue

class NmasSetUniversalPassword(ExtendedOperation):
request_name: str
response_name: str
request_value: Any
asn1_spec: Any
request_value: NmasSetUniversalPasswordRequestValue
asn1_spec: NmasSetUniversalPasswordResponseValue
response_attribute: str
def config(self) -> None: ...
def __init__(self, connection, user, new_password, controls: Any | None = ...) -> None: ...
def __init__(self, connection, user, new_password, controls: Incomplete | None = ...) -> None: ...
def populate_result(self) -> None: ...
7 changes: 4 additions & 3 deletions stubs/ldap3/ldap3/extend/novell/partition_entry_count.pyi
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
from typing import Any
from _typeshed import Incomplete

from ...protocol.rfc4511 import LDAPDN
from ..operation import ExtendedOperation

class PartitionEntryCount(ExtendedOperation):
request_name: str
response_name: str
request_value: Any
request_value: LDAPDN
response_attribute: str
def config(self) -> None: ...
def __init__(self, connection, partition_dn, controls: Any | None = ...) -> None: ...
def __init__(self, connection, partition_dn, controls: Incomplete | None = ...) -> None: ...
def populate_result(self) -> None: ...
7 changes: 4 additions & 3 deletions stubs/ldap3/ldap3/extend/novell/replicaInfo.pyi
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
from typing import Any
from _typeshed import Incomplete

from ...protocol.novell import ReplicaInfoRequestValue
from ..operation import ExtendedOperation

class ReplicaInfo(ExtendedOperation):
request_name: str
response_name: str
request_value: Any
request_value: ReplicaInfoRequestValue
response_attribute: str
def config(self) -> None: ...
def __init__(self, connection, server_dn, partition_dn, controls: Any | None = ...) -> None: ...
def __init__(self, connection, server_dn, partition_dn, controls: Incomplete | None = ...) -> None: ...
def populate_result(self) -> None: ...
11 changes: 6 additions & 5 deletions stubs/ldap3/ldap3/extend/novell/startTransaction.pyi
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
from typing import Any
from _typeshed import Incomplete

from ...extend.operation import ExtendedOperation
from ...protocol.novell import CreateGroupTypeRequestValue, CreateGroupTypeResponseValue

class StartTransaction(ExtendedOperation):
request_name: str
response_name: str
request_value: Any
asn1_spec: Any
request_value: CreateGroupTypeRequestValue
asn1_spec: CreateGroupTypeResponseValue
def config(self) -> None: ...
def __init__(self, connection, controls: Any | None = ...) -> None: ...
def __init__(self, connection, controls: Incomplete | None = ...) -> None: ...
def populate_result(self) -> None: ...
response_value: Any
response_value: Incomplete
def set_response(self) -> None: ...
28 changes: 15 additions & 13 deletions stubs/ldap3/ldap3/extend/operation.pyi
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
from typing import Any
from _typeshed import Incomplete

from pyasn1.type.base import Asn1Type

class ExtendedOperation:
connection: Any
decoded_response: Any
result: Any
asn1_spec: Any
request_name: Any
response_name: Any
request_value: Any
response_value: Any
response_attribute: Any
controls: Any
def __init__(self, connection, controls: Any | None = ...) -> None: ...
connection: Incomplete
decoded_response: Incomplete
result: Incomplete
asn1_spec: Asn1Type | None
request_name: Incomplete
response_name: Incomplete
request_value: Asn1Type | None
response_value: Incomplete
response_attribute: Incomplete
AlexWaygood marked this conversation as resolved.
Show resolved Hide resolved
controls: Incomplete
def __init__(self, connection, controls: Incomplete | None = ...) -> None: ...
def send(self): ...
def populate_result(self) -> None: ...
def decode_response(self, response: Any | None = ...) -> None: ...
def decode_response(self, response: Incomplete | None = ...) -> None: ...
def set_response(self) -> None: ...
def config(self) -> None: ...
19 changes: 10 additions & 9 deletions stubs/ldap3/ldap3/extend/standard/modifyPassword.pyi
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
from typing import Any
from _typeshed import Incomplete

from ...extend.operation import ExtendedOperation
from ...protocol.rfc3062 import PasswdModifyRequestValue, PasswdModifyResponseValue

class ModifyPassword(ExtendedOperation):
request_name: str
request_value: Any
asn1_spec: Any
request_value: PasswdModifyRequestValue
asn1_spec: PasswdModifyResponseValue
response_attribute: str
def config(self) -> None: ...
def __init__(
self,
connection,
user: Any | None = ...,
old_password: Any | None = ...,
new_password: Any | None = ...,
hash_algorithm: Any | None = ...,
salt: Any | None = ...,
controls: Any | None = ...,
user: Incomplete | None = ...,
old_password: Incomplete | None = ...,
new_password: Incomplete | None = ...,
hash_algorithm: Incomplete | None = ...,
salt: Incomplete | None = ...,
controls: Incomplete | None = ...,
) -> None: ...
def populate_result(self) -> None: ...
6 changes: 4 additions & 2 deletions stubs/ldap3/ldap3/operation/extended.pyi
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from typing import Any
from _typeshed import ReadableBuffer

def extended_operation(request_name, request_value: Any | None = ..., no_encode: Any | None = ...): ...
from pyasn1.type.base import Asn1Item

def extended_operation(request_name, request_value: Asn1Item | ReadableBuffer | None = ..., no_encode: bool | None = ...): ...
AlexWaygood marked this conversation as resolved.
Show resolved Hide resolved
def extended_request_to_dict(request): ...
def extended_response_to_dict(response): ...
def intermediate_response_to_dict(response): ...
Expand Down
31 changes: 14 additions & 17 deletions stubs/ldap3/ldap3/protocol/microsoft.pyi
Original file line number Diff line number Diff line change
@@ -1,25 +1,22 @@
from typing import Any
from typing_extensions import TypeAlias
from pyasn1.type.namedtype import NamedTypes
from pyasn1.type.tag import TagSet
from pyasn1.type.univ import Sequence

# Enable when pyasn1 gets stubs:
# from pyasn1.type.univ import Sequence
_Sequence: TypeAlias = Any
class SicilyBindResponse(Sequence):
tagSet: TagSet
componentType: NamedTypes

class SicilyBindResponse(_Sequence):
tagSet: Any
componentType: Any
class DirSyncControlRequestValue(Sequence):
componentType: NamedTypes

class DirSyncControlRequestValue(_Sequence):
componentType: Any
class DirSyncControlResponseValue(Sequence):
componentType: NamedTypes

class DirSyncControlResponseValue(_Sequence):
componentType: Any
class SdFlags(Sequence):
componentType: NamedTypes

class SdFlags(_Sequence):
componentType: Any

class ExtendedDN(_Sequence):
componentType: Any
class ExtendedDN(Sequence):
componentType: NamedTypes

def dir_sync_control(criticality, object_security, ancestors_first, public_data_only, incremental_values, max_length, cookie): ...
def extended_dn_control(criticality: bool = ..., hex_format: bool = ...): ...
Expand Down