Skip to content

Commit 9fc20df

Browse files
committed
Allow uri and base to be taken from system/user LDAP configuration
1 parent ad46c11 commit 9fc20df

File tree

7 files changed

+24
-23
lines changed

7 files changed

+24
-23
lines changed

Lib/ldap/asyncsearch.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ def __init__(self,l):
5151

5252
def startSearch(
5353
self,
54-
searchRoot,
55-
searchScope,
56-
filterStr,
54+
searchRoot=None,
55+
searchScope=None,
56+
filterStr=None,
5757
attrList=None,
5858
attrsOnly=0,
5959
timeout=-1,

Lib/ldap/controls/openldap.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class SearchNoOpMixIn:
5151
for easily using the no-op search control.
5252
"""
5353

54-
def noop_search_st(self,base,scope=ldap.SCOPE_SUBTREE,filterstr='(objectClass=*)',timeout=-1):
54+
def noop_search_st(self,base=None,scope=ldap.SCOPE_SUBTREE,filterstr='(objectClass=*)',timeout=-1):
5555
try:
5656
msg_id = self.search_ext(
5757
base,

Lib/ldap/functions.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,11 @@ def _ldap_function_call(lock,func,*args,**kwargs):
6565
return result
6666

6767

68-
def initialize(uri,trace_level=0,trace_file=sys.stdout,trace_stack_limit=None, bytes_mode=None):
68+
def initialize(uri=None,trace_level=0,trace_file=sys.stdout,trace_stack_limit=None, bytes_mode=None):
6969
"""
7070
Return LDAPObject instance by opening LDAP connection to
71-
LDAP host specified by LDAP URL
71+
LDAP host specified by LDAP URL. If uri is None, use the value
72+
from ldap.conf/.ldaprc.
7273
7374
Parameters:
7475
uri

Lib/ldap/ldapobject.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class SimpleLDAPObject:
9292
}
9393

9494
def __init__(
95-
self,uri,
95+
self,uri=None,
9696
trace_level=0,trace_file=None,trace_stack_limit=5,bytes_mode=None
9797
):
9898
self._trace_level = trace_level
@@ -748,13 +748,13 @@ def result4(self,msgid=ldap.RES_ANY,all=1,timeout=None,add_ctrls=0,add_intermedi
748748
resp_data = self._bytesify_results(resp_data, with_ctrls=add_ctrls)
749749
return resp_type, resp_data, resp_msgid, decoded_resp_ctrls, resp_name, resp_value
750750

751-
def search_ext(self,base,scope,filterstr=None,attrlist=None,attrsonly=0,serverctrls=None,clientctrls=None,timeout=-1,sizelimit=0):
751+
def search_ext(self,base=None,scope=ldap.SCOPE_SUBTREE,filterstr=None,attrlist=None,attrsonly=0,serverctrls=None,clientctrls=None,timeout=-1,sizelimit=0):
752752
"""
753-
search(base, scope [,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0]]]) -> int
754-
search_s(base, scope [,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0]]])
755-
search_st(base, scope [,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0 [,timeout=-1]]]])
756-
search_ext(base,scope,[,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0 [,serverctrls=None [,clientctrls=None [,timeout=-1 [,sizelimit=0]]]]]]])
757-
search_ext_s(base,scope,[,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0 [,serverctrls=None [,clientctrls=None [,timeout=-1 [,sizelimit=0]]]]]]])
753+
search([base=None, [scope=ldap.SCOPE_SUBTREE, [,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0]]]]]) -> int
754+
search_s([base=None, [scope=ldap.SCOPE_SUBTREE, [,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0]]]]])
755+
search_st([base=None, [scope=ldap.SCOPE_SUBTREE, [,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0 [,timeout=-1]]]]]])
756+
search_ext([base=None, [scope=ldap.SCOPE_SUBTREE, [,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0 [,serverctrls=None [,clientctrls=None [,timeout=-1 [,sizelimit=0]]]]]]]]])
757+
search_ext_s([base=None, [scope=ldap.SCOPE_SUBTREE, [,filterstr='(objectClass=*)' [,attrlist=None [,attrsonly=0 [,serverctrls=None [,clientctrls=None [,timeout=-1 [,sizelimit=0]]]]]]]]])
758758
759759
Perform an LDAP search operation, with base as the DN of
760760
the entry at which to start the search, scope being one of
@@ -820,17 +820,17 @@ def search_ext(self,base,scope,filterstr=None,attrlist=None,attrsonly=0,serverct
820820
timeout,sizelimit,
821821
)
822822

823-
def search_ext_s(self,base,scope,filterstr=None,attrlist=None,attrsonly=0,serverctrls=None,clientctrls=None,timeout=-1,sizelimit=0):
823+
def search_ext_s(self,base=None,scope=ldap.SCOPE_SUBTREE,filterstr=None,attrlist=None,attrsonly=0,serverctrls=None,clientctrls=None,timeout=-1,sizelimit=0):
824824
msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)
825825
return self.result(msgid,all=1,timeout=timeout)[1]
826826

827-
def search(self,base,scope,filterstr=None,attrlist=None,attrsonly=0):
827+
def search(self,base=None,scope=ldap.SCOPE_SUBTREE,filterstr=None,attrlist=None,attrsonly=0):
828828
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
829829

830-
def search_s(self,base,scope,filterstr=None,attrlist=None,attrsonly=0):
830+
def search_s(self,base=None,scope=ldap.SCOPE_SUBTREE,filterstr=None,attrlist=None,attrsonly=0):
831831
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
832832

833-
def search_st(self,base,scope,filterstr=None,attrlist=None,attrsonly=0,timeout=-1):
833+
def search_st(self,base=None,scope=ldap.SCOPE_SUBTREE,filterstr=None,attrlist=None,attrsonly=0,timeout=-1):
834834
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout)
835835

836836
def start_tls_s(self):
@@ -941,7 +941,7 @@ def search_subschemasubentry_s(self,dn=None):
941941
except IndexError:
942942
return None
943943

944-
def read_s(self,dn,filterstr=None,attrlist=None,serverctrls=None,clientctrls=None,timeout=-1):
944+
def read_s(self,dn=None,filterstr=None,attrlist=None,serverctrls=None,clientctrls=None,timeout=-1):
945945
"""
946946
Reads and returns a single entry specified by `dn'.
947947
@@ -984,7 +984,7 @@ def read_subschemasubentry_s(self,subschemasubentry_dn,attrs=None):
984984
else:
985985
return subschemasubentry
986986

987-
def find_unique_entry(self,base,scope=ldap.SCOPE_SUBTREE,filterstr=None,attrlist=None,attrsonly=0,serverctrls=None,clientctrls=None,timeout=-1):
987+
def find_unique_entry(self,base=None,scope=ldap.SCOPE_SUBTREE,filterstr=None,attrlist=None,attrsonly=0,serverctrls=None,clientctrls=None,timeout=-1):
988988
"""
989989
Returns a unique entry, raises exception if not unique
990990
"""
@@ -1056,7 +1056,7 @@ class ReconnectLDAPObject(SimpleLDAPObject):
10561056
}
10571057

10581058
def __init__(
1059-
self,uri,
1059+
self,uri=None,
10601060
trace_level=0,trace_file=None,trace_stack_limit=5,bytes_mode=None,
10611061
retry_max=1,retry_delay=60.0
10621062
):

Lib/ldap/syncrepl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ class SyncreplConsumer:
349349
SyncreplConsumer - LDAP syncrepl consumer object.
350350
"""
351351

352-
def syncrepl_search(self, base, scope, mode='refreshOnly', cookie=None, **search_args):
352+
def syncrepl_search(self, base=None, scope=None, mode='refreshOnly', cookie=None, **search_args):
353353
"""
354354
Starts syncrepl search operation.
355355

Modules/LDAPObject.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1162,7 +1162,7 @@ l_ldap_search_ext( LDAPObject* self, PyObject* args )
11621162
int msgid;
11631163
int ldaperror;
11641164

1165-
if (!PyArg_ParseTuple( args, "sis|OiOOdi",
1165+
if (!PyArg_ParseTuple( args, "zis|OiOOdi",
11661166
&base, &scope, &filter, &attrlist, &attrsonly,
11671167
&serverctrls, &clientctrls, &timeout, &sizelimit )) return NULL;
11681168
if (not_valid(self)) return NULL;

Modules/functions.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ l_ldap_initialize(PyObject* unused, PyObject *args)
1616
LDAP *ld = NULL;
1717
int ret;
1818

19-
if (!PyArg_ParseTuple(args, "s", &uri))
19+
if (!PyArg_ParseTuple(args, "z", &uri))
2020
return NULL;
2121

2222
Py_BEGIN_ALLOW_THREADS

0 commit comments

Comments
 (0)