Fixed slapd global access controls initialization (ITS#4654)
Fixed slapd setting c_sasl_bindop only on SASL binds
Fixed slapd-perl deletes (ITS#2612)
+ Fixed slapd-perl backend initialization (ITS#4358)
+ Fixed slapd-perl finding interpreter inside a thread (ITS#4358)
OpenLDAP 2.3.27 Release
Fixed libldap dangling pointer issue (previous fix was broken) (ITS#4405)
PerlBackend *perl_back = (PerlBackend *) op->o_bd->be_private;
-#ifdef HAVE_WIN32_ASPERL
+#if defined(HAVE_WIN32_ASPERL) || defined(USE_ITHREADS)
PERL_SET_CONTEXT( PERL_INTERPRETER );
#endif
BackendInfo *bi
)
{
- bi->bi_open = perl_back_open;
+ char *embedding[] = { "", "-e", "0" };
+
+ bi->bi_open = NULL;
bi->bi_config = 0;
bi->bi_close = perl_back_close;
bi->bi_destroy = 0;
bi->bi_connection_init = 0;
bi->bi_connection_destroy = 0;
- return 0;
-}
-
-int
-perl_back_open(
- BackendInfo *bi
-)
-{
- char *embedding[] = { "", "-e", "0" };
-
+ /* injecting code from perl_back_open, because using fonction reference (bi->bi_open) is not functional */
Debug( LDAP_DEBUG_TRACE, "perl backend open\n", 0, 0, 0 );
if( PERL_INTERPRETER != NULL ) {
extern BI_init perl_back_initialize;
-extern BI_open perl_back_open;
extern BI_close perl_back_close;
extern BI_db_init perl_back_db_init;