*/
#define SLAP_MOD_SOFTADD 0x1000
-#define ON (1)
-#define OFF (-1)
-#define UNDEFINED (0)
-
#define MAXREMATCHES (10)
#define SLAP_MAX_WORKER_THREADS (32)
+#define SLAP_SB_MAX_INCOMING_DEFAULT ((1<<18) - 1)
+#define SLAP_SB_MAX_INCOMING_AUTH ((1<<24) - 1)
+
#define SLAP_TEXT_BUFLEN (256)
/* psuedo error code indicating abandoned operation */
#define SLAP_INDEX_DEFAULT SLAP_INDEX_EQUALITY
-#define IS_SLAP_INDEX(mask, type) (((mask) & (type)) == (type) )
+#define IS_SLAP_INDEX(mask, type) (((mask) & (type)) == (type))
#define SLAP_INDEX_SUBSTR_TYPE 0x0F00UL
#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
struct slap_syntax *syntax, /* syntax of stored value */
struct slap_matching_rule *mr,
struct berval *prefix,
- BVarray values,
- BVarray *keys ));
+ BerVarray values,
+ BerVarray *keys ));
/* Filter index function */
typedef int slap_mr_filter_func LDAP_P((
struct slap_matching_rule *mr,
struct berval *prefix,
void * assertValue,
- BVarray *keys ));
+ BerVarray *keys ));
typedef struct slap_matching_rule {
LDAPMatchingRule smr_mrule;
- ber_len_t smr_oidlen;
+ ber_len_t smr_oidlen;
slap_mask_t smr_usage;
#define SLAP_MR_HIDE 0x8000U
struct slap_attribute_type *sat_next;
-#define sat_oid sat_atype.at_oid
-#define sat_names sat_atype.at_names
-#define sat_desc sat_atype.at_desc
+#define sat_oid sat_atype.at_oid
+#define sat_names sat_atype.at_names
+#define sat_desc sat_atype.at_desc
#define sat_obsolete sat_atype.at_obsolete
-#define sat_sup_oid sat_atype.at_sup_oid
+#define sat_sup_oid sat_atype.at_sup_oid
#define sat_equality_oid sat_atype.at_equality_oid
#define sat_ordering_oid sat_atype.at_ordering_oid
#define sat_substr_oid sat_atype.at_substr_oid
#define sat_single_value sat_atype.at_single_value
#define sat_collective sat_atype.at_collective
#define sat_no_user_mod sat_atype.at_no_user_mod
-#define sat_usage sat_atype.at_usage
+#define sat_usage sat_atype.at_usage
#define sat_extensions sat_atype.at_extensions
struct slap_attr_desc *sat_ad;
struct slap_object_class **soc_sups;
AttributeType **soc_required;
AttributeType **soc_allowed;
- ObjectClassSchemaCheckFN *sco_check;
- slap_mask_t sco_flags;
+ ObjectClassSchemaCheckFN *soc_check;
+ slap_mask_t soc_flags;
#define soc_oid soc_oclass.oc_oid
#define soc_names soc_oclass.oc_names
#define soc_desc soc_oclass.oc_desc
struct slap_object_class *soc_next;
} ObjectClass;
+#define SLAP_OC_ALIAS 0x01
+#define SLAP_OC_REFERRAL 0x02
+#define SLAP_OC_SUBENTRY 0x04
+#define SLAP_OC_DYNAMICOBJECT 0x08
+#define SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY 0x10
+#define SLAP_OC__MASK 0x1F
+#define SLAP_OC__END 0x20
+
#ifdef LDAP_EXTENDED_SCHEMA
/*
* DIT content rule
ObjectClass *si_oc_subentry;
ObjectClass *si_oc_subschema;
ObjectClass *si_oc_monitor;
- ObjectClass *si_oc_collectiveAttributes;
+ ObjectClass *si_oc_collectiveAttributeSubentry;
ObjectClass *si_oc_dynamicObject;
/* objectClass attribute descriptions */
AttributeDescription *si_ad_modifyTimestamp;
AttributeDescription *si_ad_hasSubordinates;
AttributeDescription *si_ad_subschemaSubentry;
- AttributeDescription *si_ad_collectiveSubentry;
+ AttributeDescription *si_ad_collectiveSubentries;
AttributeDescription *si_ad_collectiveExclusions;
AttributeDescription *si_ad_entryUUID;
AttributeDescription *si_ad_entryCSN;
*/
typedef struct slap_attr {
AttributeDescription *a_desc;
- BVarray a_vals;
+ BerVarray a_vals;
struct slap_attr *a_next;
unsigned a_flags;
#define SLAP_ATTR_IXADD 0x1U
Attribute *e_attrs; /* list of attributes + values */
+ slap_mask_t e_ocflags;
+
/* for use by the backend for any purpose */
void* e_private;
} Entry;
int sm_op;
AttributeDescription *sm_desc;
struct berval sm_type;
- BVarray sm_bvalues;
+ BerVarray sm_bvalues;
} Modification;
typedef struct slap_mod_list {
struct slap_replica_info **be_replica; /* replicas of this backend (in master) */
char *be_replogfile; /* replication log file (in master) */
struct berval be_update_ndn; /* allowed to make changes (in replicas) */
- BVarray be_update_refs; /* where to refer modifying clients to */
+ BerVarray be_update_refs; /* where to refer modifying clients to */
char *be_realm;
void *be_private; /* anything the backend database needs */
struct berval ** rspdata,
LDAPControl *** rspctrls,
const char ** text,
- BVarray *refs ));
+ BerVarray *refs ));
typedef int (BI_entry_release_rw) LDAP_P((BackendDB *bd,
struct slap_conn *c, struct slap_op *o,
struct slap_conn *c, struct slap_op *o,
Entry *e, struct berval *edn,
AttributeDescription *entry_at,
- BVarray *vals ));
+ BerVarray *vals ));
typedef int (BI_operational) LDAP_P((Backend *bd,
struct slap_conn *c, struct slap_op *o,
#define o_tls_ssf o_authz.sai_tls_ssf
#define o_sasl_ssf o_authz.sai_sasl_ssf
-struct slap_op;
-struct slap_conn;
-
typedef void (slap_response)( struct slap_conn *, struct slap_op *,
ber_tag_t, ber_int_t, ber_int_t, const char *, const char *,
- BVarray, const char *, struct berval *,
+ BerVarray, const char *, struct berval *,
struct berval *, LDAPControl ** );
typedef void (slap_sresult)( struct slap_conn *, struct slap_op *,
- ber_int_t, const char *, const char *, BVarray,
+ ber_int_t, const char *, const char *, BerVarray,
LDAPControl **, int nentries);
typedef int (slap_sendentry)( BackendDB *, struct slap_conn *,
int offset[SASLREGEX_REPLACE+2]; /* offsets of $1,$2... in *replace */
} SaslRegexp_t;
-/* Flags for telling slap_sasl_getdn() what type of identity is being passed */
-#define FLAG_GETDN_FINAL 1
-#define FLAG_GETDN_AUTHCID 2
-#define FLAG_GETDN_AUTHZID 4
-
/*
* listener; need to access it from monitor backend
*/