X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fslap.h;h=bb611b8fc88e4b46b510aaba2365aee8b2739620;hb=8558b8808e7e8deba617908eed99a8213f1bc405;hp=0a27ab8706bccbb98cbbc2dc918d57df2a3870e4;hpb=97e526cb2dcf5e485f0e130636afefeaf5b57447;p=openldap diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index 0a27ab8706..bb611b8fc8 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -1261,7 +1261,9 @@ struct slap_backend_db { #define SLAP_ALLOW_BIND_V2 0x0001U /* LDAPv2 bind */ #define SLAP_ALLOW_BIND_ANON_CRED 0x0002U /* cred should be empty */ -#define SLAP_ALLOW_BIND_ANON_DN 0x0003U /* dn should be empty */ +#define SLAP_ALLOW_BIND_ANON_DN 0x0004U /* dn should be empty */ + +#define SLAP_ALLOW_UPDATE_ANON 0x0008U /* allow anonymous updates */ #define SLAP_DISALLOW_BIND_ANON 0x0001U /* no anonymous */ #define SLAP_DISALLOW_BIND_SIMPLE 0x0002U /* simple authentication */ @@ -1567,6 +1569,39 @@ typedef struct slap_paged_state { ID ps_id; } PagedResultsState; + +#ifdef LDAP_CLIENT_UPDATE +#define LCUP_PSEARCH_BY_ADD 0x01 +#define LCUP_PSEARCH_BY_DELETE 0x02 +#define LCUP_PSEARCH_BY_PREMODIFY 0x03 +#define LCUP_PSEARCH_BY_MODIFY 0x04 +#define LCUP_PSEARCH_BY_SCOPEOUT 0x05 + +struct lcup_search_spec { + struct slap_op *op; + struct berval *base; + struct berval *nbase; + int scope; + int deref; + int slimit; + int tlimit; + Filter *filter; + struct berval *filterstr; + AttributeName *attrs; + int attrsonly; + struct lcup_entry *elist; + ldap_pvt_thread_mutex_t elist_mutex; + int entry_count; + LDAP_LIST_ENTRY(lcup_search_spec) link; +}; + +struct psid_entry { + struct lcup_search_spec* ps; + LDAP_LIST_ENTRY(psid_entry) link; +}; +#endif /* LDAP_CLIENT_UPDATE */ + + /* * represents an operation pending from an ldap client */ @@ -1608,6 +1643,9 @@ typedef struct slap_op { #define SLAP_LCUP_SYNC_AND_PERSIST (0x3) ber_int_t o_clientupdate_interval; struct berval o_clientupdate_state; + LDAP_LIST_HEAD(lss, lcup_search_spec) psearch_spec; + LDAP_LIST_HEAD(pe, psid_entry) premodify_list; + LDAP_LIST_ENTRY(slap_op) link; #endif /* LDAP_CLIENT_UPDATE */ #ifdef LDAP_CONNECTIONLESS @@ -1731,9 +1769,7 @@ typedef struct slap_conn { struct slap_listener { struct berval sl_url; struct berval sl_name; -#ifdef SLAP_X_LISTENER_MOD - mode_t sl_perms; -#endif /* SLAP_X_LISTENER_MOD */ + mode_t sl_perms; #ifdef HAVE_TLS int sl_is_tls; #endif