Skip to content

Commit

Permalink
TMP
Browse files Browse the repository at this point in the history
  • Loading branch information
jemrobinson committed Feb 29, 2024
1 parent 626674e commit a0a45f6
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions apricot/ldap/read_only_ldap_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,14 @@
LDAPSearchResultEntry,
)
from twisted.internet import defer
from twisted.python import log


class ReadOnlyLDAPServer(LDAPServer):
def __init__(self):
super().__init__()
self.debug = True

def getRootDSE( # noqa: N802
self,
request: LDAPBindRequest,
Expand All @@ -21,6 +26,8 @@ def getRootDSE( # noqa: N802
"""
Handle an LDAP Root RSE request
"""
log.msg(f"Types: request '{type(request)}'; reply '{type(reply)}'")
log.msg(f"Calling getRootDSE with '{request.toWire() if request else 'NoRequest'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
return super().getRootDSE(request, reply)

def handle_LDAPAddRequest( # noqa: N802
Expand All @@ -32,6 +39,8 @@ def handle_LDAPAddRequest( # noqa: N802
"""
Refuse to handle an LDAP add request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP add with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
id((request, controls, reply)) # ignore unused arguments
msg = "ReadOnlyLDAPServer will not handle LDAP add requests"
raise LDAPProtocolError(msg)
Expand All @@ -45,6 +54,8 @@ def handle_LDAPBindRequest( # noqa: N802
"""
Handle an LDAP bind request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP bind with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
return super().handle_LDAPBindRequest(request, controls, reply)

def handle_LDAPCompareRequest( # noqa: N802
Expand All @@ -56,6 +67,8 @@ def handle_LDAPCompareRequest( # noqa: N802
"""
Handle an LDAP compare request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP compare with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
return super().handle_LDAPCompareRequest(request, controls, reply)

def handle_LDAPDelRequest( # noqa: N802
Expand All @@ -67,6 +80,8 @@ def handle_LDAPDelRequest( # noqa: N802
"""
Refuse to handle an LDAP delete request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP del with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
id((request, controls, reply)) # ignore unused arguments
msg = "ReadOnlyLDAPServer will not handle LDAP delete requests"
raise LDAPProtocolError(msg)
Expand All @@ -80,6 +95,8 @@ def handle_LDAPExtendedRequest( # noqa: N802
"""
Handle an LDAP extended request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP extended with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
return super().handle_LDAPExtendedRequest(request, controls, reply)

def handle_LDAPModifyDNRequest( # noqa: N802
Expand All @@ -91,6 +108,8 @@ def handle_LDAPModifyDNRequest( # noqa: N802
"""
Refuse to handle an LDAP modify DN request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP modify DN with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
id((request, controls, reply)) # ignore unused arguments
msg = "ReadOnlyLDAPServer will not handle LDAP modify DN requests"
raise LDAPProtocolError(msg)
Expand All @@ -104,6 +123,8 @@ def handle_LDAPModifyRequest( # noqa: N802
"""
Refuse to handle an LDAP modify request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP modify with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
id((request, controls, reply)) # ignore unused arguments
msg = "ReadOnlyLDAPServer will not handle LDAP modify requests"
raise LDAPProtocolError(msg)
Expand All @@ -117,6 +138,8 @@ def handle_LDAPUnbindRequest( # noqa: N802
"""
Handle an LDAP unbind request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP unbind with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
super().handle_LDAPUnbindRequest(request, controls, reply)

def handle_LDAPSearchRequest( # noqa: N802
Expand All @@ -128,4 +151,6 @@ def handle_LDAPSearchRequest( # noqa: N802
"""
Handle an LDAP search request
"""
log.msg(f"Types: request '{type(request)}'; controls '{type(controls)}'; reply '{type(reply)}'")
log.msg(f"Calling LDAP search with '{request.toWire() if request else 'NoRequest'}' '{controls.toWire() if controls else 'NoControls'}' (DN='{request.dn if hasattr(request, 'dn') else 'NoDN'}')")
return super().handle_LDAPSearchRequest(request, controls, reply)

0 comments on commit a0a45f6

Please sign in to comment.