If a client wanted to know which OIDs/descriptors were unknown, it could simply rely on published schema(s) for the subtree(s) and other published information. (Note that the published subschema/information may be incomplete, but then so would be the information in the control.)
Personally, I think this control extension would not be all that useful (over existing discovery mechanisms). Kurt At 07:31 AM 8/29/2005, Pierangelo Masarati wrote: >[moved to -devel for further discussion] > >Pierangelo Masarati wrote: > >>>It might be useful to have a control which asks an operation to return a >>>control with a list of any unknown attributes referenced by the request. >>>Or more generally unknown values for anything with OID syntax. Could be >>>turned on by default in some or all of the LDAP tools. >>The idea looks interesting; I don't see how most of the users would benefit >>from it, except those that use the latest version of the tools. I do not >>quite agree on having such control enabled by default on openldap client >>(maybe non-critical?) because it would require them to use LDAPv3 by default >>and could cause other incompatibility issues with third-party DSAs; even if >>we provide a switch to disable it, I'd rather stick with the rest of the >>controls, that must be explicitly requested. > >One could also require that a naming attribute in a request DN be analyzed and >any unrecognized attributeDescription be returned along with the control. So >the control response could be something like: > >- list of unrecognized attributes in requestDN >- list of unrecognized control OIDs in controls > - for known controls, unrecognized attribute OIDs and other OIDs could be > defined, > or an extensible mechanism could be designed >- per-op stuff: > - search: > - for each simpleFilter: > - attribute OID, if unrecognized > - value OID, if attribute is objectClass and value is unrecognized > - matchingRule OID if filter is RFC2254 MRA and matchingRule > is unrecognized > (the syntax could be like a regular filter, with the recognized > portions > omitted, so "(&(objectClass=foo)(bar=TRUE)(sn:fubarMatch:=Jensen))" > would result in "(&(=foo)(bar=)(:fubar:=))" > - list of unrecognized attribute OIDs in requested attributes > - compare: > - unrecognized attribute OID in assertion > - add: > - list of unrecognized attribute OIDs in entry > - modify: > - list of unrecognized attribute OIDs in modifications > - list of unrecognized objectClass OIDs in objectClass attribute > modifications > - modrdn: > - list of unrecognized OIDs in newRDN > - list of unrecognized OIDs in newSuperior > - extended: > - ? > >Comments? > >p. > > > SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497
