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: Jens V. <je...@zo...> - 2002-03-11 22:44:29
|
a simple test to see if the python-ldap module is at fault is:: - start the python interpreter - type "import ldap" - type "import _ldap" if none of those give you tracebacks the python-ldap module is most likely OK. did you know that when you go into the zope Control_Panel and click on "Products" you can actually see a traceback when you click on the broken product? this traceback would be helpful in diagnosing your problem. jens On Monday, March 11, 2002, at 10:39 , Godwin Vaz wrote: > Hi All, > > I am a newbie to linux and zope and have installed the the ldap adapter > but as specified in the installation instructions have a broken product. > I > am using Red Hat 7.1 and Zope 2.4.3 rpm. > > I installed the python-ldapmodule-1.8-2.i386.rpm and have ended up with > the ldapmodule.so in the following path > /usr/lib/python1.5/site-packages/ldapmodule.so. > after restarting zope i still have a broken product i guess it could be > the ldapmodule.so creating the problem. > > After looking at the following site http://python-ldap.sourceforge.net/ > i am still not clear as to which programs or files i need to build the > ldapmodule if that's what is causing the broken product. > > Could you please point me in the right direction. > > Your help is appreciated. > > Regards > Godwin > |
|
From: Godwin V. <God...@en...> - 2002-03-11 21:39:30
|
Hi All, I am a newbie to linux and zope and have installed the the ldap adapter but as specified in the installation instructions have a broken product. I am using Red Hat 7.1 and Zope 2.4.3 rpm. I installed the python-ldapmodule-1.8-2.i386.rpm and have ended up with the ldapmodule.so in the following path /usr/lib/python1.5/site-packages/ldapmodule.so. after restarting zope i still have a broken product i guess it could be the ldapmodule.so creating the problem. After looking at the following site http://python-ldap.sourceforge.net/ i am still not clear as to which programs or files i need to build the ldapmodule if that's what is causing the broken product. Could you please point me in the right direction. Your help is appreciated. Regards Godwin |
|
From: Hans A. <Han...@Ph...> - 2002-03-11 12:33:50
|
> Hans Aschauer wrote: > > SASL binds are still on the TODO list for python-ldap. > > Yes. > > > A few days ago I started experimenting with this topic, and I > > succeeded in doing SASL binds from python. However, my > > sasl_bind_s() method for the ldap class is at the moment only a > > proof of concept and has many shortcomings (works only with the > > gssapi-method or methods which do not require user interaction, > > GSS-API means Kerberos? Yes (In fact, not necessarily. Kerberos is however most widly used in gssapi things). > Which LDAP server are you using? OpenLDAP 2.? (the one shipped with SuSE 7.3), and the Heimdal Kerberos distribution (also SuSE 7.3). > What's your motivation for doing SASL binds? The fun of doing it. Seriously: AFAIK SASL is supposed to be _the_ authentication method for LDAPv3 binds. For example, it can provide you whith single-sign-on, and the like. > > links to a "private" openldap lib (liblutil.a), > > For what reason? This is just because I was to lazy (I mean: I didn't have time) to implement my own callbacks, which are required by SASL. So I took a look at the source of openldap's ldapadd program, and did the same thing as this program does. As I said, it's only a proof of concept. Of course, this should change. > Note that unlike python-ldap 1.x which wrapped LDAP C APIs of > different vendors python-ldap 2.x is closely tied to OpenLDAP 2.x > libs. Therefore it's no problem to use everything which is shipped > with recent OpenLDAP 2.0.23+ nowadays. The above mentioned lib ships only with the source of openldap, since it is only used for and statically linked to the openldap tools. However, what this library provides is only useful for programs which are called from the command line (passwords are read from stdin, etc.). So there needs something to be done which is more general... > > does not implement interaction callbacks, to name only a > > few). > > Hmm, implementing callbacks is a messy thing anyway. If we can make > most things without it I'd be glad to follow your approach. Agree. However, SASL is a very general approach to authentication/authorization, and the programmer can never know, what information will be required by the auth-method used (the method might be choosen at run-time, for example). SASL thus sends some user-interaction requests (along with a plain english text which can be used for prompting the user) to callback functions, which gather the required information. This information can be something like a username and a password, but it could also be "Please insert your smartcard!"... Of course, one could think of a cleaner way of doing this on a higher level (override a method in a class derived from ldapobject, for example?). > > However, I am not really an experienced C programmer, > > Welcome to the club... > > > and I think I > > would need some help with several topics (memory management, how to > > do callbacks to user-supplied python functions from C, and so on). > > Hmm, unfortunately experienced C programmers seem to be rare on this > list... Probably because the concepts behind C and python are mutually exclusive :-) > Best bet is that you send your patches to the list and we'll see... Ok, I don't have them here at the moment, but I can send them today in the evening (MEZ). Hans -- Han...@Ph... |
|
From: <mi...@st...> - 2002-03-11 11:43:54
|
Hans Aschauer wrote: > > SASL binds are still on the TODO list for python-ldap. Yes. > A few days ago I started experimenting with this topic, and I succeeded > in doing SASL binds from python. However, my sasl_bind_s() method for > the ldap class is at the moment only a proof of concept and has many > shortcomings (works only with the gssapi-method or methods which do not > require user interaction, GSS-API means Kerberos? Which LDAP server are you using? What's your motivation for doing SASL binds? > links to a "private" openldap lib (liblutil.a), For what reason? Note that unlike python-ldap 1.x which wrapped LDAP C APIs of different vendors python-ldap 2.x is closely tied to OpenLDAP 2.x libs. Therefore it's no problem to use everything which is shipped with recent OpenLDAP 2.0.23+ nowadays. > does not implement interaction callbacks, to name only a > few). Hmm, implementing callbacks is a messy thing anyway. If we can make most things without it I'd be glad to follow your approach. > However, I am not really an experienced C programmer, Welcome to the club... > and I think I > would need some help with several topics (memory management, how to do > callbacks to user-supplied python functions from C, and so on). Hmm, unfortunately experienced C programmers seem to be rare on this list... Best bet is that you send your patches to the list and we'll see... Ciao, Michael. |
|
From: Hans A. <Han...@Ph...> - 2002-03-11 11:22:08
|
Hi all, I'm new to this list, but as far as I can see from the archives (and from the source, of course), SASL binds are still on the TODO list for python-ldap. A few days ago I started experimenting with this topic, and I succeeded in doing SASL binds from python. However, my sasl_bind_s() method for the ldap class is at the moment only a proof of concept and has many shortcomings (works only with the gssapi-method or methods which do not require user interaction, links to a "private" openldap lib (liblutil.a), does not implement interaction callbacks, to name only a few). However, I am not really an experienced C programmer, and I think I would need some help with several topics (memory management, how to do callbacks to user-supplied python functions from C, and so on). Thanks, Hans -- Han...@Ph... |
|
From: Joe L. <jl...@op...> - 2002-03-04 22:16:51
|
this works on linux systems only. For Solaris systems, follow the LD_LIBRARY_PATH answer :) On 3/4/02 1:46 PM, "Michael Str=F6der" <mi...@st...> wrote: > Steven Graham wrote: >> You need to make sure that the path to liblber.so.2 is in your >> LD_LIBRARY_PATH environment variable. >=20 > Alternatively you can add it to /etc/ld.so.conf and invoke ldconfig > afterwards. >=20 > I've added that to the FAQ... >=20 > Ciao, Michael. >=20 >=20 > _______________________________________________ > Python-LDAP-dev mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/python-ldap-dev |
|
From: <mi...@st...> - 2002-03-04 21:47:22
|
Steven Graham wrote: > You need to make sure that the path to liblber.so.2 is in your > LD_LIBRARY_PATH environment variable. Alternatively you can add it to /etc/ld.so.conf and invoke ldconfig afterwards. I've added that to the FAQ... Ciao, Michael. |
|
From: Steven G. <sg...@wu...> - 2002-03-04 19:55:00
|
You need to make sure that the path to liblber.so.2 is in your LD_LIBRARY_PATH environment variable. So if liblber.so.2 is living in /usr/local/lib, LD_LIBRARY_PATH should at the miniumum look like the following: #echo $LD_LIBRARY_PATH /usr/local/lib ======================= Steven Graham sg...@wu... ======================= On Mon, 4 Mar 2002, Ling Jiang wrote: > Could you please point out what I am missing? > In python, when you run import ldap, you get the error message similar > to the following. I put the test code (from README) to test.py and the > following is what I got: > > Traceback (most recent call last): > File "/tmp/test.py", line 2, in ? > import ldap > File "/usr/local/lib/python2.1/site-packages/ldap/__init__.py", line > 5, in ? > from _ldap import * > ImportError: ld.so.1: /usr/local/bin/python: fatal: liblber.so.2: open > failed: No such file or directory > > OS: Solaris 2.6 > Platform: sun4u sparc SUNW,Ultra-4 > openssl: 0.9.6 24 Sep 2000 > OpenLDAP: 2.0.23 (openldap-stable-20020215.tgz) > Python: 2.1.1 > > Thanks. > > L Jiang > > > _______________________________________________ > Python-LDAP-dev mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/python-ldap-dev > |
|
From: Ling J. <lj...@ag...> - 2002-03-04 18:43:32
|
Could you please point out what I am missing?
In python, when you run import ldap, you get the error message similar
to the following. I put the test code (from README) to test.py and the
following is what I got:
Traceback (most recent call last):
File "/tmp/test.py", line 2, in ?
import ldap
File "/usr/local/lib/python2.1/site-packages/ldap/__init__.py", line
5, in ?
from _ldap import *
ImportError: ld.so.1: /usr/local/bin/python: fatal: liblber.so.2: open
failed: No such file or directory
OS: Solaris 2.6
Platform: sun4u sparc SUNW,Ultra-4
openssl: 0.9.6 24 Sep 2000
OpenLDAP: 2.0.23 (openldap-stable-20020215.tgz)
Python: 2.1.1
Thanks.
L Jiang
|
|
From: Jens V. <je...@zo...> - 2002-03-01 23:13:04
|
are you sure you picked the right list for your question? this list is about the python-ldap module. jens On Friday, March 1, 2002, at 04:58 , Sharma, Gopesh (NCI) wrote: > Hello All: > > How can I call a java servlet from a python script? Please let me know the > module to import. > > Thanks, > Gopesh > |
|
From: Sharma, G. (NCI) <sha...@ma...> - 2002-03-01 21:58:20
|
Hello All: How can I call a java servlet from a python script? Please let me know the module to import. Thanks, Gopesh |
|
From: <mi...@st...> - 2002-02-28 21:47:37
|
de...@il... wrote: > > warning: build_py: file Lib/ldap.py (for module ldap) not found Simply ignore that. It solely has to do with a brain-dead limitation of DistUtils. > There was no ldap.py file anywhere in the module I got from cvs. Yes, that's right. > I put a ldap.py file from python-ldap-1.10alpha3 into Lib and was able to > build and install. Don't do that!!! > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "/usr/lib/python2.0/site-packages/ldap/__init__.py", line 5, in ? > from _ldap import * > ImportError: cannot open shared object file: cannot load shared object > file: No such file or directory Adjust /etc/ld.so.conf or set LD_LIBRARY_PATH to point to the directory containing the shared libs of OpenLDAP 2. Ciao, Michael. |
|
From: <mi...@st...> - 2002-02-28 21:47:21
|
Jens Vagelpohl wrote:
> you could check which libraries the resulting .so file is linked against
> and verify if those libraries are in the place they should be. the
> command to check the linked libraries escapes me right now, i hardly
> ever use it :
You probably mean ldd. See the output on my system below (output
varies depending on features compiled into OpenLDAP libs).
Ciao, Michael.
# ldd /usr/lib/python2.2/site-packages/_ldap.so
libldap.so.2 => /usr/local/openldap2/lib/libldap.so.2
(0x40022000)
liblber.so.2 => /usr/local/openldap2/lib/liblber.so.2
(0x40052000)
libc.so.6 => /lib/libc.so.6 (0x4005e000)
libsasl.so.7 => /usr/local/sasl/lib/libsasl.so.7 (0x40171000)
libkrb4.so.2 => /usr/local/krb5/lib/libkrb4.so.2 (0x4017e000)
libdes425.so.3 => /usr/local/krb5/lib/libdes425.so.3
(0x40193000)
libkrb5.so.3 => /usr/local/krb5/lib/libkrb5.so.3 (0x40197000)
libk5crypto.so.3 => /usr/local/krb5/lib/libk5crypto.so.3
(0x401f4000)
libcom_err.so.3 => /usr/local/krb5/lib/libcom_err.so.3
(0x40206000)
libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x40208000)
libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6
(0x402c0000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
libdb-3.1.so => /usr/lib/libdb-3.1.so (0x40384000)
libdl.so.2 => /lib/libdl.so.2 (0x40401000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40404000)
libpam.so.0 => /lib/libpam.so.0 (0x40432000)
libresolv.so.2 => /lib/libresolv.so.2 (0x4043b000)
|
|
From: Jens V. <je...@zo...> - 2002-02-28 17:30:59
|
you could check which libraries the resulting .so file is linked against and verify if those libraries are in the place they should be. the command to check the linked libraries escapes me right now, i hardly ever use it : / jens On Thursday, February 28, 2002, at 11:44 , de...@il... wrote: > On Thu, 28 Feb 2002, Jens Vagelpohl wrote: > >> will setup.py fail when you run it and there is no ldap.py? i dimly >> remember seeing that warning but the build process never failed, i think >> that message is benign and doesn't mean much. > >> just sticking in a piece of code from a *totally* different version of >> python-ldap is probably not a good solution and will lead to problems. > > You have a very good point that I cannot dispute. It was late and I don't > remember now why I thought that would help. > > I started over with a clean copy of the python-ldap from cvs, edited > setup.cfg, ran python setup.py build & python setup.py install. > > When I try to import ldap this is what I see: > > $ python > Python 2.0.1 (#1, Jun 24 2001, 18:39:34) > [GCC 2.95.3 20010315 (release)] on linux2 > Type "copyright", "credits" or "license" for more information. >>>> import ldap > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "/usr/lib/python2.0/site-packages/ldap/__init__.py", line 5, in ? > from _ldap import * > ImportError: cannot open shared object file: cannot load shared object > file: No such file or directory >>>> > > > -- > --- > Dennis Sacks > de...@il... > "Things are falling down on me, heavy things I could not see" |
|
From: <de...@il...> - 2002-02-28 16:48:17
|
On Thu, 28 Feb 2002, Jens Vagelpohl wrote:
> will setup.py fail when you run it and there is no ldap.py? i dimly
> remember seeing that warning but the build process never failed, i think
> that message is benign and doesn't mean much.
> just sticking in a piece of code from a *totally* different version of
> python-ldap is probably not a good solution and will lead to problems.
You have a very good point that I cannot dispute. It was late and I don't
remember now why I thought that would help.
I started over with a clean copy of the python-ldap from cvs, edited
setup.cfg, ran python setup.py build & python setup.py install.
When I try to import ldap this is what I see:
$ python
Python 2.0.1 (#1, Jun 24 2001, 18:39:34)
[GCC 2.95.3 20010315 (release)] on linux2
Type "copyright", "credits" or "license" for more information.
>>> import ldap
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.0/site-packages/ldap/__init__.py", line 5, in ?
from _ldap import *
ImportError: cannot open shared object file: cannot load shared object
file: No such file or directory
>>>
--
---
Dennis Sacks
de...@il...
"Things are falling down on me, heavy things I could not see"
|
|
From: Jens V. <je...@zo...> - 2002-02-28 13:41:20
|
will setup.py fail when you run it and there is no ldap.py? i dimly remember seeing that warning but the build process never failed, i think that message is benign and doesn't mean much. just sticking in a piece of code from a *totally* different version of python-ldap is probably not a good solution and will lead to problems. jens On Thursday, February 28, 2002, at 02:27 , de...@il... wrote: > Hi, > > two issues with code from cvs as of 2/28/02. First, python setup.py build > complained about: > > warning: build_py: file Lib/ldap.py (for module ldap) not found > > There was no ldap.py file anywhere in the module I got from cvs. > > I put a ldap.py file from python-ldap-1.10alpha3 into Lib and was able to > build and install. > > However, when I try to import ldap or _ldap I get denied: > > $ python > Python 2.0.1 (#1, Jun 24 2001, 18:39:34) > [GCC 2.95.3 20010315 (release)] on linux2 > Type "copyright", "credits" or "license" for more information. >>>> import ldap > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "/usr/lib/python2.0/site-packages/ldap/__init__.py", line 5, in ? > from _ldap import * > ImportError: cannot open shared object file: cannot load shared object > file: No such file or directory >>>> import _ldap > Traceback (most recent call last): > File "<stdin>", line 1, in ? > ImportError: cannot open shared object file: cannot load shared object > file: No such file or directory >>>> > > > -- > --- > Dennis Sacks > de...@il... > "Things are falling down on me, heavy things I could not see" > > > > _______________________________________________ > Python-LDAP-dev mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/python-ldap-dev |
|
From: <de...@il...> - 2002-02-28 07:30:23
|
Hi,
two issues with code from cvs as of 2/28/02. First, python setup.py build
complained about:
warning: build_py: file Lib/ldap.py (for module ldap) not found
There was no ldap.py file anywhere in the module I got from cvs.
I put a ldap.py file from python-ldap-1.10alpha3 into Lib and was able to
build and install.
However, when I try to import ldap or _ldap I get denied:
$ python
Python 2.0.1 (#1, Jun 24 2001, 18:39:34)
[GCC 2.95.3 20010315 (release)] on linux2
Type "copyright", "credits" or "license" for more information.
>>> import ldap
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.0/site-packages/ldap/__init__.py", line 5, in ?
from _ldap import *
ImportError: cannot open shared object file: cannot load shared object
file: No such file or directory
>>> import _ldap
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: cannot open shared object file: cannot load shared object
file: No such file or directory
>>>
--
---
Dennis Sacks
de...@il...
"Things are falling down on me, heavy things I could not see"
|
|
From: Jens V. <je...@zo...> - 2002-02-26 21:43:53
|
if you tell us what you find unclear about the instructions that come with the software then maybe someone can help. jens On Tuesday, February 26, 2002, at 04:30 , Sharma, Gopesh (NCI) wrote: > Hello all: > > I need to access ldap server from a python script. Can some one help me in > installing the python-ldap module on a linux red hat 7.1 enviornment? > > Thanks > Gopesh > |
|
From: Sharma, G. (NCI) <sha...@ma...> - 2002-02-26 21:30:14
|
Hello all: I need to access ldap server from a python script. Can some one help me in installing the python-ldap module on a linux red hat 7.1 enviornment? Thanks Gopesh |
|
From: Joe L. <jl...@op...> - 2002-02-26 17:18:05
|
On 2/26/02 8:54 AM, "Michael Str=F6der" <mi...@st...> wrote: > Cc:-ed again to python-ldap-dev list since it might be interesting for > others too. >=20 > Joe Little wrote: >>=20 >> Do you use search filters with \+ in it? >=20 > Yes, I've tested the group admin feature of web2ldap editing group > membership of entries which have + (better say escaped \+) in their DN > string representation. The filter also contained \+ but did not raise > any filter error exception. > As I said there are some bugs in web2ldap (0.10.3 as of this writing) > concerning + in DNs which I fixed this morning. But they were unrelated > to constructing search filters. >=20 >> Is there a method that you are using the generate your search >> string that strips the escapes out? The problem here is that I don't str= ip >> them out.. and feel I should have to :) >=20 > Don't strip them out. Pass the DN as assertion value right into your > routine escaping the special chars for search filters. Then build the > filter with the result. Watch out for the use of > ldaputil.base.escape_filter_chars() in pylib/w2lapp/groupadm.py of > current web2ldap distribution. I'm confused. The search filter barfed because I had the escape sequences i= n there. If I just had the + symbols with \, it likely won't give me there error. I was thinking I'd need to remove the \'s before commiting another search. Previously, I didn't need to do this (last June). >=20 > Another thing is if you want to compare attribute values within your > client. For such a string comparison you have to unescape the attribute > values *after* completely decomposing the DN with ldap.explode_dn() and > ldap.explode_rdn(). I've started to implement a function for that. >=20 > Ciao, Michael. >=20 >=20 > _______________________________________________ > Python-LDAP-dev mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/python-ldap-dev |
|
From: <mi...@st...> - 2002-02-26 16:55:44
|
Cc:-ed again to python-ldap-dev list since it might be interesting for others too. Joe Little wrote: > > Do you use search filters with \+ in it? Yes, I've tested the group admin feature of web2ldap editing group membership of entries which have + (better say escaped \+) in their DN string representation. The filter also contained \+ but did not raise any filter error exception. As I said there are some bugs in web2ldap (0.10.3 as of this writing) concerning + in DNs which I fixed this morning. But they were unrelated to constructing search filters. > Is there a method that you are using the generate your search > string that strips the escapes out? The problem here is that I don't strip > them out.. and feel I should have to :) Don't strip them out. Pass the DN as assertion value right into your routine escaping the special chars for search filters. Then build the filter with the result. Watch out for the use of ldaputil.base.escape_filter_chars() in pylib/w2lapp/groupadm.py of current web2ldap distribution. Another thing is if you want to compare attribute values within your client. For such a string comparison you have to unescape the attribute values *after* completely decomposing the DN with ldap.explode_dn() and ldap.explode_rdn(). I've started to implement a function for that. Ciao, Michael. |
|
From: <mi...@st...> - 2002-02-26 16:55:44
|
Bobby Beckmann wrote: > > Since the attribute/value set is returned as a dict, the proper case > is necessary when using that dict. Since we need case-insensitive > lookups, I've patched ldapobject.py to use a custom case-insensitive > dict. 1. You should *not* patch ldapobject.py directly. You should sub-class ldapobject.LDAPObject if you need a different behaviour. 2. There's also module cidict shipped with python-ldap which sub-classes UserDict.UserDict providing a case-insensitive dictionary class. > Are there any plans to provide something like this in the released > lib I won't add those kind of changes to ldapobject.LDAPObject. Let's keep that part of python-ldap easy to understand. I prefer to see in the results more or less exactly what comes out of the OpenLDAP libs. Also the approach with just a case-insensitive dictionary looks to naive to me. The dictionary class should be case-preserving which is slightly more complicated. IMHO things like language sub-types (cn;lang-en-EN) and transfer encodings (;binary) should be supported. I have plans to implement such a thing but spare time is sparse at the moment. Ciao, Michael. |
|
From: <mi...@st...> - 2002-02-25 23:51:57
|
Joe Little wrote: > > It seems somehow very wrong that one can't use the DN that > LDAP returns with a result to refer to the same entry again. Wouldn't you > agree? I do agree. And it works perfect for me with python-ldap. Tested again a minute ago with web2ldap accessing OpenLDAP REL_ENG_2 using several methods. It seems that I have to fix web2ldap to escape the special chars properly when automatically forming the RDN from entry's attributes. But that's a bug in web2ldap not a bug in python-ldap. Ciao, Michael. |
|
From: Bobby B. <sp...@pi...> - 2002-02-25 23:49:05
|
Hi all, Since the attribute/value set is returned as a dict, the proper case is necessary when using that dict. Since we need case-insensitive lookups, I've patched ldapobject.py to use a custom case-insensitive dict. Are there any plans to provide something like this in the released lib (I'd be happy to contribute my change, all two lines + 1 class). If not, is there a better solution to this problem of case sensitivity. thanks, bobby -- sp...@pi... |
|
From: Joe L. <jl...@op...> - 2002-02-25 23:38:39
|
Thoughts at the very end..
On 2/25/02 3:29 PM, "Michael Str=F6der" <mi...@st...> wrote:
> Joe Little wrote:
>>=20
>> When it
>> explodes the DN out of my entry, its string result is:
>>=20
>> "(cn=3Dwhois\+\+)"
>> [..]
>> However, even before I explode it, I already see the DN is stored in my =
res
>> as whois\+\+.
>=20
> This is perfectly right. See RFC2253, section 2.4. After reading BNF in
> section 3. you might be convinced that you're best bet is to handle DNs
> as opaque. "+" is used to form multi-valued RDNs.
>=20
>> Searching on this DN results in an ldap.FILTER_ERROR: {'desc':
>> 'Bad search filter', 'info': ''}
>=20
> Special chars in search filters are a different thing, see RFC2254.
>=20
>> whois++ has been in /etc/services for quite some time.
>=20
> I remember that there was a discussion about this very topic on one of
> the OpenLDAP lists.
>=20
>> So one of two things
>> has happened:
>>=20
>> 1) python-ldap has changed behavior in some way (whether first pull of d=
ata
>> or search filter usage)
>>=20
>> 2) MigrationTools (used to load up NIS type data to LDAP) from padl.com,
>> which fixed certain things associated with + and other symbols, can load
>> data correctly into LDAP with Perl ala PerLDAP and PythonLDAP doesn't
>> support the same.
>=20
> 3) The LDAP libs/server requires proper escaping/handling DNs which
> translates to "+" need to be escaped nowadays. The application using
> python-ldap has to be fixed.
>=20
What I find odd about this is that the data retrieved using one call to
Python-LDAP cannot be in turn used again to write back. You have to take th=
e
results and always un-escape any characters before calling LDAP methods
again on data? It seems somehow very wrong that one can't use the DN that
LDAP returns with a result to refer to the same entry again. Wouldn't you
agree?
> Ciao, Michael.
>=20
>=20
> _______________________________________________
> Python-LDAP-dev mailing list
> Pyt...@li...
> https://lists.sourceforge.net/lists/listinfo/python-ldap-dev
|