You can subscribe to this list here.
| 2000 |
Jan
|
Feb
(34) |
Mar
(9) |
Apr
|
May
(2) |
Jun
(14) |
Jul
(67) |
Aug
(34) |
Sep
(5) |
Oct
(20) |
Nov
(22) |
Dec
(31) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(15) |
Feb
(16) |
Mar
(20) |
Apr
(13) |
May
(72) |
Jun
(42) |
Jul
(41) |
Aug
(11) |
Sep
(19) |
Oct
(67) |
Nov
(59) |
Dec
(57) |
| 2002 |
Jan
(74) |
Feb
(69) |
Mar
(34) |
Apr
(55) |
May
(47) |
Jun
(74) |
Jul
(116) |
Aug
(68) |
Sep
(25) |
Oct
(42) |
Nov
(28) |
Dec
(52) |
| 2003 |
Jan
(19) |
Feb
(18) |
Mar
(35) |
Apr
(49) |
May
(73) |
Jun
(39) |
Jul
(26) |
Aug
(59) |
Sep
(33) |
Oct
(56) |
Nov
(69) |
Dec
(137) |
| 2004 |
Jan
(276) |
Feb
(15) |
Mar
(18) |
Apr
(27) |
May
(25) |
Jun
(7) |
Jul
(13) |
Aug
(2) |
Sep
(2) |
Oct
(10) |
Nov
(27) |
Dec
(28) |
| 2005 |
Jan
(22) |
Feb
(25) |
Mar
(41) |
Apr
(17) |
May
(36) |
Jun
(13) |
Jul
(22) |
Aug
(12) |
Sep
(23) |
Oct
(6) |
Nov
(4) |
Dec
|
| 2006 |
Jan
(11) |
Feb
(3) |
Mar
(5) |
Apr
(22) |
May
(1) |
Jun
(10) |
Jul
(19) |
Aug
(7) |
Sep
(25) |
Oct
(23) |
Nov
(5) |
Dec
(27) |
| 2007 |
Jan
(25) |
Feb
(17) |
Mar
(44) |
Apr
(8) |
May
(33) |
Jun
(31) |
Jul
(42) |
Aug
(16) |
Sep
(12) |
Oct
(16) |
Nov
(23) |
Dec
(73) |
| 2008 |
Jan
(26) |
Feb
(6) |
Mar
(46) |
Apr
(17) |
May
(1) |
Jun
(44) |
Jul
(9) |
Aug
(34) |
Sep
(20) |
Oct
(2) |
Nov
(4) |
Dec
(16) |
| 2009 |
Jan
(14) |
Feb
(3) |
Mar
(45) |
Apr
(52) |
May
(34) |
Jun
(32) |
Jul
(24) |
Aug
(52) |
Sep
(22) |
Oct
(23) |
Nov
(19) |
Dec
(10) |
| 2010 |
Jan
(10) |
Feb
(13) |
Mar
(22) |
Apr
(9) |
May
(1) |
Jun
(1) |
Jul
(8) |
Aug
(9) |
Sep
(10) |
Oct
(1) |
Nov
(2) |
Dec
(3) |
| 2011 |
Jan
|
Feb
(18) |
Mar
(39) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Zhang H. <zhb...@gm...> - 2009-03-18 06:32:15
|
Michael Ströder wrote: > Aargh! My fault. Thanks David. > Modules/ldapcontrol.c in CVS HEAD should work now. Tested and it *WORKS* now, Thanks David & Michael. :) -- Best regards. Zhang Huangbin - Open Source Mail Server Solution for RHEL/CentOS 5.x: http://code.google.com/p/iredmail/ |
|
From: Michael S. <mi...@st...> - 2009-03-18 06:02:52
|
Michael Ströder wrote: > Zhang Huangbin wrote: >> Michael Ströder wrote: >>> This patch seems to work (already installed at your site ;-). >>> >> Something strange. >> >> The server your tested is CentOS 5.2 x86_64, and it works with your >> patched version. >> >> But on RHEL 5.3 x86_64, it raises ldap.NO_MEMORY error: > > Are you sure that the new version really was installed and gets used? Aargh! My fault. Thanks David. Modules/ldapcontrol.c in CVS HEAD should work now. Ciao, Michael. http://python-ldap.cvs.sourceforge.net/viewvc/python-ldap/python-ldap/Modules/ldapcontrol.c |
|
From: Sean B. <uni...@gm...> - 2009-03-17 22:53:22
|
Hi,
If I switch the control from RefreshPersist(3) to RefreshOnly(1) I get an
LDAP_RES_SEARCH_RESULT instead of LDAP_RES_INTERMEDIATE carrying the
SyncDoneControl. Strangely enough, the LDAP_RES_SEARCH_RESULT makes it back
to my code with an intact control:
rtype=101
rdata=[]
rmsgid=1
serverctrls=[('1.3.6.1.4.1.4203.1.9.1.3', 0,
'01\x04,csn=20090317224602Z#000000#00#000000,rid=000\x01\x01\xff')]
So the problem is that the control is lost if it is attached to an
LDAP_RES_INTERMEDIATE, but it is not lost when it is attached to an
LDAP_RES_SEARCH_RESULT.
--
Thanks,
Sean Burford
|
|
From: Sean B. <uni...@gm...> - 2009-03-17 21:25:49
|
Hi,
I've been working on implementing an RFC 4533 syncrepl consumer using
python-ldap. I can't work out why I can't get the SyncDoneControl that is
returned with the LDAP_RES_SEARCH_RESULT through python-ldap. The
SyncDoneControl contains the cookie that is needed for stateful/minimal
syncrepl refresh only, so losing that control makes the code a lot less
useful.
It looks like SyncStateControl is never returned to the Python code because
Modules/LDAPObject.c l_ldap_result3() calls LDAPmessage_to_python() for
LDAP_RES_SEARCH_ENTRY. LDAPmessage_to_python() discards controls in the
result. I can live with this.
I'm mystified as to why Modules/LDAPObject.c l_ldap_result3() doesn't return
the SyncDoneControl with the LDAP_RES_SEARCH_RESULT. I've waded through the
source and I'm pretty sure that nothing is deliberately filtering out the
control.
Here we can see that the control is in the result when l_ldap_result3()
calls ldap_parse_result():
Breakpoint 2, ldap_parse_result (ld=0x783710, r=0x730830,
errcodep=0x7fff5d8582c4, matcheddnp=0x0, errmsgp=0x0,
referralsp=0x7fff5d8582a8, serverctrls=0x7fff5d8582a0, freeit=0)
at error.c:261
(gdb) p *r->lm_ber
$6 = {ber_opts = {lbo_valid = 2, lbo_options = 1, lbo_debug = 0},
ber_tag = 121, ber_len = 81, ber_usertag = 0,
ber_buf = 0x7e3d60
"\002\001\001yL\200\0301.3.6.1.4.1.4203.1.9.1.4\2010¢.\004,csn=20090317201420Z#000000#00#000000,rid=000",
ber_ptr = 0x7e3d63
"yL\200\0301.3.6.1.4.1.4203.1.9.1.4\2010¢.\004,csn=20090317201420Z#000000#00#000000,rid=000",
ber_end = 0x7e3db1 "", ber_sos = 0x0,
ber_rwptr = 0x0, ber_memctx = 0x0}
(gdb) p *serverctrls
$7 = (LDAPControl **) 0x0
Here is my sample code:
class SyncRequestControl(ldap.controls.LDAPControl):
# The Sync Request Control is an LDAP Control [RFC4511] where the
# controlType is the object identifier 1.3.6.1.4.1.4203.1.9.1.1 and the
# controlValue, an OCTET STRING, contains a BER-encoded
# syncRequestValue. The criticality field is either TRUE or FALSE.
# syncRequestValue ::= SEQUENCE {
# mode ENUMERATED {
# -- 0 unused
# refreshOnly (1),
# -- 2 reserved
# refreshAndPersist (3)
# },
# cookie syncCookie OPTIONAL,
# reloadHint BOOLEAN DEFAULT FALSE
# }
# The Sync Request Control is only applicable to the SearchRequest
Message.
controlType='1.3.6.1.4.1.4203.1.9.1.1'
def __init__(self, controlType='1.3.6.1.4.1.4203.1.9.1.1',
criticality=False,
controlValue=None, encodedControlValue=None):
ldap.controls.LDAPControl.__init__(self, self.controlType, criticality,
controlValue, encodedControlValue)
def encodeControlValue(self, value):
# 30 31 Sequence tag (len=0x31)
# 0a 01 01 Enumerated (len=0x01) value 0x01 (RefreshOnly)
# 04 2C Octet String (len=0x2C) value 'csn=...,rid=000'
# 63 73 6e 3d 32 30 30 39 30 33 31 36 31 39 35 35
# 30 39 5a 23 30 30 30 30 30 30 23 30 30 23 30 30
# 30 30 30 30 2c 72 69 64 3d 30 30 30
mode, cookie, reload_hint = value
# Enumerated (len=0x01) value 0x01 (RefreshOnly)
result_content = struct.pack('BBB', 0x0A, 0x01, mode)
# Octet String (optional)
if cookie:
result_content += struct.pack('BB', 0x04, len(cookie))
result_content += cookie
# Boolean (optional)
if reload_hint:
result_content += struct.pack('BBB', 0x01, 0x01, 0xFF)
# Sequence tag
result_header = struct.pack('BB', 0x30, len(result_content))
return result_header + result_content
ldap.set_option(ldap.OPT_PROTOCOL_VERSION, ldap.VERSION3)
ldap.set_option(ldap.OPT_REFERRALS, 0)
conn = ldap.initialize(host)
sync_req_ctrl=SyncRequestControl(criticality=True,
controlValue=(3, cookie, True))
op_id = conn.search_ext(base, ldap.SCOPE_ONELEVEL,
attrlist=('dn',),
serverctrls=(sync_req_ctrl,),
)
# ldap.controls.knownLDAPControls[SyncStateControl.controlType] =
SyncStateControl
# ldap.controls.knownLDAPControls[SyncDoneControl.controlType] =
SyncDoneControl
#rtype, rdata, rmsgid, decoded_serverctrl = conn.result3(all=0, timeout=60)
rtype, rdata, rmsgid, serverctrls =
conn._ldap_call(conn._l.result3,_ldap.RES_ANY,0,60)
while rtype:
print 'rtype=%s' % rtype
print 'rdata=%s' % rdata
print 'rmsgid=%s' % rmsgid
print 'serverctrls=%s' % serverctrls
print ''
# rtype, rdata, rmsgid, decoded_serverctrl = conn.result3(all=0,
timeout=10)
rtype, rdata, rmsgid, serverctrls =
conn._ldap_call(conn._l.result3,_ldap.RES_ANY,0,10)
--
Thanks,
Sean Burford
|
|
From: Michael S. <mi...@st...> - 2009-03-17 12:38:27
|
Zhang Huangbin wrote: > Michael Ströder wrote: >> This patch seems to work (already installed at your site ;-). >> > Something strange. > > The server your tested is CentOS 5.2 x86_64, and it works with your > patched version. > > But on RHEL 5.3 x86_64, it raises ldap.NO_MEMORY error: Are you sure that the new version really was installed and gets used? I'm asking since I also made a mistake regarding this during testing. You might wanna check with python -v which modules get loaded and check the file timestamp of the _ldap.so file. Ciao, Michael. |
|
From: Zhang H. <zhb...@gm...> - 2009-03-17 03:22:38
|
Michael Ströder wrote:
> This patch seems to work (already installed at your site ;-).
>
> Ciao, Michael.
>
> Index: Modules/ldapcontrol.c
> ===================================================================
> RCS file: /cvsroot/python-ldap/python-ldap/Modules/ldapcontrol.c,v
> retrieving revision 1.10
> diff -u -r1.10 ldapcontrol.c
> --- Modules/ldapcontrol.c 16 Mar 2009 14:54:55 -0000 1.10
> +++ Modules/ldapcontrol.c 16 Mar 2009 17:29:04 -0000
> @@ -300,11 +300,13 @@
> ber_tag_t tag;
> struct berval *cookiep;
> unsigned long count;
> + Py_ssize_t ldctl_value_len;
>
> if (!PyArg_ParseTuple(args, "s#:decode_page_control",
> &ldctl_value.bv_val, &ldctl_value.bv_len)) {
> goto endlbl;
> }
> + ldctl_value.bv_len = (ber_len_t) ldctl_value_len;
>
> if (!(ber = ber_init(&ldctl_value))) {
> LDAPerr(LDAP_NO_MEMORY);
>
>
Hi, Michael.
Something strange.
The server your tested is CentOS 5.2 x86_64, and it works with your
patched version.
But on RHEL 5.3 x86_64, it raises ldap.NO_MEMORY error:
----
# python 1.py
Getting page 1
Traceback (most recent call last):
File "1.py", line 30, in ?
rtype, rdata, rmsgid, serverctrls = l.result3(msgid)
File "/usr/lib64/python2.4/site-packages/ldap/ldapobject.py", line
443, in result3
decoded_serverctrls = DecodeControlTuples(serverctrls)
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 122,
in DecodeControlTuples
return [
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 74,
in __init__
LDAPControl.__init__(self,ldap.LDAP_CONTROL_PAGE_OID,criticality,controlValue,encodedControlValue)
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 33,
in __init__
self.controlValue = controlValue or
self.decodeControlValue(encodedControlValue)
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 81,
in decodeControlValue
size,cookie = _ldap.decode_page_control(encodedValue)
ldap.NO_MEMORY
----
But i don't have a public RHEL 5.3 x86_64 server. :(
--
Best regards.
Zhang Huangbin
- Open Source Mail Server Solution for RHEL/CentOS 5.x:
http://code.google.com/p/iredmail/
|
|
From: Zhang H. <zhb...@gm...> - 2009-03-16 18:35:30
|
Michael Ströder wrote:
> This patch seems to work (already installed at your site ;-).
>
> Ciao, Michael.
>
> Index: Modules/ldapcontrol.c
> ===================================================================
> RCS file: /cvsroot/python-ldap/python-ldap/Modules/ldapcontrol.c,v
> retrieving revision 1.10
> diff -u -r1.10 ldapcontrol.c
> --- Modules/ldapcontrol.c 16 Mar 2009 14:54:55 -0000 1.10
> +++ Modules/ldapcontrol.c 16 Mar 2009 17:29:04 -0000
> @@ -300,11 +300,13 @@
> ber_tag_t tag;
> struct berval *cookiep;
> unsigned long count;
> + Py_ssize_t ldctl_value_len;
>
> if (!PyArg_ParseTuple(args, "s#:decode_page_control",
> &ldctl_value.bv_val, &ldctl_value.bv_len)) {
> goto endlbl;
> }
> + ldctl_value.bv_len = (ber_len_t) ldctl_value_len;
>
> if (!(ber = ber_init(&ldctl_value))) {
> LDAPerr(LDAP_NO_MEMORY);
>
>
>
hi, Michael.
I found another problem. Below code works:
>>> import ldap
>>> from ldap.controls import SimplePagedResultsControl
>>>
SimplePagedResultsControl(ldap.LDAP_CONTROL_PAGE_OID,True,(10,'')).getEncodedTuple()
('1.2.840.113556.1.4.319', True, '0\x05\x02\x01\n\x04\x00')
>>>
But Demo/page_control.py doesn't work, it raises ldap.NO_MEMORY
sometimes, and 'Segmentation fault' too.
----
# python 1.py
ldap_create
ldap_url_parse_ext(ldap://r6:389/)
*** ldap://r6:389/ - SimpleLDAPObject.set_option ((17, 3),{})
*** ldap://r6:389/ - SimpleLDAPObject.set_option ((17, 3),{})
*** ldap://r6:389/ - SimpleLDAPObject.simple_bind
(('cn=Manager,dc=iredmail,dc=org', 'passwd', None, None),{})
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP r6:389
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 192.168.122.6:389
ldap_connect_timeout: fd: 3 tm: -1 async: 0
ldap_open_defconn: successful
ldap_send_server_request
=> result: 1
*** ldap://r6:389/ - SimpleLDAPObject.result3 ((1, 1, -1),{})
ldap_result ld 0xb1cd7d0 msgid 1
ldap_chkResponseList ld 0xb1cd7d0 msgid 1 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
wait4msg ld 0xb1cd7d0 msgid 1 (infinite timeout)
wait4msg continue ld 0xb1cd7d0 msgid 1 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 1, origid 1, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
Empty
ldap_chkResponseList ld 0xb1cd7d0 msgid 1 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 1 all 1
read1msg: ld 0xb1cd7d0 msgid 1 message type bind
read1msg: ld 0xb1cd7d0 0 new referrals
read1msg: mark request completed, ld 0xb1cd7d0 msgid 1
request done: ld 0xb1cd7d0 msgid 1
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 1, msgid 1)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
ldap_parse_result
ldap_msgfree
=> result: (97, [], 1, [])
*** ldap://r6:389/ - SimpleLDAPObject.search_ext
(('domainName=b.cn,o=domains,dc=iredmail,dc=org', 2,
'(objectClass=mailUser)', None, 0, [('1.2.840.113556.1.4.319', True,
'0\x05\x02\x01\n\x04\x00')], None, -1, 0),{})
ldap_search_ext
put_filter: "(objectClass=mailUser)"
put_filter: simple
put_simple_filter: "objectClass=mailUser"
ldap_build_search_req ATTRS: *
ldap_send_initial_request
ldap_send_server_request
=> result: 2
Getting page 1
*** ldap://r6:389/ - SimpleLDAPObject.result3 ((2, 1, -1),{})
ldap_result ld 0xb1cd7d0 msgid 2
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
wait4msg ld 0xb1cd7d0 msgid 2 (infinite timeout)
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
Empty
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-entry
adding response ld 0xb1cd7d0 msgid 2 type 100:
wait4msg continue ld 0xb1cd7d0 msgid 2 all 1
** ld 0xb1cd7d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:34:51 2009
** ld 0xb1cd7d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xb1cd7d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0xb1cd7d0 msgid 2 all 1
ldap_chkResponseList returns ld 0xb1cd7d0 NULL
ldap_int_select
read1msg: ld 0xb1cd7d0 msgid 2 all 1
read1msg: ld 0xb1cd7d0 msgid 2 message type search-result
read1msg: ld 0xb1cd7d0 0 new referrals
read1msg: mark request completed, ld 0xb1cd7d0 msgid 2
request done: ld 0xb1cd7d0 msgid 2
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 2, msgid 2)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
adding response ld 0xb1cd7d0 msgid 2 type 101:
ldap_parse_result
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_msgfree
=> result: (101,
[('mail=1@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['1'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}xMpCOKC5I4INzFCab3WEmw=='], 'accountStatus': ['active'], 'sn':
['1'], 'homeDirectory': ['/home/vmail'], 'mail': ['1@b.cn'],
'mailMessageStore': ['b.cn/1/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['1']}),
('mail=2@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['2'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}yB5yjZ1ML2NvBn+JzBSGLA=='], 'accountStatus': ['active'], 'sn':
['2'], 'homeDirectory': ['/home/vmail'], 'mail': ['2@b.cn'],
'mailMessageStore': ['b.cn/2/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['2']}),
('mail=3@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['3'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}7MvIfktc4v4oMI/Z8qe68w=='], 'accountStatus': ['active'], 'sn':
['3'], 'homeDirectory': ['/home/vmail'], 'mail': ['3@b.cn'],
'mailMessageStore': ['b.cn/3/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['3']}),
('mail=4@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['4'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}qH/2eaLz5x2RgaZ7dUISLA=='], 'accountStatus': ['active'], 'sn':
['4'], 'homeDirectory': ['/home/vmail'], 'mail': ['4@b.cn'],
'mailMessageStore': ['b.cn/4/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['4']}),
('mail=5@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['5'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}5No7f7vOI0XXdysGdKMY1Q=='], 'accountStatus': ['active'], 'sn':
['5'], 'homeDirectory': ['/home/vmail'], 'mail': ['5@b.cn'],
'mailMessageStore': ['b.cn/5/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['5']}),
('mail=6@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['6'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}FnkJHFqID69vteYIfrGy3A=='], 'accountStatus': ['active'], 'sn':
['6'], 'homeDirectory': ['/home/vmail'], 'mail': ['6@b.cn'],
'mailMessageStore': ['b.cn/6/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['6']}),
('mail=7@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['7'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}jxTkX87qFnpaNt7dS+olQw=='], 'accountStatus': ['active'], 'sn':
['7'], 'homeDirectory': ['/home/vmail'], 'mail': ['7@b.cn'],
'mailMessageStore': ['b.cn/7/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['7']}),
('mail=8@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['8'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}yfD4lfuYq5FZ9R/QKX4jbQ=='], 'accountStatus': ['active'], 'sn':
['8'], 'homeDirectory': ['/home/vmail'], 'mail': ['8@b.cn'],
'mailMessageStore': ['b.cn/8/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['8']}),
('mail=9@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['9'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}RcSMzi4tf73qGvxRx8atJg=='], 'accountStatus': ['active'], 'sn':
['9'], 'homeDirectory': ['/home/vmail'], 'mail': ['9@b.cn'],
'mailMessageStore': ['b.cn/9/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['9']}),
('mail=10@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['10'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}09lEaAKkQll1XTjm0WPoIA=='], 'accountStatus': ['active'], 'sn':
['10'], 'homeDirectory': ['/home/vmail'], 'mail': ['10@b.cn'],
'mailMessageStore': ['b.cn/10/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['10']})], 2,
[('1.2.840.113556.1.4.319', 0,
'0\r\x02\x01\x00\x04\x08.\x02\x00\x00\x00\x00\x00\x00')])
Traceback (most recent call last):
File "1.py", line 32, in ?
rtype, rdata, rmsgid, serverctrls = l.result3(msgid)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/ldapobject.py",
line 443, in result3
decoded_serverctrls = DecodeControlTuples(serverctrls)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 122, in DecodeControlTuples
return [
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 74, in __init__
LDAPControl.__init__(self,ldap.LDAP_CONTROL_PAGE_OID,criticality,controlValue,encodedControlValue)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 33, in __init__
self.controlValue = controlValue or
self.decodeControlValue(encodedControlValue)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 81, in decodeControlValue
size,cookie = _ldap.decode_page_control(encodedValue)
ldap.NO_MEMORY
ldap_free_connection 1 1
ldap_send_unbind
ldap_free_connection: actually freed
----
----
# python 1.py
ldap_create
ldap_url_parse_ext(ldap://r6:389/)
*** ldap://r6:389/ - SimpleLDAPObject.set_option ((17, 3),{})
*** ldap://r6:389/ - SimpleLDAPObject.set_option ((17, 3),{})
*** ldap://r6:389/ - SimpleLDAPObject.simple_bind
(('cn=Manager,dc=iredmail,dc=org', 'passwd', None, None),{})
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP r6:389
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 192.168.122.6:389
ldap_connect_timeout: fd: 3 tm: -1 async: 0
ldap_open_defconn: successful
ldap_send_server_request
=> result: 1
*** ldap://r6:389/ - SimpleLDAPObject.result3 ((1, 1, -1),{})
ldap_result ld 0x11df67d0 msgid 1
ldap_chkResponseList ld 0x11df67d0 msgid 1 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
wait4msg ld 0x11df67d0 msgid 1 (infinite timeout)
wait4msg continue ld 0x11df67d0 msgid 1 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 1, origid 1, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
Empty
ldap_chkResponseList ld 0x11df67d0 msgid 1 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 1 all 1
read1msg: ld 0x11df67d0 msgid 1 message type bind
read1msg: ld 0x11df67d0 0 new referrals
read1msg: mark request completed, ld 0x11df67d0 msgid 1
request done: ld 0x11df67d0 msgid 1
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 1, msgid 1)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
ldap_parse_result
ldap_msgfree
=> result: (97, [], 1, [])
*** ldap://r6:389/ - SimpleLDAPObject.search_ext
(('domainName=b.cn,o=domains,dc=iredmail,dc=org', 2,
'(objectClass=mailUser)', None, 0, [('1.2.840.113556.1.4.319', True,
'0\x05\x02\x01\n\x04\x00')], None, -1, 0),{})
ldap_search_ext
put_filter: "(objectClass=mailUser)"
put_filter: simple
put_simple_filter: "objectClass=mailUser"
ldap_build_search_req ATTRS: *
ldap_send_initial_request
ldap_send_server_request
=> result: 2
Getting page 1
*** ldap://r6:389/ - SimpleLDAPObject.result3 ((2, 1, -1),{})
ldap_result ld 0x11df67d0 msgid 2
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
wait4msg ld 0x11df67d0 msgid 2 (infinite timeout)
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
Empty
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-entry
adding response ld 0x11df67d0 msgid 2 type 100:
wait4msg continue ld 0x11df67d0 msgid 2 all 1
** ld 0x11df67d0 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Mar 17 02:35:36 2009
** ld 0x11df67d0 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x11df67d0 Response Queue:
* msgid 2, type 100
chained responses:
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
* msgid 2, type 100
ldap_chkResponseList ld 0x11df67d0 msgid 2 all 1
ldap_chkResponseList returns ld 0x11df67d0 NULL
ldap_int_select
read1msg: ld 0x11df67d0 msgid 2 all 1
read1msg: ld 0x11df67d0 msgid 2 message type search-result
read1msg: ld 0x11df67d0 0 new referrals
read1msg: mark request completed, ld 0x11df67d0 msgid 2
request done: ld 0x11df67d0 msgid 2
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 2, msgid 2)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
adding response ld 0x11df67d0 msgid 2 type 101:
ldap_parse_result
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_msgfree
=> result: (101,
[('mail=1@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['1'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}xMpCOKC5I4INzFCab3WEmw=='], 'accountStatus': ['active'], 'sn':
['1'], 'homeDirectory': ['/home/vmail'], 'mail': ['1@b.cn'],
'mailMessageStore': ['b.cn/1/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['1']}),
('mail=2@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['2'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}yB5yjZ1ML2NvBn+JzBSGLA=='], 'accountStatus': ['active'], 'sn':
['2'], 'homeDirectory': ['/home/vmail'], 'mail': ['2@b.cn'],
'mailMessageStore': ['b.cn/2/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['2']}),
('mail=3@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['3'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}7MvIfktc4v4oMI/Z8qe68w=='], 'accountStatus': ['active'], 'sn':
['3'], 'homeDirectory': ['/home/vmail'], 'mail': ['3@b.cn'],
'mailMessageStore': ['b.cn/3/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['3']}),
('mail=4@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['4'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}qH/2eaLz5x2RgaZ7dUISLA=='], 'accountStatus': ['active'], 'sn':
['4'], 'homeDirectory': ['/home/vmail'], 'mail': ['4@b.cn'],
'mailMessageStore': ['b.cn/4/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['4']}),
('mail=5@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['5'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}5No7f7vOI0XXdysGdKMY1Q=='], 'accountStatus': ['active'], 'sn':
['5'], 'homeDirectory': ['/home/vmail'], 'mail': ['5@b.cn'],
'mailMessageStore': ['b.cn/5/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['5']}),
('mail=6@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['6'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}FnkJHFqID69vteYIfrGy3A=='], 'accountStatus': ['active'], 'sn':
['6'], 'homeDirectory': ['/home/vmail'], 'mail': ['6@b.cn'],
'mailMessageStore': ['b.cn/6/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['6']}),
('mail=7@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['7'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}jxTkX87qFnpaNt7dS+olQw=='], 'accountStatus': ['active'], 'sn':
['7'], 'homeDirectory': ['/home/vmail'], 'mail': ['7@b.cn'],
'mailMessageStore': ['b.cn/7/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['7']}),
('mail=8@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['8'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}yfD4lfuYq5FZ9R/QKX4jbQ=='], 'accountStatus': ['active'], 'sn':
['8'], 'homeDirectory': ['/home/vmail'], 'mail': ['8@b.cn'],
'mailMessageStore': ['b.cn/8/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['8']}),
('mail=9@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['9'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}RcSMzi4tf73qGvxRx8atJg=='], 'accountStatus': ['active'], 'sn':
['9'], 'homeDirectory': ['/home/vmail'], 'mail': ['9@b.cn'],
'mailMessageStore': ['b.cn/9/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['9']}),
('mail=10@b.cn,ou=Users,domainName=b.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['10'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}09lEaAKkQll1XTjm0WPoIA=='], 'accountStatus': ['active'], 'sn':
['10'], 'homeDirectory': ['/home/vmail'], 'mail': ['10@b.cn'],
'mailMessageStore': ['b.cn/10/'], 'enabledService': ['mail', 'imap',
'pop3', 'smtp', 'deliver'], 'uid': ['10']})], 2,
[('1.2.840.113556.1.4.319', 0,
'0\r\x02\x01\x00\x04\x08.\x02\x00\x00\x00\x00\x00\x00')])
Segmentation fault
----
--
Best regards.
Zhang Huangbin
- Open Source Mail Server Solution for RHEL/CentOS 5.x:
http://code.google.com/p/iredmail/
|
|
From: Zhang H. <zhb...@gm...> - 2009-03-16 18:22:54
|
Michael Ströder wrote:
> This patch seems to work (already installed at your site ;-).
> Ciao, Michael.
>
> Index: Modules/ldapcontrol.c
> ===================================================================
> RCS file: /cvsroot/python-ldap/python-ldap/Modules/ldapcontrol.c,v
> retrieving revision 1.10
> diff -u -r1.10 ldapcontrol.c
> --- Modules/ldapcontrol.c 16 Mar 2009 14:54:55 -0000 1.10
> +++ Modules/ldapcontrol.c 16 Mar 2009 17:29:04 -0000
> @@ -300,11 +300,13 @@
> ber_tag_t tag;
> struct berval *cookiep;
> unsigned long count;
> + Py_ssize_t ldctl_value_len;
>
> if (!PyArg_ParseTuple(args, "s#:decode_page_control",
> &ldctl_value.bv_val, &ldctl_value.bv_len)) {
> goto endlbl;
> }
> + ldctl_value.bv_len = (ber_len_t) ldctl_value_len;
>
> if (!(ber = ber_init(&ldctl_value))) {
> LDAPerr(LDAP_NO_MEMORY);
>
>
>
So great, it works now.
Big thanks, Michael. :)
--
Best regards.
Zhang Huangbin
- Open Source Mail Server Solution for RHEL/CentOS 5.x:
http://code.google.com/p/iredmail/
|
|
From: Michael S. <mi...@st...> - 2009-03-16 17:30:48
|
Zhang Huangbin wrote:
> Michael Ströder wrote:
>> Thanks to Zhang Huangbin for giving me access to his machine for testing.
>> So I could track it down. It seems to work with the patch below which I
>> committed to CVS HEAD.
>
> Hi, Michael. Thanks for your quick response and hard work :)
>
> But i got new error (ldap.NO_MEMORY) here:
This patch seems to work (already installed at your site ;-).
Ciao, Michael.
Index: Modules/ldapcontrol.c
===================================================================
RCS file: /cvsroot/python-ldap/python-ldap/Modules/ldapcontrol.c,v
retrieving revision 1.10
diff -u -r1.10 ldapcontrol.c
--- Modules/ldapcontrol.c 16 Mar 2009 14:54:55 -0000 1.10
+++ Modules/ldapcontrol.c 16 Mar 2009 17:29:04 -0000
@@ -300,11 +300,13 @@
ber_tag_t tag;
struct berval *cookiep;
unsigned long count;
+ Py_ssize_t ldctl_value_len;
if (!PyArg_ParseTuple(args, "s#:decode_page_control",
&ldctl_value.bv_val, &ldctl_value.bv_len)) {
goto endlbl;
}
+ ldctl_value.bv_len = (ber_len_t) ldctl_value_len;
if (!(ber = ber_init(&ldctl_value))) {
LDAPerr(LDAP_NO_MEMORY);
|
|
From: Zhang H. <zhb...@gm...> - 2009-03-16 15:38:46
|
Michael Ströder wrote:
> Thanks to Zhang Huangbin for giving me access to his machine for testing.
> So I could track it down. It seems to work with the patch below which I
> committed to CVS HEAD.
Hi, Michael. Thanks for your quick response and hard work :)
But i got new error (ldap.NO_MEMORY) here:
----
$ python 1.py
ldap_create
ldap_url_parse_ext(ldap://r6:389/)
*** ldap://r6:389/ - SimpleLDAPObject.set_option ((17, 3),{})
*** ldap://r6:389/ - SimpleLDAPObject.set_option ((17, 3),{})
*** ldap://r6:389/ - SimpleLDAPObject.simple_bind
(('cn=Manager,dc=iredmail,dc=org', 'passwd', None, None),{})
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP r6:389
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 192.168.122.6:389
ldap_connect_timeout: fd: 3 tm: -1 async: 0
ldap_open_defconn: successful
ldap_send_server_request
=> result: 1
*** ldap://r6:389/ - SimpleLDAPObject.result3 ((1, 1, -1),{})
ldap_result ld 0xd271300 msgid 1
ldap_chkResponseList ld 0xd271300 msgid 1 all 1
ldap_chkResponseList returns ld 0xd271300 NULL
wait4msg ld 0xd271300 msgid 1 (infinite timeout)
wait4msg continue ld 0xd271300 msgid 1 all 1
** ld 0xd271300 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Mon Mar 16 23:38:48 2009
** ld 0xd271300 Outstanding Requests:
* msgid 1, origid 1, status InProgress
outstanding referrals 0, parent count 0
** ld 0xd271300 Response Queue:
Empty
ldap_chkResponseList ld 0xd271300 msgid 1 all 1
ldap_chkResponseList returns ld 0xd271300 NULL
ldap_int_select
read1msg: ld 0xd271300 msgid 1 all 1
read1msg: ld 0xd271300 msgid 1 message type bind
read1msg: ld 0xd271300 0 new referrals
read1msg: mark request completed, ld 0xd271300 msgid 1
request done: ld 0xd271300 msgid 1
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 1, msgid 1)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
ldap_parse_result
ldap_msgfree
=> result: (97, [], 1, [])
*** ldap://r6:389/ - SimpleLDAPObject.search_ext
(('o=domains,dc=iredmail,dc=org', 2, '(objectClass=mailUser)', None, 0,
[('1.2.840.113556.1.4.319', True, '0\x05\x02\x01\n\x04\x00')], None, -1,
0),{})
ldap_search_ext
put_filter: "(objectClass=mailUser)"
put_filter: simple
put_simple_filter: "objectClass=mailUser"
ldap_build_search_req ATTRS: *
ldap_send_initial_request
ldap_send_server_request
=> result: 2
Getting page 1
*** ldap://r6:389/ - SimpleLDAPObject.result3 ((2, 1, -1),{})
ldap_result ld 0xd271300 msgid 2
ldap_chkResponseList ld 0xd271300 msgid 2 all 1
ldap_chkResponseList returns ld 0xd271300 NULL
wait4msg ld 0xd271300 msgid 2 (infinite timeout)
wait4msg continue ld 0xd271300 msgid 2 all 1
** ld 0xd271300 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Mon Mar 16 23:38:48 2009
** ld 0xd271300 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xd271300 Response Queue:
Empty
ldap_chkResponseList ld 0xd271300 msgid 2 all 1
ldap_chkResponseList returns ld 0xd271300 NULL
ldap_int_select
read1msg: ld 0xd271300 msgid 2 all 1
read1msg: ld 0xd271300 msgid 2 message type search-entry
wait4msg continue ld 0xd271300 msgid 2 all 1
** ld 0xd271300 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Mon Mar 16 23:38:48 2009
** ld 0xd271300 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0xd271300 Response Queue:
* msgid 2, type 100
ldap_chkResponseList ld 0xd271300 msgid 2 all 1
ldap_chkResponseList returns ld 0xd271300 NULL
ldap_int_select
read1msg: ld 0xd271300 msgid 2 all 1
read1msg: ld 0xd271300 msgid 2 message type search-result
read1msg: ld 0xd271300 0 new referrals
read1msg: mark request completed, ld 0xd271300 msgid 2
request done: ld 0xd271300 msgid 2
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 2, msgid 2)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
adding response ld 0xd271300 msgid 2 type 101:
ldap_parse_result
ldap_get_dn
ldap_first_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_get_values_len
ldap_next_attribute
ldap_msgfree
=> result: (101,
[('mail=www@a.cn,ou=Users,domainName=a.cn,o=domains,dc=iredmail,dc=org',
{'cn': ['www'], 'mailQuota': ['104857600'], 'objectClass':
['inetOrgPerson', 'mailUser', 'top'], 'userPassword':
['{MD5}Tq418bNZd6AOvYCGwlnUyQ=='], 'accountStatus': ['active'], 'sn':
['www'], 'homeDirectory': ['/home/vmail'], 'mail': ['www@a.cn'],
'mailMessageStore': ['a.cn/w/ww/www/'], 'enabledService': ['mail',
'imap', 'pop3', 'smtp', 'deliver'], 'uid': ['www']})], 2,
[('1.2.840.113556.1.4.319', 0, '0\x05\x02\x01\x00\x04\x00')])
Traceback (most recent call last):
File "1.py", line 31, in ?
rtype, rdata, rmsgid, serverctrls = l.result3(msgid)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/ldapobject.py",
line 443, in result3
decoded_serverctrls = DecodeControlTuples(serverctrls)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 122, in DecodeControlTuples
return [
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 74, in __init__
LDAPControl.__init__(self,ldap.LDAP_CONTROL_PAGE_OID,criticality,controlValue,encodedControlValue)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 33, in __init__
self.controlValue = controlValue or
self.decodeControlValue(encodedControlValue)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 81, in decodeControlValue
size,cookie = _ldap.decode_page_control(encodedValue)
ldap.NO_MEMORY
ldap_free_connection 1 1
ldap_send_unbind
ldap_free_connection: actually freed
----
--
Best regards.
Zhang Huangbin
- Open Source Mail Server Solution for RHEL/CentOS 5.x:
http://code.google.com/p/iredmail/
|
|
From: Michael S. <mi...@st...> - 2009-03-16 14:55:31
|
Zhang Huangbin wrote:
> Michael Ströder wrote:
>> Could somebody with more knowledge of C programming please review
>> function encode_rfc2696() in Modules/ldapcontrol.c?
>>
>> The following var declaration could be problematic on 64-bit systems:
>>
>> unsigned long size;
Thanks to Zhang Huangbin for giving me access to his machine for testing.
So I could track it down. It seems to work with the patch below which I
committed to CVS HEAD.
Ciao, Michael.
Index: Modules/ldapcontrol.c
===================================================================
RCS file: /cvsroot/python-ldap/python-ldap/Modules/ldapcontrol.c,v
retrieving revision 1.9
diff -u -r1.9 ldapcontrol.c
--- Modules/ldapcontrol.c 20 Mar 2008 12:24:56 -0000 1.9
+++ Modules/ldapcontrol.c 16 Mar 2009 14:48:49 -0000
@@ -241,13 +241,15 @@
PyObject *res = 0;
BerElement *ber = 0;
struct berval cookie, *ctrl_val;
+ Py_ssize_t cookie_len;
unsigned long size;
ber_tag_t tag;
if (!PyArg_ParseTuple(args, "is#:encode_page_control", &size,
- &cookie.bv_val, &cookie.bv_len)) {
+ &cookie.bv_val, &cookie_len)) {
goto endlbl;
}
+ cookie.bv_len = (ber_len_t) cookie_len;
if (!(ber = ber_alloc_t(LBER_USE_DER))) {
LDAPerr(LDAP_NO_MEMORY);
|
|
From: Michael S. <mi...@st...> - 2009-03-16 13:45:24
|
Zhang Huangbin wrote: > Michael Ströder wrote: >> Could somebody with more knowledge of C programming please review >> function encode_rfc2696() in Modules/ldapcontrol.c? >> >> The following var declaration could be problematic on 64-bit systems: >> >> unsigned long size; >> >> Another issue could be in decode_rfc2696() (which is not yet reached if >> encode_rfc2696() fails): >> >> unsigned long count; > > I asked friend and he suggests me change them to: > > unsigned long size; => unsigned int size; > unsigned long count; => unsigned int count; > > Re-compile and install, but it raises the same error. I guess both is platform-dependent and hence the error. Do you see any compiler warnings during build of python-ldap? Can you please send the output? Ciao, Michael. |
|
From: Zhang H. <zhb...@gm...> - 2009-03-16 13:30:03
|
Michael Ströder wrote: > Could somebody with more knowledge of C programming please review > function encode_rfc2696() in Modules/ldapcontrol.c? > > The following var declaration could be problematic on 64-bit systems: > > unsigned long size; > > Another issue could be in decode_rfc2696() (which is not yet reached if > encode_rfc2696() fails): > > unsigned long count; I asked friend and he suggests me change them to: unsigned long size; => unsigned int size; unsigned long count; => unsigned int count; Re-compile and install, but it raises the same error. -- Best regards. Zhang Huangbin - Open Source Mail Server Solution for RHEL/CentOS 5.x: http://code.google.com/p/iredmail/ |
|
From: Michael S. <mi...@st...> - 2009-03-16 12:48:48
|
Michael Ströder wrote:
> Zhang Huangbin wrote:
>> Michael Ströder wrote:
>>> To all of the people experiencing problems:
>>> Could you please run Demo/page_control.py after applying the attached
>>> patch (which enables debug logging).
>> Here is output msg:
>
> So this seems to boil down to that the following commands (lines
> wrapped) would fail at your site instead of returning the encoded
> control tuple:
>
>>>> import ldap
>>>> from ldap.controls import SimplePagedResultsControl
>>>>
> SimplePagedResultsControl(ldap.LDAP_CONTROL_PAGE_OID,True,(10,'')).getEncodedTuple()
> ('1.2.840.113556.1.4.319', True, '0\x05\x02\x01\n\x04\x00')
Could somebody with more knowledge of C programming please review
function encode_rfc2696() in Modules/ldapcontrol.c?
The following var declaration could be problematic on 64-bit systems:
unsigned long size;
Another issue could be in decode_rfc2696() (which is not yet reached if
encode_rfc2696() fails):
unsigned long count;
Ciao, Michael.
|
|
From: Zhang H. <zhb...@gm...> - 2009-03-16 12:22:32
|
Michael Ströder wrote:
> So this seems to boil down to that the following commands (lines
> wrapped) would fail at your site instead of returning the encoded
> control tuple:
>
>
>>>> import ldap
>>>> from ldap.controls import SimplePagedResultsControl
>>>>
>>>>
> SimplePagedResultsControl(ldap.LDAP_CONTROL_PAGE_OID,True,(10,'')).getEncodedTuple()
> ('1.2.840.113556.1.4.319', True, '0\x05\x02\x01\n\x04\x00')
>
Thanks Michael. :)
You are right, here is the output:
----
# python
Python 2.4.3 (#1, Sep 17 2008, 16:07:08)
[GCC 4.1.2 20071124 (Red Hat 4.1.2-41)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ldap
>>> ldap.__version__
'2.3.6'
>>> from ldap.controls import SimplePagedResultsControl
>>>
SimplePagedResultsControl(ldap.LDAP_CONTROL_PAGE_OID,True,(10,'')).getEncodedTuple()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 45,
in getEncodedTuple
return
(self.controlType,self.criticality,self.encodeControlValue(self.controlValue))
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 78,
in encodeControlValue
return _ldap.encode_page_control(size,cookie)
ldap.ENCODING_ERROR
----
What's the problem? How can i solve it?
Thanks very much. :)
--
Best regards.
Zhang Huangbin
- Open Source Mail Server Solution for RHEL/CentOS 5.x:
http://code.google.com/p/iredmail/
|
|
From: Michael S. <mi...@st...> - 2009-03-16 12:13:54
|
Zhang Huangbin wrote:
> Michael Ströder wrote:
>> To all of the people experiencing problems:
>> Could you please run Demo/page_control.py after applying the attached
>> patch (which enables debug logging).
>
> Here is output msg:
So this seems to boil down to that the following commands (lines
wrapped) would fail at your site instead of returning the encoded
control tuple:
>>> import ldap
>>> from ldap.controls import SimplePagedResultsControl
>>>
SimplePagedResultsControl(ldap.LDAP_CONTROL_PAGE_OID,True,(10,'')).getEncodedTuple()
('1.2.840.113556.1.4.319', True, '0\x05\x02\x01\n\x04\x00')
Ciao, Michael.
|
|
From: Zhang H. <zhb...@gm...> - 2009-03-16 12:01:00
|
Michael Ströder wrote:
> To all of the people experiencing problems:
> Could you please run Demo/page_control.py after applying the attached
> patch (which enables debug logging).
>
> Index: Demo/page_control.py
> ===================================================================
> RCS file: /cvsroot/python-ldap/python-ldap/Demo/page_control.py,v
> retrieving revision 1.4
> diff -u -r1.4 page_control.py
> --- Demo/page_control.py 8 Dec 2006 12:38:39 -0000 1.4
> +++ Demo/page_control.py 16 Mar 2009 11:33:41 -0000
> @@ -6,8 +6,9 @@
> import ldap
> from ldap.controls import SimplePagedResultsControl
>
> +ldap.set_option(ldap.OPT_DEBUG_LEVEL,255)
> ldap.set_option(ldap.OPT_REFERRALS, 0)
> -l = ldap.initialize(url)
> +l = ldap.initialize(url,trace_level=2)
> l.protocol_version = 3
> l.simple_bind_s("", "")
>
>
Thanks Michael. :)
Here is output msg:
----
$ python page_control.py
ldap_create
ldap_url_parse_ext(ldap://r6:389/)
*** ldap://r6:389/ - SimpleLDAPObject.set_option ((17, 3),{})
*** ldap://r6:389/ - SimpleLDAPObject.set_option ((17, 3),{})
*** ldap://r6:389/ - SimpleLDAPObject.simple_bind
(('cn=Manager,dc=iredmail,dc=org', 'passwd', None, None),{})
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP r6:389
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 192.168.122.6:389
ldap_connect_timeout: fd: 3 tm: -1 async: 0
ldap_open_defconn: successful
ldap_send_server_request
=> result: 1
*** ldap://r6:389/ - SimpleLDAPObject.result3 ((1, 1, -1),{})
ldap_result ld 0x1671b300 msgid 1
ldap_chkResponseList ld 0x1671b300 msgid 1 all 1
ldap_chkResponseList returns ld 0x1671b300 NULL
wait4msg ld 0x1671b300 msgid 1 (infinite timeout)
wait4msg continue ld 0x1671b300 msgid 1 all 1
** ld 0x1671b300 Connections:
* host: r6 port: 389 (default)
refcnt: 2 status: Connected
last used: Mon Mar 16 20:00:35 2009
** ld 0x1671b300 Outstanding Requests:
* msgid 1, origid 1, status InProgress
outstanding referrals 0, parent count 0
** ld 0x1671b300 Response Queue:
Empty
ldap_chkResponseList ld 0x1671b300 msgid 1 all 1
ldap_chkResponseList returns ld 0x1671b300 NULL
ldap_int_select
read1msg: ld 0x1671b300 msgid 1 all 1
read1msg: ld 0x1671b300 msgid 1 message type bind
read1msg: ld 0x1671b300 0 new referrals
read1msg: mark request completed, ld 0x1671b300 msgid 1
request done: ld 0x1671b300 msgid 1
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 1, msgid 1)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
ldap_parse_result
ldap_msgfree
=> result: (97, [], 1, [])
Traceback (most recent call last):
File "page_control.py", line 24, in ?
serverctrls=[lc]
File "/usr/lib64/python2.4/site-packages/ldap/ldapobject.py", line
468, in search_ext
EncodeControlTuples(serverctrls),
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 93,
in EncodeControlTuples
result = [
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 45,
in getEncodedTuple
return
(self.controlType,self.criticality,self.encodeControlValue(self.controlValue))
File "/usr/lib64/python2.4/site-packages/ldap/controls.py", line 78,
in encodeControlValue
return _ldap.encode_page_control(size,cookie)
ldap.ENCODING_ERROR
ldap_free_connection 1 1
ldap_send_unbind
ldap_free_connection: actually freed
----
--
Best regards.
Zhang Huangbin
- Open Source Mail Server Solution for RHEL/CentOS 5.x:
http://code.google.com/p/iredmail/
|
|
From: Michael S. <mi...@st...> - 2009-03-16 11:36:26
|
Zhang Huangbin wrote:
> I had the same error here while run Demo/page_control.py:
To all of the people experiencing problems:
Could you please run Demo/page_control.py after applying the attached
patch (which enables debug logging).
To preclude problems in the 64-bit build of OpenLDAP client libs you
could also try paged-search with the command-line tool ldapsearch which
essentially uses the same control encoding/decoding functions in libldap.
Ciao, Michael.
Index: Demo/page_control.py
===================================================================
RCS file: /cvsroot/python-ldap/python-ldap/Demo/page_control.py,v
retrieving revision 1.4
diff -u -r1.4 page_control.py
--- Demo/page_control.py 8 Dec 2006 12:38:39 -0000 1.4
+++ Demo/page_control.py 16 Mar 2009 11:33:41 -0000
@@ -6,8 +6,9 @@
import ldap
from ldap.controls import SimplePagedResultsControl
+ldap.set_option(ldap.OPT_DEBUG_LEVEL,255)
ldap.set_option(ldap.OPT_REFERRALS, 0)
-l = ldap.initialize(url)
+l = ldap.initialize(url,trace_level=2)
l.protocol_version = 3
l.simple_bind_s("", "")
|
|
From: Michael S. <mi...@st...> - 2009-03-16 11:28:38
|
Zhang Huangbin wrote: > Zhang Huangbin wrote: >> Strange, the same code (Demo/page_control.py) works in: >> >> - OS: CentOS 5.2, *i386* >> - Python: 2.4.3-21.el5 (shipped within CentOS) >> - python-ldap: 2.3.6 (installed from source tarball) >> - OpenLDAP: 2.3.27-8.el5_2.4 >> > How can i help developers fix this possible bug? Please feel free to > contact me if you need more information. The problem is that I don't have 64-bit Linux hardware to test myself. And a bug could be in OpenLDAP client libs, Python or python-ldap itself. The OpenLDAP and Python versions mentioned above are indeed quite old. Also I don't know what the distributor CentOS or Red Hat is exactly doing when builing the packages. Dominic tested with a more recent version of the OpenLDAP client libs (2.4.12) but still with pre-installed python 2.4.3-21.el5. Hmm... Ciao, Michael. |
|
From: Zhang H. <zhb...@gm...> - 2009-03-15 14:10:45
|
Zhang Huangbin wrote: > Strange, the same code (Demo/page_control.py) works in: > > - OS: CentOS 5.2, *i386* > - Python: 2.4.3-21.el5 (shipped within CentOS) > - python-ldap: 2.3.6 (installed from source tarball) > - OpenLDAP: 2.3.27-8.el5_2.4 > How can i help developers fix this possible bug? Please feel free to contact me if you need more information. Thanks very much. :P -- Best regards. Zhang Huangbin - Open Source Mail Server Solution for RHEL/CentOS 5.x: http://code.google.com/p/iredmail/ |
|
From: Zhang H. <zhb...@gm...> - 2009-03-15 13:43:58
|
Strange, the same code (Demo/page_control.py) works in: - OS: CentOS 5.2, *i386* - Python: 2.4.3-21.el5 (shipped within CentOS) - python-ldap: 2.3.6 (installed from source tarball) - OpenLDAP: 2.3.27-8.el5_2.4 -- Best regards. Zhang Huangbin - Open Source Mail Server Solution for RHEL/CentOS 5.x: http://code.google.com/p/iredmail/ |
|
From: Zhang H. <zhb...@gm...> - 2009-03-15 10:50:31
|
I had the same error here while run Demo/page_control.py:
----
Traceback (most recent call last):
File "1.py", line 23, in ?
serverctrls=[lc]
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/ldapobject.py",
line 501, in search_ext_s
msgid =
self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/ldapobject.py",
line 495, in search_ext
EncodeControlTuples(serverctrls),
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 110, in EncodeControlTuples
result = [
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 45, in getEncodedTuple
return
(self.controlType,self.criticality,self.encodeControlValue(self.controlValue))
File
"/usr/lib64/python2.4/site-packages/python_ldap-2.3.6-py2.4-linux-x86_64.egg/ldap/controls.py",
line 78, in encodeControlValue
return _ldap.encode_page_control(size,cookie)
ldap.ENCODING_ERROR
----
My env:
OS: RHEL 5.3, x86_64
Python: 2.4.3-24.el5 (shipped within RHEL 5.3)
python-ldap: 2.3.6 (installed from source tarball)
OpenLDAP: 2.3.43-3.el5 (shipped within RHEL 5.3)
How can i solve it?
--
Best regards.
Zhang Huangbin
- Open Source Mail Server Solution for RHEL/CentOS 5.x:
http://code.google.com/p/iredmail/
|
|
From: Michael S. <mi...@st...> - 2009-03-09 11:28:01
|
Jan-Frode Myklebust wrote: > On 2009-03-09, Michael Ströder <mi...@st...> wrote: >>> But, it occurred to me that I'm not fully sure what I'm doing >>> when creating the SSHA1 hash, >> If the password is usable afterwards there's nothing wrong with >> client-side password hashing. The salt should be at least 4 bytes long. > > Still, I'm uncertain how f.ex. character encodings will/should be > handled, so it seems safer to let the directory server handle both the > hashing and verification. For LDAPv3 you should pass UTF-8 to the python-ldap functions/methods or before hashing the password. (In theory one has to use SASLprep before the UTF-8 encoding but in most cases this is the same). Ciao, Michael. |
|
From: Jan-Frode M. <jan...@ta...> - 2009-03-09 11:05:41
|
On 2009-03-09, Michael Ströder <mi...@st...> wrote:
> >
> > But, it occurred to me that I'm not fully sure what I'm doing
> > when creating the SSHA1 hash,
>
> If the password is usable afterwards there's nothing wrong with
> client-side password hashing. The salt should be at least 4 bytes long.
Still, I'm uncertain how f.ex. character encodings will/should be
handled, so it seems safer to let the directory server handle both the
hashing and verification.
>
> Simply use None for oldpw.
>
It didn't like None:
Traceback (most recent call last):
File "./update-ldap-from-atmail.py", line 166, in ?
con.passwd_s( dn, None, mailpassword )
File "/usr/lib64/python2.4/site-packages/ldap/ldapobject.py", line 330, in passwd_s
msgid = self.passwd(user,oldpw,newpw,serverctrls,clientctrls)
File "/usr/lib64/python2.4/site-packages/ldap/ldapobject.py", line 327, in passwd
return self._ldap_call(self._l.passwd,user,oldpw,newpw,EncodeControlTuples(serverctrls),EncodeControlTuples(clientctrls))
File "/usr/lib64/python2.4/site-packages/ldap/ldapobject.py", line 94, in _ldap_call
result = func(*args,**kwargs)
TypeError: argument 2 must be string or read-only buffer, not None
but "" seems to work (after I set up SSL to get around the
ldap.CONFIDENTIALITY_REQUIRED). Thanks!
-jf
|
|
From: Michael S. <mi...@st...> - 2009-03-09 10:38:00
|
Zhang Huangbin wrote:
> Michael Ströder wrote:
>> Yes. Other LDAP servers might have a different configuration. Also some
>> servers set other password attributes as well (e.g. the smbk5pwd overlay
>> for OpenLDAP sets Samba password attributes and the Kerberos keys for a
>> heimdal KDC).
>
> How can i set DEFAULT password-hash in slapd.conf? such as MD5 or whatever.
That's more a question for the openldap-software mailing list. Since you
already found the password-hash parameter you could simply use it:
password-hash {SSHA}
Ciao, Michael.
|