Howard Chu [Sat, 24 Nov 2001 03:46:02 +0000 (03:46 +0000)]
Removed unused "range" argument from indexing functions. Fixed more
bugs in indexing. Uncommented #define to turn on indexing in back-bdb.h.
It looks like it's working.
fix misinitialized UNDEFINED attribute type; reordered members of AttributeType because I don't know a portable way to statically initialize a mutex :)
Howard Chu [Sat, 17 Nov 2001 04:41:47 +0000 (04:41 +0000)]
First pass at indexing cleanup. Both filterindex.c and search.c now
compile cleanly when BDB_FILTER_INDICES is defined, but I have not
yet seen whether any of it actually works. In particular, I don't
understand the "range" argument to the candidate functions...
Howard Chu [Fri, 16 Nov 2001 08:18:58 +0000 (08:18 +0000)]
Changed AttributeType.sat_cname from char * to struct berval.
Forced SLAP_USE_AD code, removed ifdefs of old code. filterindex.c is
still badly broken when BDB_FILTER_INDICES is defined, working on that...
Howard Chu [Fri, 16 Nov 2001 07:39:14 +0000 (07:39 +0000)]
Changed global ad_mutex into per-attributeType mutex. Added
ad_find_lang() to search an AttributeType for a given language variant.
(Will be used in back-bdb/back-ldbm index code...)
More compliant version of str2dn/dn2str;
may need optimization;
uncomment #define USE_LDAP_DN_PARSING in libraries/libldap/getdn.c
to enable its use.
The ava/rdn/dn handling routines (append, insert, free and so) must
be made available thru declaration in some header.
enhanced dn parsing; see libraries/libldap/dntest for a 'demo'. Need to define USE_LDAP_DN_PARSING to override usual ldap_dn2ufn and so, and PARSE_UTF8 to parse attribute values as utf-8
Kurt Zeilenga [Fri, 26 Oct 2001 02:05:14 +0000 (02:05 +0000)]
First stable an implementing latest namedref specification.
Includes rewriting of URLs where the DN of the referral object
and the DN of the ref attribute attribute are not the same.
Also, always returns explicit DN and scope.
Currently, back-ldbm only. Needs to be ported to back-bdb.
Kurt Zeilenga [Thu, 25 Oct 2001 06:18:11 +0000 (06:18 +0000)]
Root DSE and subschema subentry compare.
Developed by Steve Omrani/IBM
Copyright IBM Corp. 2001
Use of this source code is subject to the terms of The OpenLDAP
Public License Version 2.7, 7 September 2001. No trademarks of the
IBM Corporation are to be used to identify, endorse or promote any
products derived from this code without the prior written consent
of IBM.
Kurt Zeilenga [Wed, 24 Oct 2001 21:26:32 +0000 (21:26 +0000)]
Use allids instead of candidiate negation for !. (ITS#1405)
Use presence indices in support of >= and <=.
(Note presence indices could be used to support = and substr in
like fashion where eq and substr indices are not maintained, but
I'll save that for another day.)
Kurt Zeilenga [Tue, 23 Oct 2001 23:29:41 +0000 (23:29 +0000)]
Use defined Root DSE attributes.
Developed by Julius Enarusai/IBM
Copyright IBM Corp. 2001
Use of this source code is subject to the terms of The OpenLDAP
Public License Version 2.7, 7 September 2001. No trademarks of the
IBM Corporation are to be used to identify, endorse or promote any
products derived from this code without the prior written consent
of IBM.
And this change implements indexing for certificateExactMatch. Now
you can search efficiently the directory for a certificate.
Notice that we index certificates just as serial integers. A full
index should combine the issuer DN too, but I think in most scenarios
that would be extremely redundant and of little benefit. We can add
an option later to do full indexing.
No code change, added a comment warning of a possible future difficulty.
Apparently, we refuse to index ;binary attributes. That is mostly
bogus. Whether it is indexable or not depends on whether we know how
to or not, nothing more. I.e., the existance of indexer and filter
functions for the matching rules that are relevant to the attribute
type.