Needed for transactions.
buf[sizeof(buf) - 1] = 0;
}
- if (backend_group(be, e, buf, op->o_ndn,
+ if (backend_group(be, conn, op, e, buf, op->o_ndn,
b->a_group_oc, b->a_group_at) != 0)
{
continue;
{
replog( be, op, e->e_dn, e );
}
- be_entry_release_w( be, e );
+ be_entry_release_w( be, conn, op, e );
e = NULL;
}
Entry *target,
const char *e_ndn,
AttributeDescription *entry_at,
- struct berval ***vals
-)
+ struct berval ***vals )
{
struct ldbminfo *li = (struct ldbminfo *) be->be_private;
Entry *e;
Connection *conn, Operation *op, ber_int_t msgid ));
extern int ldbm_back_group LDAP_P(( BackendDB *bd,
+ Connection *conn, Operation *op,
Entry *target,
const char* gr_ndn,
const char* op_ndn,
int
ldbm_back_group(
Backend *be,
+ Connection *conn,
+ Operation *op,
Entry *target,
const char *gr_ndn,
const char *op_ndn,
}
int
-be_entry_release_rw( Backend *be, Entry *e, int rw )
+be_entry_release_rw(
+ BackendDB *be,
+ Connection *conn,
+ Operation *op,
+ Entry *e,
+ int rw )
{
if ( be->be_release ) {
/* free and release entry from backend */
- return be->be_release( be, e, rw );
+ return be->be_release( be, conn, op, e, rw );
} else {
/* free entry */
entry_free( e );
int
backend_group(
Backend *be,
+ Connection *conn,
+ Operation *op,
Entry *target,
const char *gr_ndn,
const char *op_ndn,
}
if( be->be_group ) {
- return be->be_group( be, target, gr_ndn, op_ndn,
+ return be->be_group( be, conn, op,
+ target, gr_ndn, op_ndn,
group_oc, group_at );
}
Attribute *backend_operational(
Backend *be,
+ Connection *conn,
+ Operation *op,
Entry *e )
{
Attribute *a = NULL;
LDAP_SLAPD_F (int) be_isroot_pw LDAP_P(( Backend *be,
Connection *conn, const char *ndn, struct berval *cred ));
LDAP_SLAPD_F (char *) be_root_dn LDAP_P(( Backend *be ));
-LDAP_SLAPD_F (int) be_entry_release_rw LDAP_P(( Backend *be, Entry *e, int rw ));
-#define be_entry_release_r( be, e ) be_entry_release_rw( be, e, 0 )
-#define be_entry_release_w( be, e ) be_entry_release_rw( be, e, 1 )
+LDAP_SLAPD_F (int) be_entry_release_rw LDAP_P((
+ BackendDB *be, Connection *c, Operation *o, Entry *e, int rw ));
+#define be_entry_release_r( be, c, o, e ) be_entry_release_rw( be, c, o, e, 0 )
+#define be_entry_release_w( be, c, o, e ) be_entry_release_rw( be, c, o, e, 1 )
LDAP_SLAPD_F (int) backend_unbind LDAP_P((Connection *conn, Operation *op));
LDAP_SLAPD_F( int ) backend_check_restrictions LDAP_P((
- Backend *be,
+ BackendDB *be,
Connection *conn,
Operation *op,
const char *extoid,
const char **text ));
LDAP_SLAPD_F( int ) backend_check_referrals LDAP_P((
- Backend *be,
+ BackendDB *be,
Connection *conn,
Operation *op,
const char *dn,
LDAP_SLAPD_F (int) backend_connection_init LDAP_P((Connection *conn));
LDAP_SLAPD_F (int) backend_connection_destroy LDAP_P((Connection *conn));
-LDAP_SLAPD_F (int) backend_group LDAP_P((Backend *be,
+LDAP_SLAPD_F (int) backend_group LDAP_P((BackendDB *be,
+ Connection *conn,
+ Operation *op,
Entry *target,
const char *gr_ndn,
const char *op_ndn,
AttributeDescription *group_at
));
-LDAP_SLAPD_F (int) backend_attribute LDAP_P((Backend *be,
+LDAP_SLAPD_F (int) backend_attribute LDAP_P((BackendDB *be,
Connection *conn,
Operation *op,
Entry *target,
struct berval ***vals
));
-LDAP_SLAPD_F (Attribute *) backend_operational( Backend *, Entry * );
+LDAP_SLAPD_F (Attribute *) backend_operational(
+ BackendDB *,
+ Connection *conn,
+ Operation *op,
+ Entry * );
/* eventually will loop through generated operational attributes */
/* only have subschemaSubentry implemented */
- aa = backend_operational( be, e );
+ aa = backend_operational( be, conn, op, e );
for (a = aa ; a != NULL; a = a->a_next ) {
AttributeDescription *desc = a->a_desc;
typedef int (*SLAP_EXTENDED_FN) LDAP_P((
BackendDB *be,
- struct slap_conn *conn,
+ struct slap_conn *conn,
struct slap_op *op,
const char *reqoid,
struct berval * reqdata,
SLAP_EXTENDED_FN bi_extended;
/* Auxilary Functions */
- int (*bi_entry_release_rw) LDAP_P((BackendDB *bd, Entry *e, int rw));
+ int (*bi_entry_release_rw) LDAP_P((BackendDB *bd,
+ struct slap_conn *c, struct slap_op *o,
+ Entry *e, int rw));
int (*bi_chk_referrals) LDAP_P((BackendDB *bd,
struct slap_conn *c, struct slap_op *o,
const char **text ));
int (*bi_acl_group) LDAP_P((Backend *bd,
+ struct slap_conn *c, struct slap_op *o,
Entry *e, const char *bdn, const char *edn,
ObjectClass *group_oc,
AttributeDescription *group_at ));