You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Marc Boorshtein <mb...@yahoo.com> on 2005/05/03 03:42:41 UTC
Re: [apacheds] JXplorer compatibility; some strangeness with names
Hey chris,
I was just curiose how far along your ldap backend is?
marc
--- Marc Boorshtein <mb...@yahoo.com> wrote:
> I've run into similar issues with jndi/java based
> ldap
> proxy. The issue is generally because of
> conversions
> from UTF-8 -> UCS-2 -> UTF-8...especially when
> dealing
> with windows.
>
> As for the way jzplorer is displaying it, I've
> generally seen servers return UTF-8 characters in
> one
> of 2 ways:
> 1. Escaped using a "\", so for isntance "\C5"
> 2. Assume the client is reading in the characters
> as
> UTF-8
>
> I've never seen them encoded with a "%" before
> though...is that part of the RFC?
>
> marc
>
>
> --- chris@pegacat.com wrote:
> > Hi Folks,
> >
> > I've been messing around with custom
> partitions,
> > and have a couple of
> > questions...
> >
> > first (easy) question; is there any way to make
> > the sending of timestamp
> > information optional, or should this be done
> inside
> > the partition? At the
> > moment timestamp info is sent as another
> attribute,
> > and the directory I'm
> > using wants to set that stuff itself (as it
> doesn't
> > trust clients :-) )...
> >
> > second (yucky) question: I'm having trouble with
> > the handling of 'special'
> > characters in names. They seem to get mangled
> > between my partition passing
> > them back (as a naming enumeration of search
> result
> > objects), and apacheds
> > making the ldap response.
> >
> > Specifically, this is the raw LDAP straight from
> > my directory...
> >
> > 0000: 30 82 01 6F 02 01 0A 64 82 01 68 04 44 63
> 6E
> > 3D 0..o...d..h.Dcn=
> > 0010: 56 69 76 69 65 6E 6E 65 20 5C 22 4C 45 56
> 45
> > 52 Vivienne \"LEVER
> > 0020: 5C 22 2C 6F 75 3D 41 64 6D 69 6E 69 73 74
> 72
> > 61 \",ou=Administra
> > 0030: 74 69 6F 6E 2C 6F 75 3D 43 6F 72 70 6F 72
> 61
> > 74 tion,ou=Corporat
> > 0040: 65 2C 6F 3D 44 45 4D 4F 43 4F 52 50 2C 63
> 3D
> > 41 e,o=DEMOCORP,c=A
> > 0050: 55 30 82 01 1E 30 1E 04 0B 6F 62 6A 65 63
> 74
> > 43 U0...0...objectC
> > 0060: 6C 61 73 73 31 0F 04 0D 69 6E 65 74 4F 72
> 67
> > 50 lass1...inetOrgP
> > 0070: 65 72 73 6F 6E 30 18 04 02 63 6E 31 12 04
> 10
> > 56 erson0...cn1...V
> > 0080: 69 76 69 65 6E 6E 65 20 22 4C 45 56 45 52
> 22
> > 30 ivienne "LEVER"0
> > 0090: 0D 04 02 73 6E 31 07 04 05 4C 45 56 45 52
> 30
> > 24 ...sn1...LEVER0$
> > (etc.)
> >
> > This is what I get from apacheDS...
> >
> > 0000: 30 82 01 42 02 01 09 64 82 01 3B 04 17 63
> 6E
> > 3D 0..B...d..;..cn=
> > 0010: 56 69 76 69 65 6E 6E 65 20 5C 5C 22 4C 45
> 56
> > 45 Vivienne \\"LEVE
> > 0020: 52 5C 5C 22 30 82 01 1E 30 0D 04 02 73 6E
> 31
> > 07 R\\"0...0...sn1.
> > 0030: 04 05 4C 45 56 45 52 30 1D 04 0F 74 65 6C
> 65
> > 70 ..LEVER0...telep
> > (etc.)
> >
> > obviously it's shorter, and it misses the higher
> > RDNs (jndi just gives the
> > relative name; my partition can expand it if
> > necessary?). But more
> > importantly, it messes up the special characters,
> > and JXplorer displays the
> > entry as: Vivienne%20%5c%5c%22LEVER%5c%5c%22 .
> > yikes. A similar problem
> > occurs with names that just have a space (e.g.
> 'fred
> > nurk'); the spaces get
> > translated to %20, so it's not just the quote
> > characters above.
> >
> > If I read back a similar entry from the ApacheDS
> > user partition, it all
> > works pretty much as expected (e.g. similar to the
> > first option above).
> >
> > 0000: 30 30 02 01 0A 65 2B 0A 01 00 04 24 75 69
> 64
> > 3D 00...e+....$uid=
> > 0010: 66 72 65 64 20 5C 22 6E 75 72 6B 5C 22 2C
> 6F
> > 75 fred \"nurk\",ou
> > 0020: 3D 75 73 65 72 73 2C 6F 75 3D 73 79 73 74
> 65
> > 6D =users,ou=system
> > 0030: 04 00
>
> > ..
> >
> > ... and the entry displays correctly in
> JXplorer.
> >
> > So...
> > 1) Does a partition need to return full names
> > rather than relative names
> > in the BackingStore 'search()' method?
> > 2) Do these names need to be pre-processed in
> any
> > way to avoid multiple
> > escapings of characters in names?
> >
> > Any thoughts?
> >
> > - Chris
> >
> >
>
Re: [apacheds] ldap backed
Posted by Chris Betts <ch...@pegacat.com>.
Hi Marc,
I ended up writing a generic 'jndi backend', and when I set it to
use the default sun jndi / ldap provider, it works very nicely as an
ldap backend. There's still the problem with special characters in the
names being mangled, but I haven't had time to chase that down yet...
- Chris
On 03/05/2005, at 11:42 AM, Marc Boorshtein wrote:
> Hey chris,
>
> I was just curiose how far along your ldap backend is?
>
> marc
>
>
> --- Marc Boorshtein <mb...@yahoo.com> wrote: