typedef enum slap_style_e {
ACL_STYLE_REGEX = 0,
+ ACL_STYLE_EXPAND,
ACL_STYLE_BASE,
ACL_STYLE_ONE,
ACL_STYLE_SUBTREE,
ACL_STYLE_CHILDREN,
- ACL_STYLE_ATTROF
+ ACL_STYLE_ATTROF,
+ ACL_STYLE_IP,
+ ACL_STYLE_PATH
} slap_style_t;
typedef struct slap_authz_info {
slap_style_t a_peername_style;
struct berval a_peername_pat;
+ unsigned long a_peername_addr,
+ a_peername_mask;
+ int a_peername_port;
+
slap_style_t a_sockname_style;
struct berval a_sockname_pat;
int rs_deref;
int rs_slimit;
int rs_tlimit;
+ /* NULL means be_isroot evaluated to TRUE */
+ struct slap_limits_set *rs_limit;
int rs_attrsonly;
AttributeName *rs_attrs;
Filter *rs_filter;
#define ors_deref oq_search.rs_deref
#define ors_slimit oq_search.rs_slimit
#define ors_tlimit oq_search.rs_tlimit
+#define ors_limit oq_search.rs_limit
#define ors_attrsonly oq_search.rs_attrsonly
#define ors_attrs oq_search.rs_attrs
#define ors_filter oq_search.rs_filter
#define get_domainScope(op) ((int)(op)->o_domain_scope)
#else
#define get_domainScope(op) (0)
+#endif
+
+#ifdef LDAP_CONTROL_X_TREE_DELETE
+ char o_tree_delete;
+#define get_treeDelete(op) ((int)(op)->o_tree_delete)
+#else
+#define get_treeDelete(op) (0)
#endif
char o_preread;
typedef struct slap_conn {
int c_struct_state; /* structure management state */
int c_conn_state; /* connection state */
+ int c_conn_idx; /* slot in connections array */
ldap_pvt_thread_mutex_t c_mutex; /* protect the connection */
Sockbuf *c_sb; /* ber connection stuff */