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: <oop...@ne...> - 2001-03-05 04:49:01
|
hi please some one help i am new to python i want to perform a modify operation on the cn attribute of th dn "mail=11...@nd...,dc=ndd,dc=com" for that my script is #!/usr/bin/python import getpass import _ldap l.simple_bind_s(login_dn,login_pw) try: dn="mail=11...@nd...,dc=ndd,dc=com" print "adding ",repr(dn) l.modify_s(dn,_ldap.MOD_REPLACE,[('cn',["fgs"])]) except _ldap.LDAPError: pass l.unbind() when i run the script i get the following error adding 'mail=11...@nd...,dc=ndd,dc=com' Traceback (innermost last): File "mod.py", line 19, in ? l.modify_s(dn,_ldap.MOD_REPLACE,[('cn',["fgs"])]) TypeError: function requires exactly 2 arguments; 3 given pl tell me the correct syntax of how i should do ir ritu |
From: Jens V. <je...@da...> - 2001-03-04 01:35:34
|
hi everyone, i was scouring the mail archives about patching python-ldap-1.10 to compile against a self-compiled OpenLDAP-2.0.7 install. in a message dated 11/17/2000 konstantin chuguev attached a long patch that, according to at least one other poster after that, has worked. i got the latest CVS version and applied the patch, but configure still fails on the good old.. < snip > checking for library containing ldap_open... no checking for ldap_open... no configure: error: Couldn't find LDAP library < snip > does anyone have an idea for getting the compilation going? jens P.S.: setup is RH 6.2 with OpenLDAP 2.0.7 compiled from scratch. ---- Jens Vagelpohl je...@di... Software Engineer www.digicool.com Digital Creations (888) 344-4332 Got Zope? ---- |
From: David L. <dav...@cs...> - 2001-02-25 05:14:52
|
On Sun, 25 Feb 2001, David Leonard typed thusly: > ... The man ldap_open says: > At this time, ldap_init() is preferred. ldap_open() will be depreciated in a later release. > Has anyone else started or re-done the ldap_open() calles to > ldap_init() in python_ldap? not me. feel free to get a sourceforge account, check out the python-ldap cvs tree and start adding such support.. i'm waiting on the compile farm at sf to become useable so that i can finish building all the next releases... then python-ldap v2 can really start > If I live in the past of Python 1.5 and OpenLdap 1.2.X, what kind of > nasty fate awaits me? probably not much > What is the airspeed of a swallow? v2 or v3? -- David Leonard Dav...@cs... Dept of Comp. Sci. and Elec. Engg _ Room:78-640 Ph:+61 7 336 51187 The University of Queensland |+| http://www.csee.uq.edu.au/~leonard/ QLD 4072 AUSTRALIA ~` '~ B73CD65FBEF4C089B79A8EBADF1A932F13EA0FC8 Why are apartments so close together? |
From: David L. <dav...@cs...> - 2001-02-25 05:01:39
|
---------- Forwarded message ---------- Date: Fri, 23 Feb 2001 19:02:55 -0600 (CST) From: Marc Rassbach <ma...@mi...> To: mailto: ; Cc: odd...@tr..., dir...@di... Subject: Blending of python-ldap with other software, and ldap_open() Resent-Date: Sat, 24 Feb 2001 20:53:02 -0800 Resent-To: le...@us... The goal: Get web2ldap-0.8.3 to work. http://www.web2ldap.de/install.html says it wants: python 2.0 and 1.8+ of python-ldap. Grabbed python 2.0, python-ldap1.10.alpha3, and openldap2.0.7 My normal reference platform is FreeBSD (hence the CC's.) But the target for the day is a RedHat 7.0 box. The man ldap_open says: At this time, ldap_init() is preferred. ldap_open() will be depreciated in a later release. My questions 3: Has anyone else started or re-done the ldap_open() calles to ldap_init() in python_ldap? If I live in the past of Python 1.5 and OpenLdap 1.2.X, what kind of nasty fate awaits me? What is the airspeed of a swallow? |
From: David L. <dav...@cs...> - 2001-02-23 00:05:51
|
(for list's info; large attachments omitted) ---------- Forwarded message ---------- Date: Thu, 22 Feb 2001 10:33:50 +0100 (MET) From: Mark De Moor <ma...@ru...> To: David Leonard <dav...@cs...> Subject: Re: Build Error > > 1. configure wrongly finds that ldap_set_rebind_proc needs 3 arguments > > while during the "make" you get an error (LDAPobject.c) that there > > are to many args.According to the man page there are 2 arguments. > > hmmm. that's bad. the log doesn't show why this happened. After cleaning up and doing the original configure again, it finds the right number of arguments. Don't know what happened, but ok... Still have the loader problem > > I have no idea what causes this. I don't have any hppa boxes handy, so > I can't do any tests. The link command comes from Python. > Did you have any problems compiling Python 2.0? I attached the python config.log and results of the make make > make.log 2>make.error > Do you have gcc installed? No, i use Hp ansi-C compiler. I once had gcc , but had a lot of problems in compiling packages, it went better with Hp ansi-C. Maybe it depends on the package which compiler works best. > Maybe there is another way to associate the libraries.. can you send me the > manual page for 'ld'? Included in attachment I also included the openldap 1.2.11 config.log. Tanx very much for looking into this. Regards Mark |
From: David L. <dav...@cs...> - 2001-02-21 12:01:25
|
On Wed, 21 Feb 2001, Mark De Moor typed thusly: > I'm having some problems in building python-ldap-1.10alpha3 > on a HP-UX 10.20 with HP ansi-C compiler , openldap 1.2.11 > and python 2.0 for web2ldap 0.8.x > > 1. configure wrongly finds that ldap_set_rebind_proc needs 3 arguments > while during the "make" you get an error (LDAPobject.c) that there > are to many args.According to the man page there are 2 arguments. hmmm. that's bad. the log doesn't show why this happened. > cc: "/opt/web2ldap/python-ldap-1.10alpha3/Modules/template.c", line > 1023: > warning 604: Pointers are not assignment-compatible. fixed > cpp: "CIDict.c", line 125: warning 2010: Extra characters on #endif. fixed > 2. After fixing that (brute force) in configure, i get a loader error: > ld -b LDAPObject.o common.o constants.o errors.o functions.o > ldapmodule.o message.o version.o linkedlist.o template.o CIDict.o > -L/opt/ldap/lib -lldap -llber -lm -o _ldapmodule.sl > ld: (Warning) At least one PA 2.0 object file (LDAPObject.o) was > detected. > The linked output may not run on a PA 1.x system. I think this warning is ignorable. It appears in config.log and seems benign. > ld: Invalid loader fixup for symbol "$00000030". I have no idea what causes this. I don't have any hppa boxes handy, so I can't do any tests. The link command comes from Python. Did you have any problems compiling Python 2.0? Do you have gcc installed? Maybe there is another way to associate the libraries.. can you send me the manual page for 'ld'? > Any help / suggestions / solution would greatly be appreciated. > I am not that experienced in compiling/loading, due too lack of time, > i just would like to get web2ldap running and concentrate on the use > and contents of our DS. d -- David Leonard Dav...@cs... Dept of Comp. Sci. and Elec. Engg _ Room:78-640 Ph:+61 7 336 51187 The University of Queensland |+| http://www.csee.uq.edu.au/~leonard/ QLD 4072 AUSTRALIA ~` '~ B73CD65FBEF4C089B79A8EBADF1A932F13EA0FC8 |
From: Mark De M. <ma...@ru...> - 2001-02-21 08:40:35
|
I'm having some problems in building python-ldap-1.10alpha3 on a HP-UX 10.20 with HP ansi-C compiler , openldap 1.2.11 and python 2.0 for web2ldap 0.8.x 1. configure wrongly finds that ldap_set_rebind_proc needs 3 arguments while during the "make" you get an error (LDAPobject.c) that there are to many args.According to the man page there are 2 arguments. 2. After fixing that (brute force) in configure, i get a loader error: /opt/web2ldap/python-ldap-1.10alpha3>make cd Modules && make srcdir=/opt/web2ldap/python-ldap-1.10alpha3/Modules VPATH=/opt/web2ldap/python-ldap-1.10alpha3/Modules cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/LDAPObject.c cc: "/opt/ldap/include/ldap.h", line 519: warning 617: Redeclaration of tag "timeval" ignored. cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/common.c cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/constants.c cc: "/opt/ldap/include/ldap.h", line 519: warning 617: Redeclaration of tag "timeval" ignored. cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/errors.c cc: "/opt/ldap/include/ldap.h", line 519: warning 617: Redeclaration of tag "timeval" ignored. cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/functions.c cc: "/opt/ldap/include/ldap.h", line 519: warning 617: Redeclaration of tag "timeval" ignored. cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/ldapmodule.c cc: "/opt/ldap/include/ldap.h", line 519: warning 617: Redeclaration of tag "timeval" ignored. cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/message.c cc: "/opt/ldap/include/ldap.h", line 519: warning 617: Redeclaration of tag "timeval" ignored. cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/version.c cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/linkedlist.c cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/template.c cc: "/opt/ldap/include/ldap.h", line 519: warning 617: Redeclaration of tag "timeval" ignored. cc: "/opt/web2ldap/python-ldap-1.10alpha3/Modules/template.c", line 1023: warning 604: Pointers are not assignment-compatible. cc -Ae +z -I. -DLDAP_REFERRALS -I/opt/ldap/include -O -I/opt/python/include/python2.0 -I/opt/python/include/python2.0 -DHAVE_CONFIG_H -c /opt/web2ldap/python-ldap-1.10alpha3/Modules/CIDict.c cpp: "CIDict.c", line 125: warning 2010: Extra characters on #endif. ld -b LDAPObject.o common.o constants.o errors.o functions.o ldapmodule.o message.o version.o linkedlist.o template.o CIDict.o -L/opt/ldap/lib -lldap -llber -lm -o _ldapmodule.sl ld: (Warning) At least one PA 2.0 object file (LDAPObject.o) was detected. The linked output may not run on a PA 1.x system. ld: Invalid loader fixup for symbol "$00000030". *** Error exit code 1 Stop. *** Error exit code 1 Stop. The config.log is in attachment. Any help / suggestions / solution would greatly be appreciated. I am not that experienced in compiling/loading, due too lack of time, i just would like to get web2ldap running and concentrate on the use and contents of our DS. Regards Mark De Moor ______________________________________________________________________________ Mark De Moor | Email: ma...@ru... |\ /| /\ ___ | / UA-Ruca ComputerCentrum | Www: | \/ | /__\ |__| |< Groenenborgerlaan,171 | Tel: ++ 32 3 2180320 | | / \ | \ | \ B 2020 Antwerpen | Fax: ++ 32 3 2180443 ============================================================================== |
From: Grahame B. <gr...@ty...> - 2001-02-08 02:24:35
|
Hi all, The attached patch adds useful error reporting if the server supports LDAP v3 APIs and has defined LDAP_API_VERSION correctly. This makes the module much more useful when using it with OpenLDAP 2.x. I hope it helps. What is the plan on adding support for LDAP v3 functionality (eg. ldap_rename, etc)? I have some of that work done and would be willing to help with the rest. The attached diff should apply to errors.c from python-ldap-1.10alpha3. Cheers, Grahame -- Grahame Bowland University Communications Services, The University of Western Australia Phone: +61 8 9380 1175 |
From: David L. <dav...@cs...> - 2001-02-07 23:35:46
|
more on the mapping of the java api to python (which it seems is a good thing) what I forgot to say in my previous message was that I wanted to encourage you (readers of this list) to attempt to convert some of the I-D examples into python as an exercise that might reveal what Java idioms have been used that make it incompatible (or uncomfortable to use) with Python. Java's Iterator and Python's 'for' construct are good examples where they are interchangable in many situations - but not all. only by attempting some expressions do you find out how clumsy/elegant/robust/error-prone they are. remember, by adding a library we are effectively extending a language. With a little work, future expressions in this language extension will be natural and effortless to its users. d On Wed, 7 Feb 2001, David Leonard typed thusly: > Here's some of the examples converted from Java to API > > #-- Example 9.1 > import LDAP > ld = LDAP.Connection() > try: > ld.connect("localhost", 389) > ld.bind("", "") > MY_FILTER = "sn=Jensen" > MY_SEARCHBASE = "o=Ace Industry, c=US" > cons = ld.getSearchConstraints() > cons.setBatchSize(1) > res = ld.search(MY_SEARCHBASE, ld.SCOPE_ONE, MY_FILTER, None, 0, cons) > for findEntry in res: > print findEntry.getDN() > findAttrs = findEntry.getAttributeSet() > enumAttrs = findAttrs.getAttributes() > print "Attributes:" > for anAttr in enumAttrs: > print `anAttr.getName()` > for aVal in anAttr.getStringValues() > print `aVal` > except LDAP.Exception: > print "Error!" > if ld.isConnected(): > ld.disconnect() > > > #-- example 9.2 > import LDAP > > ld = LDAP.Connection() > try: > MY_HOST = "localhost" > MY_PORT = 389 > ld.connect(MY_HOST, MY_PORT) > > MY_NAME = "cn=Barbara Jensen,o=Ace Industry,c=US" > MY_PASSWORD = "MysteryLady" > ld.bind(MY_NAME, MY_PASSWORD) > > attrEmail = LDAP.Attribute("mail", "ba...@ac...") > mod = LDAP.Modification(LDAP.REPLACE, attrEmail) > ld.modify(MY_NAME, mod) > print "Entry modified" > except LDAP.Exception: > print "Error!" > if ld.isConnected(): > ld.disconnect() > > Feel free to convert some more to see if you like the feel of it, or > if it reminds you of a way that its done in another python builtin/library. > > d > -- David Leonard Dav...@cs... Dept of Comp. Sci. and Elec. Engg _ Room:78-640 Ph:+61 7 336 51187 The University of Queensland |+| http://www.csee.uq.edu.au/~leonard/ QLD 4072 AUSTRALIA ~` '~ B73CD65FBEF4C089B79A8EBADF1A932F13EA0FC8 |
From: Sascha G. <sa...@fr...> - 2001-02-07 15:43:53
|
On Wed, 07 Feb 2001, Konstantin Chuguev wrote: > Date: Wed, 07 Feb 2001 13:26:49 +0000 > To: Michael Ströder <mi...@st...> > From: Konstantin Chuguev <Kon...@da...> > Subject: Re: Playing around with python-ldap, your patches and search > continuations... > > Hi Michael, > > [CC'ing to the python-ldap list in case somebody would like to > comment...] > > Michael Ströder wrote: > > > Konstantin Chuguev wrote: > > > > > > I completely agree with the idea of having a separate package > supporting > > > OpenLDAPv2 only. > > > > Yes. But how this will be built wasn't clear. Sascha proposed using > > SWIG. > > Using SWIG isnt as simple as the name might appear, so this might intruduce an extra difficulty for people trying to help develop python-ldap. > > I've got some questions on that, which I couldn't find on the SWIG web > site: > - Does SWIG work with Python 2? Yes. Using Python2 solved some dynamic loading problems I had on solaris. > - How C preprocessor constants (#define ...) are converted to Python by > SWIG? I have handcrafted an extra file for this (this was indeed simple): ... snipp ... const int SUCCESS=0x00; const int OPERATIONS_ERROR=0x01; const int PROTOCOL_ERROR=0x02; const int TIMELIMIT_EXCEEDED=0x03; const int SIZELIMIT_EXCEEDED=0x04; const int COMPARE_FALSE=0x05; const int COMPARE_TRUE=0x06; .. snipp ... > I suppose one will need to create C constants corresponding to the macros > manually. Yes ;-) > - In the mailing list, Sascha Gresk said: "- swig does not currently > parse > every conceivable type of C declaration"; can you name any particular > type > causing trouble? Try to parse the supplied ldap.h - you will see SWIG needs a some more friendly version of this header. Everything not being recognized is being treated as a simple pointer. Its possible to change this behaviour by using so-called "typemaps", for example if you would want a char ** to act more like a list of strings, you would start writing a typemap.... If you would like to get an impression of LDAP and SWIG you might download this from http://www.free.de/homes/sascha/swig-ldap ... Swig-ldap is far from complete but it is used in a productive envirionment and is known to be running on freebsd and solaris platforms (There is no reason why it shouldn't be also running on linux, openbsd or hurd). Some lucky day I''ll support openldap2.X .... Sascha PS: today I was reading the LDAP-JAVA-API send to this list. I agree its an good idea to have some kind of documentation like this for python-ldap as well. PSPS: A set of tests included by python-ldap would be a nice thing to have. I have included a silly implementation for ldapsearch and ldapadd in swig-ldap to test its behaviour and to provide a working example ... Sascha > > Regards, > Konstantin. > > -- > * * Konstantin Chuguev - Application Engineer > * * Francis House, 112 Hills Road > * Cambridge CB2 1PQ, United Kingdom > D A N T E WWW: http://www.dante.net > > > > > _______________________________________________ > Python-LDAP-dev mailing list > Pyt...@li... > http://lists.sourceforge.net/lists/listinfo/python-ldap-dev -- /* Yeah */ |
From: Konstantin C. <Kon...@da...> - 2001-02-07 13:26:37
|
Hi Michael, [CC'ing to the python-ldap list in case somebody would like to comment...] Michael Ströder wrote: > Konstantin Chuguev wrote: > > > > I completely agree with the idea of having a separate package supporting > > OpenLDAPv2 only. > > Yes. But how this will be built wasn't clear. Sascha proposed using > SWIG. > I've got some questions on that, which I couldn't find on the SWIG web site: - Does SWIG work with Python 2? - How C preprocessor constants (#define ...) are converted to Python by SWIG? I suppose one will need to create C constants corresponding to the macros manually. - In the mailing list, Sascha Gresk said: "- swig does not currently parse every conceivable type of C declaration"; can you name any particular type causing trouble? Regards, Konstantin. -- * * Konstantin Chuguev - Application Engineer * * Francis House, 112 Hills Road * Cambridge CB2 1PQ, United Kingdom D A N T E WWW: http://www.dante.net |
From: <520...@t-...> - 2001-02-07 10:16:25
|
David Leonard wrote: > = > On Tue, 6 Feb 2001, Michael Str=F6der typed thusly: > = > > http://www.ietf.org/internet-drafts/draft-ietf-ldapext-ldap-java-api-= 13.txt > > > > might be interesting. It looks more suitable for Python than going > > with the C-oriented LDAPEXT-API. Anyone interested in implementing > > that? > > I think that if we take the java api, and convert all the Javaisms > to Pythonisms we could even submit "our own" RFC draft. :) You're keen on having your name on top of a RFC? Well, why not... ;-) > * do we really need a LDAPDN class? Isn't python's string enoug= h? Well, the string representation of DNs according to RFC2253 is somewhat limited. A DN is something like: RelativeDistinguishedName ::=3D SET SIZE (1..MAX) OF AttributeTypeAndValue AttributeTypeAndValue ::=3D SEQUENCE { type AttributeType, value AttributeValue } AttributeValue can actually be any type. If e.g. a T61String is used and you convert it to a UTF-8-encoded string representation there's an information loss (the information about the original encoding). I'm not sure whether this affects handling DNs in LDAP but it affects handling DNs of certificate (in PKIX you might have to hash the DER-encoding of a DN e.g. in OCSP queries). I already have some code for a generic X.500 name class (for parsing certificates). It's not ready for prime time yet but I would like to improve it and contribute it to python-ldap. > (same with LDAPUrl - could be done in the urllib style) I think it's necessary to have distinguished classes. Because there are no method signatures in Python we have to distinguish the type of parameters in many class methods. Doing e.g. something like isinstance(param,LDAPURL) or other Pythonism like checking param.__class__.__name__ elps in this regard. > * AttributeSet is just a list No. ASN.1 type SET is a set which isn't a list. A set has no particular order. Believe me, you will need it. E.g. think about comparing to instances of AttributeSet... > * can we ignore/hide LDAPExtendedOperation/Response/Listener? > = > the java api looks overly complex. after whittling it back a bit, i thi= nk > a nice pythonesqe api could be developed. If X.500-based standards are involved things will always get complex. :-( Especially from my experience with parsing X.509 certs/CRLs I would strongly argue to stay as close as possible to this I-D. In the long run it's less work than repairing a limited subset afterwards. Off course some classes like LDAPExtendedOperation can be deferred...(though interesting for server-side sorting, virtual list controls etc.) Ciao, Michael. |
From: Federico Di G. <fo...@mi...> - 2001-02-07 09:45:51
|
Scavenging the mail folder uncovered Michael Str?der's letter: > Federico Di Gregorio wrote: > > > > i still doesn't have looked at the java api, but converting your examples > > to use my python classes is just a question of changing method names. > > ok, i'll look into the java api and see if i can convert my classes to > > respect the api. > > I would prefer to stick to a class API which has been discussed on > the LDAPEXT list quite thoroughly. It might also be more convenient > for people working in the Python and Java world to find a similar > API. maybe i din't express myself right. i wanted to say that, having already done part of the work in my classes, i'll look into the API and try to produce a working version of it borrowing from my (old) code. ciao, federico -- Federico Di Gregorio MIXAD LIVE Chief of Research & Technology fo...@mi... Debian GNU/Linux Developer & Italian Press Contact fo...@de... All programmers are optimists. -- Frederick P. Brooks, Jr. |
From: <520...@t-...> - 2001-02-07 09:39:02
|
Federico Di Gregorio wrote: > > i still doesn't have looked at the java api, but converting your examples > to use my python classes is just a question of changing method names. > ok, i'll look into the java api and see if i can convert my classes to > respect the api. I would prefer to stick to a class API which has been discussed on the LDAPEXT list quite thoroughly. It might also be more convenient for people working in the Python and Java world to find a similar API. Ciao, Michael. |
From: Federico Di G. <fo...@mi...> - 2001-02-07 00:14:21
|
i still doesn't have looked at the java api, but converting your examples to use my python classes is just a question of changing method names. ok, i'll look into the java api and see if i can convert my classes to respect the api. ciao, federico Scavenging the mail folder uncovered David Leonard's letter: > On Tue, 6 Feb 2001, Michael Ströder typed thusly: > > > For those of you who are interested in designing/implementing a new > > class API for python-ldap 2.0 the new Internet Draft > > > > "The Java LDAP Application Program Interface" > > > > http://www.ietf.org/internet-drafts/draft-ietf-ldapext-ldap-java-api-13.txt > > > > might be interesting. It looks more suitable for Python than going > > with the C-oriented LDAPEXT-API. Anyone interested in implementing > > that? > > well it looks nice. has anyone got any favourite bits? > i like the decent methods on LDAPConnection. > > I think that if we take the java api, and convert all the Javaisms > to Pythonisms we could even submit "our own" RFC draft. :) > > A lot in that java api is 'over the top' in terms of object-orientedness. > Here are some: > * do we really need a LDAPDN class? Isn't python's string enough? > (same with LDAPUrl - could be done in the urllib style) > * AttributeSet is just a list > * can we ignore/hide LDAPExtendedOperation/Response/Listener? > > the java api looks overly complex. after whittling it back a bit, i think > a nice pythonesqe api could be developed. > > Here's some of the examples converted from Java to API > > #-- Example 9.1 > import LDAP > ld = LDAP.Connection() > try: > ld.connect("localhost", 389) > ld.bind("", "") > MY_FILTER = "sn=Jensen" > MY_SEARCHBASE = "o=Ace Industry, c=US" > cons = ld.getSearchConstraints() > cons.setBatchSize(1) > res = ld.search(MY_SEARCHBASE, ld.SCOPE_ONE, MY_FILTER, None, 0, cons) > for findEntry in res: > print findEntry.getDN() > findAttrs = findEntry.getAttributeSet() > enumAttrs = findAttrs.getAttributes() > print "Attributes:" > for anAttr in enumAttrs: > print `anAttr.getName()` > for aVal in anAttr.getStringValues() > print `aVal` > except LDAP.Exception: > print "Error!" > if ld.isConnected(): > ld.disconnect() > > > #-- example 9.2 > import LDAP > > ld = LDAP.Connection() > try: > MY_HOST = "localhost" > MY_PORT = 389 > ld.connect(MY_HOST, MY_PORT) > > MY_NAME = "cn=Barbara Jensen,o=Ace Industry,c=US" > MY_PASSWORD = "MysteryLady" > ld.bind(MY_NAME, MY_PASSWORD) > > attrEmail = LDAP.Attribute("mail", "ba...@ac...") > mod = LDAP.Modification(LDAP.REPLACE, attrEmail) > ld.modify(MY_NAME, mod) > print "Entry modified" > except LDAP.Exception: > print "Error!" > if ld.isConnected(): > ld.disconnect() > > Feel free to convert some more to see if you like the feel of it, or > if it reminds you of a way that its done in another python builtin/library. > > d > -- > David Leonard Dav...@ds... > CRC For Distributed Systems Technology Room:78-632 Ph:+61 7 336 58358 > The University of Queensland http://www.dstc.edu.au/ > QLD 4072 AUSTRALIA B73CD65FBEF4C089B79A8EBADF1A932F13EA0FC8 > > > _______________________________________________ > Python-LDAP-dev mailing list > Pyt...@li... > http://lists.sourceforge.net/lists/listinfo/python-ldap-dev -- Federico Di Gregorio MIXAD LIVE Chief of Research & Technology fo...@mi... Debian GNU/Linux Developer & Italian Press Contact fo...@de... Qu'est ce que la folie? Juste un sentiment de liberté si fort qu'on en oublie ce qui nous rattache au monde... -- J. de Loctra |
From: David L. <dav...@cs...> - 2001-02-07 00:02:51
|
On Tue, 6 Feb 2001, Michael Str=F6der typed thusly: > For those of you who are interested in designing/implementing a new > class API for python-ldap 2.0 the new Internet Draft > > "The Java LDAP Application Program Interface" > > http://www.ietf.org/internet-drafts/draft-ietf-ldapext-ldap-java-api-13.t= xt > > might be interesting. It looks more suitable for Python than going > with the C-oriented LDAPEXT-API. Anyone interested in implementing > that? well it looks nice. has anyone got any favourite bits? i like the decent methods on LDAPConnection. I think that if we take the java api, and convert all the Javaisms to Pythonisms we could even submit "our own" RFC draft. :) A lot in that java api is 'over the top' in terms of object-orientedness. Here are some: =09* do we really need a LDAPDN class? Isn't python's string enough? =09 (same with LDAPUrl - could be done in the urllib style) =09* AttributeSet is just a list =09* can we ignore/hide LDAPExtendedOperation/Response/Listener? the java api looks overly complex. after whittling it back a bit, i think a nice pythonesqe api could be developed. Here's some of the examples converted from Java to API #-- Example 9.1 import LDAP ld =3D LDAP.Connection() try: =09ld.connect("localhost", 389) =09ld.bind("", "") =09MY_FILTER =3D "sn=3DJensen" =09MY_SEARCHBASE =3D "o=3DAce Industry, c=3DUS" =09cons =3D ld.getSearchConstraints() =09cons.setBatchSize(1) =09res =3D ld.search(MY_SEARCHBASE, ld.SCOPE_ONE, MY_FILTER, None, 0, cons) =09for findEntry in res: =09=09print findEntry.getDN() =09=09findAttrs =3D findEntry.getAttributeSet() =09=09enumAttrs =3D findAttrs.getAttributes() =09=09print "Attributes:" =09=09for anAttr in enumAttrs: =09=09=09print `anAttr.getName()` =09=09=09for aVal in anAttr.getStringValues() =09=09=09=09print `aVal` except LDAP.Exception: =09print "Error!" if ld.isConnected(): =09ld.disconnect() #-- example 9.2 import LDAP ld =3D LDAP.Connection() try: =09MY_HOST =3D "localhost" =09MY_PORT =3D 389 =09ld.connect(MY_HOST, MY_PORT) =09MY_NAME =3D "cn=3DBarbara Jensen,o=3DAce Industry,c=3DUS" =09MY_PASSWORD =3D "MysteryLady" =09ld.bind(MY_NAME, MY_PASSWORD) =09attrEmail =3D LDAP.Attribute("mail", "ba...@ac...") =09mod =3D LDAP.Modification(LDAP.REPLACE, attrEmail) =09ld.modify(MY_NAME, mod) =09print "Entry modified" except LDAP.Exception: =09print "Error!" if ld.isConnected(): =09ld.disconnect() Feel free to convert some more to see if you like the feel of it, or if it reminds you of a way that its done in another python builtin/library. d --=20 David Leonard Dav...@ds... CRC For Distributed Systems Technology Room:78-632 Ph:+61 7 336 58358 The University of Queensland http://www.dstc.edu.au/ QLD 4072 AUSTRALIA B73CD65FBEF4C089B79A8EBADF1A932F13E= A0FC8 |
From: Michael <mi...@st...> - 2001-02-06 14:05:48
|
HI! For those of you who are interested in designing/implementing a new class API for python-ldap 2.0 the new Internet Draft "The Java LDAP Application Program Interface" http://www.ietf.org/internet-drafts/draft-ietf-ldapext-ldap-java-api-13.txt might be interesting. It looks more suitable for Python than going with the C-oriented LDAPEXT-API. Anyone interested in implementing that? Ciao, Michael. |
From: Michael <mi...@st...> - 2001-01-31 10:29:22
|
David Leonard wrote: > > Attached is new documentation, Good to see the docs. For my understanding: What's the exact focus of this document? Do you have more chapters in mind? If yes, which? Naming _ldap could cause confusion. The programming examples also mention "import _ldap". Is this the preferred way. IMHO not. It would be nice if the sub sections also appear in the PDF index. The description of the LDAPObject methods in section 1.1.5 could be divided into sections containing similar methods: - Misc - Searching - Adding/Modifying - Attributes ... Ciao, Michael. |
From: David L. <dav...@cs...> - 2001-01-28 12:41:22
|
Attached is new documentation, built with Python 2.0's documentation tools. Please check and comment. Feel free to suggest changes. d -- David Leonard Dav...@ds... DSTC Room:78-632 Ph:+61 7 336 58358 The University of Queensland http://www.dstc.edu.au/ QLD 4072 AUSTRALIA B73CD65FBEF4C089B79A8EBADF1A932F13EA0FC8 I put my chin on my knee, and looked for flaws in the soft grain of my beige plastic monitor casing. - Julian Assange |
From: Michael <mi...@st...> - 2001-01-26 17:16:33
|
> Andre M Descombes wrote: > > I am trying to get the Python-LDAP binaries for windows, I > downloades the source but I haven't been able to compile them. http://web2ldap.de/install.html#packages_win32 Ciao, Michael |
From: Andre M D. <ade...@di...> - 2001-01-26 16:19:35
|
Hi, I am trying to get the Python-LDAP binaries for windows, I downloades = the source but I haven't been able to compile them. Could any one send them to me? Thanks in advance, Andre |
From: David L. <dav...@cs...> - 2001-01-16 12:35:36
|
On Tue, 16 Jan 2001, Michael Str=F6der typed thusly: > Another interesting observation: > > If I call method result() of LDAPObject with a meaningless msgid it > simply blocks. Shouldn't there be an error returned by the > underlying LDAP libs which should be raised as exception? Well, I'm > not sure about the details though. well, i think that the client side doesn't bother to check if msgids are valid. i expect it just waits for the server to send it a reply with that msgid (which it won't). so, garbage in, garbage out (including 'bottom'). d --=20 David Leonard Dav...@ds... DSTC Room:78-632 Ph:+61 7 336 58358 The University of Queensland http://www.dstc.edu.au/ QLD 4072 AUSTRALIA B73CD65FBEF4C089B79A8EBADF1A932F13E= A0FC8 I put my chin on my knee, and looked for flaws in the soft grain of my beige plastic monitor casing. - Julian Assange |
From: Michael <mi...@st...> - 2001-01-16 10:04:19
|
David Leonard wrote: > = > On Mon, 15 Jan 2001, Michael Str=F6der typed thusly: > = > > I'm getting the following exception with recent CVS snapshot of > > python-ldap (under Python 2.0 built against OpenLDAP 1.2.11 libs). > > > > result_type,result_data =3D ls.l.result(ldap_msgid,0) > > SystemError: NULL result without error in call_object > = > It means that one of the C functions is returning an exception, but not= > setting the exception object. Another interesting observation: If I call method result() of LDAPObject with a meaningless msgid it simply blocks. Shouldn't there be an error returned by the underlying LDAP libs which should be raised as exception? Well, I'm not sure about the details though. Ciao, Michael. |
From: Michael <mi...@st...> - 2001-01-16 09:42:19
|
David Leonard wrote: > = > On Mon, 15 Jan 2001, Michael Str=F6der typed thusly: > = > > result_type,result_data =3D ls.l.result(ldap_msgid,0) > > SystemError: NULL result without error in call_object > = > It means that one of the C functions is returning an exception, but not= > setting the exception object. Unfortunately I can't provide more details. It happened in my online-demo application and I do not have the parameters of the LDAPObject. Ciao, Michael. |
From: David L. <dav...@cs...> - 2001-01-16 00:25:23
|
On Mon, 15 Jan 2001, Michael Str=F6der typed thusly: > I'm getting the following exception with recent CVS snapshot of > python-ldap (under Python 2.0 built against OpenLDAP 1.2.11 libs). > > result_type,result_data =3D ls.l.result(ldap_msgid,0) > SystemError: NULL result without error in call_object It means that one of the C functions is returning an exception, but not setting the exception object. let me see... --=20 David Leonard Dav...@ds... DSTC Room:78-632 Ph:+61 7 336 58358 The University of Queensland http://www.dstc.edu.au/ QLD 4072 AUSTRALIA B73CD65FBEF4C089B79A8EBADF1A932F13E= A0FC8 I put my chin on my knee, and looked for flaws in the soft grain of my beige plastic monitor casing. - Julian Assange |