From cd0f3c125eab3fbfb673c17ea4978e2c5d90e8eb Mon Sep 17 00:00:00 2001 From: Julian Rother <julian@jrother.eu> Date: Wed, 28 Jul 2021 22:48:47 +0200 Subject: [PATCH] Added more type signatures to ldap.py to hopefully shut up pylint --- ldapserver/server.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/ldapserver/server.py b/ldapserver/server.py index e59ef2c..ffef3c7 100644 --- a/ldapserver/server.py +++ b/ldapserver/server.py @@ -1,6 +1,7 @@ import traceback import ssl import socketserver +import typing from . import asn1, exceptions, ldap, schema, directory @@ -42,7 +43,7 @@ class BaseLDAPRequestHandler(socketserver.BaseRequestHandler): self.on_disconnect() self.request.close() - def handle_message(self, shallowmsg): + def handle_message(self, shallowmsg: ldap.ShallowLDAPMessage) -> typing.Iterable[ldap.ProtocolOp]: '''Handle an LDAP request :param shallowmsg: Half-decoded LDAP message to handle @@ -105,42 +106,42 @@ class BaseLDAPRequestHandler(socketserver.BaseRequestHandler): def on_exception(self, e): traceback.print_exc() - def handle_bind(self, op, controls=None): + def handle_bind(self, op: ldap.BindRequest, controls=None) -> typing.Iterable[ldap.ProtocolOp]: reject_critical_controls(controls) raise exceptions.LDAPAuthMethodNotSupported() - def handle_unbind(self, op, controls=None): + def handle_unbind(self, op: ldap.UnbindRequest, controls=None) -> typing.NoReturn: reject_critical_controls(controls) self.keep_running = False - def handle_search(self, op, controls=None): + def handle_search(self, op: ldap.SearchRequest, controls=None) -> typing.Iterable[ldap.ProtocolOp]: reject_critical_controls(controls) yield ldap.SearchResultDone(ldap.LDAPResultCode.success) - def handle_modify(self, op, controls=None): + def handle_modify(self, op: ldap.ModifyRequest, controls=None) -> typing.Iterable[ldap.ProtocolOp]: reject_critical_controls(controls) raise exceptions.LDAPInsufficientAccessRights() - def handle_add(self, op, controls=None): + def handle_add(self, op: ldap.AddRequest, controls=None) -> typing.Iterable[ldap.ProtocolOp]: reject_critical_controls(controls) raise exceptions.LDAPInsufficientAccessRights() - def handle_delete(self, op, controls=None): + def handle_delete(self, op: ldap.DelRequest, controls=None) -> typing.Iterable[ldap.ProtocolOp]: reject_critical_controls(controls) raise exceptions.LDAPInsufficientAccessRights() - def handle_modifydn(self, op, controls=None): + def handle_modifydn(self, op: ldap.ModifyDNRequest, controls=None) -> typing.Iterable[ldap.ProtocolOp]: reject_critical_controls(controls) raise exceptions.LDAPInsufficientAccessRights() - def handle_compare(self, op, controls=None): + def handle_compare(self, op: ldap.CompareRequest, controls=None) -> typing.Iterable[ldap.ProtocolOp]: reject_critical_controls(controls) raise exceptions.LDAPInsufficientAccessRights() - def handle_abandon(self, op, controls=None): + def handle_abandon(self, op: ldap.AbandonRequest, controls=None) -> typing.NoReturn: reject_critical_controls(controls) - def handle_extended(self, op, controls=None): + def handle_extended(self, op: ldap.ExtendedRequest, controls=None) -> typing.Iterable[ldap.ProtocolOp]: reject_critical_controls(controls) raise exceptions.LDAPProtocolError() @@ -476,6 +477,7 @@ class SimpleLDAPRequestHandler(BaseLDAPRequestHandler): newpw = self.do_password_modify() else: decoded, _ = ldap.PasswdModifyRequestValue.from_ber(op.requestValue) + # pylint: disable=no-member newpw = self.do_password_modify(decoded.userIdentity, decoded.oldPasswd, decoded.newPasswd) if newpw is None: yield ldap.ExtendedResponse(ldap.LDAPResultCode.success) -- GitLab