]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
cleanup comments
[openldap] / servers / slapd / slap.h
index b3b129ba105ee4229256dcc4acae898e2454ac6e..f23101680e2040654629546975f376d5a93865f3 100644 (file)
@@ -307,6 +307,18 @@ typedef struct slap_syntax {
 #define slap_syntax_is_ber(s)          slap_syntax_is_flag((s),SLAP_SYNTAX_BER)
 #define slap_syntax_is_hidden(s)       slap_syntax_is_flag((s),SLAP_SYNTAX_HIDE)
 
+typedef struct slap_syntax_defs_rec {
+       char *sd_desc;
+       int sd_flags;
+       slap_syntax_validate_func *sd_validate;
+       slap_syntax_transform_func *sd_normalize;
+       slap_syntax_transform_func *sd_pretty;
+#ifdef SLAPD_BINARY_CONVERSION
+       slap_syntax_transform_func *sd_ber2str;
+       slap_syntax_transform_func *sd_str2ber;
+#endif
+} slap_syntax_defs_rec;
+
 /* X -> Y Converter */
 typedef int slap_mr_convert_func LDAP_P((
        struct berval * in,
@@ -414,6 +426,18 @@ typedef struct slap_matching_rule {
 #define smr_extensions         smr_mrule.mr_extensions
 } MatchingRule;
 
+typedef struct slap_mrule_defs_rec {
+       char *                                          mrd_desc;
+       slap_mask_t                                     mrd_usage;
+       slap_mr_convert_func *          mrd_convert;
+       slap_mr_normalize_func *        mrd_normalize;
+       slap_mr_match_func *            mrd_match;
+       slap_mr_indexer_func *          mrd_indexer;
+       slap_mr_filter_func *           mrd_filter;
+
+       char *                                          mrd_associated;
+} slap_mrule_defs_rec;
+
 struct slap_backend_db;
 struct slap_entry;
 struct slap_attr;
@@ -481,7 +505,8 @@ typedef int (ObjectClassSchemaCheckFN)(
        char *textbuf, size_t textlen );
 
 typedef struct slap_object_class {
-       LDAPObjectClass         soc_oclass;
+       LDAPObjectClass                 soc_oclass;
+       struct berval                   soc_cname;
        struct slap_object_class        **soc_sups;
        AttributeType                           **soc_required;
        AttributeType                           **soc_allowed;
@@ -598,6 +623,7 @@ struct slap_internal_schema {
        AttributeDescription *si_ad_supportedLDAPVersion;
        AttributeDescription *si_ad_supportedSASLMechanisms;
        AttributeDescription *si_ad_supportedFeatures;
+       AttributeDescription *si_ad_monitorContext;
        AttributeDescription *si_ad_vendorName;
        AttributeDescription *si_ad_vendorVersion;
 
@@ -1175,7 +1201,9 @@ struct slap_backend_db {
 
 #define SLAP_DISALLOW_BIND_ANON                0x0001U /* no anonymous */
 #define SLAP_DISALLOW_BIND_SIMPLE      0x0002U /* simple authentication */
-#define SLAP_DISALLOW_BIND_KRBV4       0x0004U /* Kerberos V4 authentication */
+#define SLAP_DISALLOW_BIND_SIMPLE_UNPROTECTED \
+                                                                       0x0004U /* unprotected simple auth */
+#define SLAP_DISALLOW_BIND_KRBV4       0x0008U /* Kerberos V4 authentication */
 
 #define SLAP_DISALLOW_TLS_2_ANON       0x0010U /* StartTLS -> Anonymous */
 #define SLAP_DISALLOW_TLS_AUTHC                0x0020U /* TLS while authenticated */
@@ -1194,6 +1222,10 @@ struct slap_backend_db {
        BerVarray       be_suffix;      /* the DN suffixes of data in this backend */
        BerVarray       be_nsuffix;     /* the normalized DN suffixes in this backend */
        BerVarray       be_suffixAlias; /* pairs of DN suffix aliases and deref values */
+#ifdef SLAPD_SCHEMA_DN
+       struct berval be_schemadn;      /* per-backend subschema subentry DN */
+       struct berval be_schemandn;     /* normalized subschema DN */
+#endif
        struct berval be_rootdn;        /* the magic "root" name (DN) for this db */
        struct berval be_rootndn;       /* the magic "root" normalized name (DN) for this db */
        struct berval be_rootpw;        /* the magic "root" password for this db        */
@@ -1477,6 +1509,7 @@ typedef struct slap_paged_state {
 typedef struct slap_op {
        unsigned long o_opid;   /* id of this operation */
        unsigned long o_connid; /* id of conn initiating this op */
+       struct slap_conn *o_conn;       /* connection spawning this op */
 
        ber_int_t       o_msgid;        /* msgid of the request */
        ber_int_t       o_protocol;     /* version of the LDAP protocol used by client */
@@ -1487,6 +1520,8 @@ typedef struct slap_op {
 
        volatile sig_atomic_t o_abandon;        /* abandon flag */
 
+       char o_do_not_cache;    /* don't cache from this op */
+
 #define SLAP_NO_CONTROL 0
 #define SLAP_NONCRITICAL_CONTROL 1
 #define SLAP_CRITICAL_CONTROL 2
@@ -1509,6 +1544,7 @@ typedef struct slap_op {
        slap_callback   *o_callback;    /* callback pointers */
        LDAPControl     **o_ctrls;       /* controls */
 
+       void    *o_threadctx;           /* thread pool thread context */
        void    *o_private;     /* anything the backend needs */
 
        LDAP_STAILQ_ENTRY(slap_op)      o_next; /* next operation in list         */
@@ -1584,6 +1620,7 @@ typedef struct slap_conn {
        int             c_sasl_layers;   /* true if we need to install SASL i/o handlers */
        void    *c_sasl_context;        /* SASL session context */
        void    *c_sasl_extra;          /* SASL session extra stuff */
+       struct slap_op  *c_sasl_bindop; /* set to current op if it's a bind */
 
        PagedResultsState c_pagedresults_state; /* paged result state */
 
@@ -1646,6 +1683,12 @@ enum {
 };
 #endif /* SLAPD_MONITOR */
 
+/*
+ * Better know these all around slapd
+ */
+#define SLAP_LDAPDN_PRETTY 0x1
+#define SLAP_LDAPDN_MAXLEN 8192
+
 LDAP_END_DECL
 
 #include "proto-slap.h"