[Date Prev][Date Next] [Chronological] [Thread] [Top]

LDAP clients and handling of empty spaces



hi everyone,

i am coming across a problem with some LDAP clients (notably those made by
micro$oft) where empty spaces in a DN that gets transmitted in order to bind
to the server with it are replaces with "%20" by the client.

since i assume there is no way to make those micro$oft clients play nice i'm
wondering whether i can tell slapd to convert the %20 back, or another
solution that would match the input with the correct DN in the database.
anyone ever had this problem?

input highly appreciated :)

jens

----

Jens Vagelpohl        jens@digicool.com
Software Engineer     www.digicool.com
Digital Creations     (888) 344-4332

Got Zope?

----

P.S.: here is some debugging output from slapd:

************ micro$oft client ******************
ber_dump: buf 0x8181520, ptr 0x8181523, end 0x8181560
         ` 84 00 00 00  7 02 01 03 04  )  c  n  =  J  e
         n  s  %  2  0  V  a  g  e  l  p  o  h  l  ,  o
         u  =  C  o  n  t  a  c  t  s  ,  o  =  D  C  ,
         c  =  U  S 80 07  <password>

do_bind: version=3 dn="cn=Jens%20Vagelpohl,ou=Contacts,o=DC,c=US" method=128
conn=1 op=0 BIND dn="CN=JENS%20VAGELPOHL,OU=CONTACTS,O=DC,C=US" method=128
==> ldbm_back_bind: dn: cn=Jens%20Vagelpohl,ou=Contacts,o=DC,c=US
dn2entry_r: dn: "CN=JENS%20VAGELPOHL,OU=CONTACTS,O=DC,C=US"
=> dn2id( "CN=JENS%20VAGELPOHL,OU=CONTACTS,O=DC,C=US" )
=> ldbm_cache_open( "/usr/local/var/openldap-ldbm/dn2id.dbb", 7, 600 )
ldbm_cache_open (blksize 4096) (maxids 1022) (maxindirect 9)
<= ldbm_cache_open (opened 0)
<= dn2id NOID
*************************************************

****** same account, but using LDAPBrowser ******
ber_dump: buf 0x8181ca8, ptr 0x8181cab, end 0x8181ce2
         `  5 02 01 03 04  '  c  n  =  J  e  n  s 20  V
         a  g  e  l  p  o  h  l  ,  o  u  =  C  o  n  t
         a  c  t  s  ,  o  =  D  C  ,  c  =  U  S 80 07
         <password>

do_bind: version=3 dn="cn=Jens Vagelpohl,ou=Contacts,o=DC,c=US" method=128
conn=4 op=0 BIND dn="CN=JENS VAGELPOHL,OU=CONTACTS,O=DC,C=US" method=128
==> ldbm_back_bind: dn: cn=Jens Vagelpohl,ou=Contacts,o=DC,c=US
dn2entry_r: dn: "CN=JENS VAGELPOHL,OU=CONTACTS,O=DC,C=US"
=> dn2id( "CN=JENS VAGELPOHL,OU=CONTACTS,O=DC,C=US" )
=> ldbm_cache_open( "/usr/local/var/openldap-ldbm/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 40366
**************************************************