directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Boorshtein <mboorsht...@yahoo.com>
Subject Re: [apacheds] JXplorer compatibility; some strangeness with names
Date Fri, 29 Apr 2005 15:12:22 GMT
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 
> 
> 

Mime
View raw message