]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
liberally accept many LDAPv2/LDAPv3 stuff in DN (quoted parts, ';' as rdn separator...
[openldap] / servers / slapd / slap.h
index cd7909aeb6d449ef18eb4f2e74afae9eb568eec4..dde81a8749bf1e946be87c8de5f3c8e7badee656 100644 (file)
@@ -8,6 +8,8 @@
 #ifndef _SLAP_H_
 #define _SLAP_H_
 
+#define USE_LDAP_DN_PARSING
+
 #include "ldap_defaults.h"
 
 #include <ac/stdlib.h>
@@ -85,6 +87,7 @@ LDAP_BEGIN_DECL
 #define FILTER_ESCAPE(c) ( (c) == '*' || (c) == '\\' \
        || (c) == '(' || (c) == ')' || !ASCII_PRINTABLE(c) )
 
+#define DN_ESCAPE(c)   ((c) == SLAP_ESCAPE_CHAR)
 #define DN_SEPARATOR(c)        ((c) == ',' || (c) == ';')
 #define RDN_ATTRTYPEANDVALUE_SEPARATOR(c) ((c) == '+') /* RFC 2253 */
 #define RDN_SEPARATOR(c) (DN_SEPARATOR(c) || RDN_ATTRTYPEANDVALUE_SEPARATOR(c))
@@ -176,11 +179,10 @@ typedef struct slap_ssf_set {
 #define SLAP_INDEX_SUBSTR_MAXLEN       4
 #define SLAP_INDEX_SUBSTR_STEP 2
 
-#define SLAP_INDEX_FLAGS          0xF000UL
-#define SLAP_INDEX_SUBTYPES       0x1000UL /* use index with subtypes */
-#define SLAP_INDEX_AUTO_SUBTYPES  0x2000UL /* use mask with subtypes */
-#define SLAP_INDEX_LANG           0x4000UL /* use index with lang subtypes */
-#define SLAP_INDEX_AUTO_LANG      0x8000UL /* use mask with lang subtypes */
+#define SLAP_INDEX_FLAGS         0xF000UL
+#define SLAP_INDEX_NOSUBTYPES    0x1000UL /* don't use index w/ subtypes */
+#define SLAP_INDEX_NOLANG        0x2000UL /* don't use index w/ lang */
+#define SLAP_INDEX_AUTO_SUBTYPES 0x4000UL /* use mask with lang subtypes */
 
 /*
  * there is a single index for each attribute.  these prefixes ensure
@@ -338,6 +340,7 @@ typedef struct slap_matching_rule {
 #define SLAP_MR_EXT                            0x0800U
 
 #define SLAP_MR_EQUALITY_APPROX        ( SLAP_MR_EQUALITY | 0x0010U )
+#define SLAP_MR_DN_FOLD                        0x0008U
 
 #define SLAP_MR_SUBSTR_INITIAL ( SLAP_MR_SUBSTR | 0x0010U )
 #define SLAP_MR_SUBSTR_ANY             ( SLAP_MR_SUBSTR | 0x0020U )
@@ -473,6 +476,8 @@ struct slap_internal_schema {
 
        /* operational attribute descriptions */
        AttributeDescription *si_ad_structuralObjectClass;
+       AttributeDescription *si_ad_entryUUID;
+       AttributeDescription *si_ad_entryCSN;
        AttributeDescription *si_ad_creatorsName;
        AttributeDescription *si_ad_createTimestamp;
        AttributeDescription *si_ad_modifiersName;
@@ -544,7 +549,6 @@ typedef struct slap_mr_assertion {
        struct berval                   *ma_value;      /* required */
 } MatchingRuleAssertion;
 
-
 /*
  * represents a search filter
  */
@@ -554,7 +558,6 @@ typedef struct slap_filter {
 #define SLAPD_FILTER_DN_ONE            ((ber_tag_t) -2)
 #define SLAPD_FILTER_DN_SUBTREE        ((ber_tag_t) -3)
 
-
        union f_un_u {
                /* precomputed result */
                ber_int_t f_un_result;