mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-09 08:23:35 -05:00
Added proposed request parameters to Operation. #ifdef'd, not active.
Replaces "be, conn, op" triple with just "op" for most functions. Removes individual arguments from backend op functions. Please review/comment.
This commit is contained in:
parent
bbad1de8e1
commit
ed884fe0ee
1 changed files with 67 additions and 0 deletions
|
|
@ -1440,6 +1440,54 @@ typedef int (BI_db_open) LDAP_P((Backend *bd));
|
|||
typedef int (BI_db_close) LDAP_P((Backend *bd));
|
||||
typedef int (BI_db_destroy) LDAP_P((Backend *bd));
|
||||
|
||||
#ifdef SLAP_OP_BLOCKS
|
||||
typedef struct req_bind_s {
|
||||
int method;
|
||||
struct berval cred;
|
||||
struct berval edn;
|
||||
} req_bind_s;
|
||||
|
||||
typedef struct req_search_s {
|
||||
int scope;
|
||||
int deref;
|
||||
int slimit;
|
||||
int tlimit;
|
||||
int attrsonly;
|
||||
AttributeName *attrs;
|
||||
Filter *f;
|
||||
struct berval filterstr;
|
||||
} req_search_s;
|
||||
|
||||
typedef struct req_compare_s {
|
||||
AttributeAssertion *ava;
|
||||
} req_compare_s;
|
||||
|
||||
typedef struct req_modrdn_s {
|
||||
struct berval newrdn;
|
||||
struct berval nnewrdn;
|
||||
struct berval newSup;
|
||||
struct berval nnewSup;
|
||||
int deleteoldrdn;
|
||||
} req_modrdn_s;
|
||||
|
||||
typedef struct req_add_s {
|
||||
Entry *e;
|
||||
} req_add_s;
|
||||
|
||||
typedef struct req_abandon_s {
|
||||
ber_int_t msgid;
|
||||
} req_abandon_s;
|
||||
|
||||
typedef struct req_extended_s {
|
||||
struct berval reqoid;
|
||||
char *rspoid;
|
||||
struct berval *rspdata;
|
||||
LDAPControl **rspctrls;
|
||||
const char *text;
|
||||
BerVarray refs;
|
||||
} req_extended_s;
|
||||
#endif /* SLAP_OP_BLOCKS */
|
||||
|
||||
typedef int (BI_op_bind) LDAP_P(( BackendDB *bd,
|
||||
struct slap_conn *c, struct slap_op *o,
|
||||
struct berval *dn, struct berval *ndn, int method,
|
||||
|
|
@ -1731,12 +1779,31 @@ 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 */
|
||||
#ifdef SLAP_OP_BLOCKS
|
||||
BackendDB *o_bd; /* backend DB processing this op */
|
||||
#endif
|
||||
|
||||
ber_int_t o_msgid; /* msgid of the request */
|
||||
ber_int_t o_protocol; /* version of the LDAP protocol used by client */
|
||||
ber_tag_t o_tag; /* tag of the request */
|
||||
time_t o_time; /* time op was initiated */
|
||||
|
||||
#ifdef SLAP_OP_BLOCKS
|
||||
struct berval o_req_dn; /* DN of target of request */
|
||||
struct berval o_req_ndn;
|
||||
|
||||
union {
|
||||
req_bind_s bind;
|
||||
req_search_s srch;
|
||||
req_compare_s comp;
|
||||
req_modrdn_s mrdn;
|
||||
req_add_s add;
|
||||
req_abandon_s aban;
|
||||
req_abandon_s cncl;
|
||||
req_extended_s xtnd;
|
||||
} o_req;
|
||||
#endif
|
||||
|
||||
char * o_extendedop; /* extended operation OID */
|
||||
|
||||
ldap_pvt_thread_t o_tid; /* thread handling this op */
|
||||
|
|
|
|||
Loading…
Reference in a new issue