]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
fix typo
[openldap] / servers / slapd / slap.h
index 22abb59a619112aa53e99310d84a8070c9819efc..4b5e84dfd772cd9b885dd3ee4c275c54d720cbf2 100644 (file)
@@ -64,6 +64,7 @@ LDAP_BEGIN_DECL
 #define LDAP_SYNC_TIMESTAMP
 #define SLAP_CONTROL_X_SORTEDRESULTS
 #define SLAP_CONTROL_X_SESSION_TRACKING
+#define SLAP_CONFIG_DELETE
 #endif
 
 #define LDAP_DYNAMIC_OBJECTS
@@ -299,6 +300,8 @@ enum {
        SLAP_SCHERR_SYN_NOT_FOUND,
        SLAP_SCHERR_SYN_DUP,
        SLAP_SCHERR_SYN_SUP_NOT_FOUND,
+       SLAP_SCHERR_SYN_SUBST_NOT_SPECIFIED,
+       SLAP_SCHERR_SYN_SUBST_NOT_FOUND,
        SLAP_SCHERR_NO_NAME,
        SLAP_SCHERR_NOT_SUPPORTED,
        SLAP_SCHERR_BAD_DESCR,
@@ -680,7 +683,8 @@ struct AttributeType {
        Syntax                          *sat_syntax;
 
        AttributeTypeSchemaCheckFN      *sat_check;
-       char                            *sat_oidmacro;
+       char                            *sat_oidmacro;  /* attribute OID */
+       char                            *sat_soidmacro; /* syntax OID */
 
 #define SLAP_AT_NONE                   0x0000U
 #define SLAP_AT_ABSTRACT               0x0100U /* cannot be instantiated */
@@ -967,6 +971,8 @@ struct slap_internal_schema {
        MatchingRule    *si_mr_integerMatch;
        MatchingRule    *si_mr_integerFirstComponentMatch;
        MatchingRule    *si_mr_objectIdentifierFirstComponentMatch;
+       MatchingRule    *si_mr_caseIgnoreMatch;
+       MatchingRule    *si_mr_caseIgnoreListMatch;
 
        /* Syntaxes */
        Syntax          *si_syn_directoryString;
@@ -1371,8 +1377,8 @@ typedef struct Access {
 #define ACL_PRIV_SET(m,p)              do { (m) |=  (p); } while(0)
 #define ACL_PRIV_CLR(m,p)              do { (m) &= ~(p); } while(0)
 
-#define ACL_INIT(m)                    ACL_PRIV_ASSIGN(m, ACL_PRIV_NONE)
-#define ACL_INVALIDATE(m)              ACL_PRIV_ASSIGN(m, ACL_PRIV_INVALID)
+#define ACL_INIT(m)                    ACL_PRIV_ASSIGN((m), ACL_PRIV_NONE)
+#define ACL_INVALIDATE(m)              ACL_PRIV_ASSIGN((m), ACL_PRIV_INVALID)
 
 #define ACL_GRANT(m,a)                 ACL_PRIV_ISSET((m),ACL_ACCESS2PRIV(a))
 
@@ -1707,7 +1713,7 @@ struct ConfigOCs; /* config.h */
 
 struct BackendDB {
        BackendInfo     *bd_info;       /* pointer to shared backend info */
-       BackendDB *bd_orig;             /* pointer to original backend, for overlays */
+       BackendDB       *bd_self;       /* pointer to this struct */
 
        /* fields in this structure (and routines acting on this structure)
           should be renamed from be_ to bd_ */
@@ -2467,11 +2473,20 @@ typedef union OpRequest {
        req_pwdexop_s oq_pwdexop;
 } OpRequest;
 
+/* This is only a header. Actual users should define their own
+ * structs with the oe_next / oe_key fields at the top and
+ * whatever else they need following.
+ */
 typedef struct OpExtra {
-       struct OpExtra *oe_next;
+       LDAP_SLIST_ENTRY(OpExtra) oe_next;
        void *oe_key;
 } OpExtra;
 
+typedef struct OpExtraDB {
+       OpExtra oe;
+       BackendDB *oe_db;
+} OpExtraDB;
+
 struct Operation {
        Opheader *o_hdr;
 
@@ -2665,7 +2680,7 @@ struct Operation {
 
        /* DEPRECATE o_private - use o_extra instead */
        void    *o_private;     /* anything the backend needs */
-       OpExtra *o_extra;       /* anything the backend needs */
+       LDAP_SLIST_HEAD(o_e, OpExtra) o_extra;  /* anything the backend needs */
 
        LDAP_STAILQ_ENTRY(Operation)    o_next; /* next operation in list */
 };
@@ -2678,7 +2693,7 @@ typedef struct OperationBuffer {
 
 #define send_ldap_error( op, rs, err, text ) do { \
                (rs)->sr_err = err; (rs)->sr_text = text; \
-               (op->o_conn->c_send_ldap_result)( op, rs ); \
+               ((op)->o_conn->c_send_ldap_result)( op, rs ); \
        } while (0)
 #define send_ldap_discon( op, rs, err, text ) do { \
                (rs)->sr_err = err; (rs)->sr_text = text; \