From: Quanah Gibson-Mount Date: Wed, 20 Sep 2006 19:47:46 +0000 (+0000) Subject: ITS#4358 X-Git-Tag: OPENLDAP_REL_ENG_2_3_28~22 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=34f4c2cb97dd6c7851e30298c7e014e170f54665;p=openldap ITS#4358 --- diff --git a/CHANGES b/CHANGES index 7ae19ae3c1..d29493ab97 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,8 @@ OpenLDAP 2.3.28 Engineering 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) diff --git a/servers/slapd/back-perl/bind.c b/servers/slapd/back-perl/bind.c index 11d59261fb..72e418746e 100644 --- a/servers/slapd/back-perl/bind.c +++ b/servers/slapd/back-perl/bind.c @@ -32,7 +32,7 @@ perl_back_bind( 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 diff --git a/servers/slapd/back-perl/init.c b/servers/slapd/back-perl/init.c index 5a4cd7d050..526953a9ad 100644 --- a/servers/slapd/back-perl/init.c +++ b/servers/slapd/back-perl/init.c @@ -35,7 +35,9 @@ perl_back_initialize( 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; @@ -63,16 +65,7 @@ perl_back_initialize( 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 ) { diff --git a/servers/slapd/back-perl/proto-perl.h b/servers/slapd/back-perl/proto-perl.h index e16c3a81c6..a2d464ab7a 100644 --- a/servers/slapd/back-perl/proto-perl.h +++ b/servers/slapd/back-perl/proto-perl.h @@ -22,7 +22,6 @@ LDAP_BEGIN_DECL 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;