Chuck Lever wrote:
The downside of using a binary XDR blob is that it's not observable or editable via typical LDAP tools.
Some tools allow implementing plugins for certain attributes. But of course it's rather cumbersome.
It's been suggested that we use a file URL to represent export pathnames. A file URL is expressed in US-ASCII with escaping, [..] Can we represent the full range of the UTF-8 code set with a US-ASCII file URL?
Yes, of course just like HTTP URLs can contain non-ASCII chars in an URL-quoted form. You first encode to UTF-8 and then URL-quote. Decoding means URL-unquote and the decode UTF-8 to Unicode char entities.
We could also use an NFS URL, which would allow us to express the server hostname, a port number, and the pathname in a single string. But both the hostname and pathname are enocded in US-ASCII, not UTF-8, and the NFS URL format employs a fixed pathname separator character.
That's what I would prefer. Think of file browsers which can open the NFS mount point just by clicking on it. Same encoding steps as with file URLs.
An alternative we have considered would store the pathname in a single-valued UTF-8 string attribute, including pathname separators, but also store the pathname separator character in a separate attribute. A simple escaping mechanism would be used to represent a separator character embedded in a component.
I would not do this.
Ciao, Michael.