bi->bi_acl_group = bdb2_back_group;
#endif
+ bi->bi_connection_init = 0;
+ bi->bi_connection_destroy = 0;
+
ret = bdb2i_back_init_private( bi );
Debug( LDAP_DEBUG_TRACE, "bdb2_back_initialize: done (%d).\n", ret, 0, 0 );
bi->bi_acl_group = 0;
#endif
+ bi->bi_connection_init = 0;
+ bi->bi_connection_destroy = 0;
+
return 0;
}
bi->bi_acl_group = ldbm_back_group;
#endif
+ bi->bi_connection_init = 0;
+ bi->bi_connection_destroy = 0;
+
return 0;
}
bi->bi_acl_group = 0;
#endif
+ bi->bi_connection_init = 0;
+ bi->bi_connection_destroy = 0;
+
return 0;
}
bi->bi_acl_group = 0;
#endif
+ bi->bi_connection_init = 0;
+ bi->bi_connection_destroy = 0;
+
return 0;
}
bi->bi_acl_group = 0;
#endif
+ bi->bi_connection_init = 0;
+ bi->bi_connection_destroy = 0;
+
return 0;
}
/* tcl_init.c - tcl backend initialization
*
- * $Id: tcl_init.c,v 1.5 1999/02/20 07:53:48 hallvard Exp $
+ * $Id: tcl_init.c,v 1.6 1999/03/03 16:02:10 hallvard Exp $
*
* Copyright 1999, Ben Collins <bcollins@debian.org>, All rights reserved.
*
bi->bi_acl_group = 0;
#endif
+ bi->bi_connection_init = 0;
+ bi->bi_connection_destroy = 0;
+
return 0;
}
return 0;
}
+int
+backend_connection_init(
+ Connection *conn
+)
+{
+ int i;
+
+ for ( i = 0; i < nbackends; i++ ) {
+ if ( backends[i].be_connection_init ) {
+ (*backends[i].be_connection_init)( &backends[i], conn);
+ }
+ }
+
+ return 0;
+}
+
+int
+backend_connection_destroy(
+ Connection *conn
+)
+{
+ int i;
+
+ for ( i = 0; i < nbackends; i++ ) {
+ if ( backends[i].be_connection_destroy ) {
+ (*backends[i].be_connection_destroy)( &backends[i], conn);
+ }
+ }
+
+ return 0;
+}
+
#ifdef SLAPD_ACLGROUPS
int
backend_group(
ldap_pvt_thread_mutex_unlock( &c->c_mutex );
ldap_pvt_thread_mutex_unlock( &connections_mutex );
+ backend_connection_init(c);
+
return id;
}
assert( c->c_conn_state != SLAP_C_INVALID );
assert( c->c_ops == NULL );
+ backend_connection_destroy(c);
+
#ifdef LDAP_COMPAT30
c->c_version = 0;
#endif
extern int backend_unbind LDAP_P((Connection *conn, Operation *op));
+extern int backend_connection_init LDAP_P((Connection *conn));
+extern int backend_connection_destroy LDAP_P((Connection *conn));
+
extern int backend_group LDAP_P((Backend *be,
Entry *target,
char *gr_ndn, char *op_ndn,
#define be_release bd_info->bi_entry_release_rw
#define be_group bd_info->bi_acl_group
+#define be_connection_init bd_info->bi_connection_init
+#define be_connection_destroy bd_info->bi_connection_destroy
+
+
/* these should be renamed from be_ to bd_ */
char **be_suffix; /* the DN suffixes of data in this backend */
char **be_nsuffix; /* the normalized DN suffixes in this backend */
char *objectclassValue, char *groupattrName ));
#endif
+ int (*bi_connection_init) LDAP_P((BackendDB *bd,
+ struct slap_conn *c));
+ int (*bi_connection_destroy) LDAP_P((BackendDB *bd,
+ struct slap_conn *c));
+
+
unsigned int bi_nDB; /* number of databases of this type */
void *bi_private; /* anything the backend type needs */
};