]> git.sur5r.net Git - openldap/commitdiff
fixed problem in which we didn't statically link in the dynamic
authorJohn Quillan <quillan@openldap.org>
Thu, 11 Nov 1999 06:14:41 +0000 (06:14 +0000)
committerJohn Quillan <quillan@openldap.org>
Thu, 11 Nov 1999 06:14:41 +0000 (06:14 +0000)
loader, there for not allowing any modules with shared libraries
to be loaded.

servers/slapd/back-perl/SampleLDAP.pm
servers/slapd/back-perl/init.c

index 4f78bfb8a391d7f342c09b6e6f6cdce1a7a92191..e8925fbc149ca8bce33d325c1c8f5e5a8208dae1 100644 (file)
@@ -1,3 +1,4 @@
+
 =head1 Introduction
 
 This is a sample Perl module for the OpenLDAP server slapd.
@@ -142,13 +143,16 @@ above.
 
 package SampleLDAP;
 
+use POSIX;
+
 sub new
 {
        my $class = shift;
 
        my $this = {};
        bless $this, $class;
-
+        print STDERR "Here in new\n";
+       print STDERR "Posix Var " . BUFSIZ . " and " . FILENAME_MAX . "\n";
        return $this;
 }
 
@@ -156,7 +160,7 @@ sub search
 {
        my $this = shift;
        my( $filterStr, $sizeLim, $timeLim, $attrOnly, @attrs ) = @_;
-
+        print STDERR "====$filterStr====\n";
        $filterStr =~ s/\(|\)//g;
        $filterStr =~ s/=/: /;
 
@@ -256,6 +260,7 @@ sub delete
 
        my ( $dn ) = @_;
        
+        print STDERR "XXXXXX $dn XXXXXXX\n";
        delete $this->{$dn};
 }
 
@@ -264,8 +269,10 @@ sub config
        my $this = shift;
 
        my ( @args ) = @_;
-                       
-       return 1;
+        local $, = " - ";
+        print STDERR @args;
+        print STDERR "\n";
+       return 0;
 }
 
 1;
index e215acd2e6640032f27be17807a95719a2c0ed42..c62391f468feb278934d7be2b957e9cf2d7001c9 100644 (file)
 #include "perl_back.h"
 
 
+LDAP_F( void )
+perl_back_xs_init LDAP_P((void));
+LDAP_F( void )
+boot_DynaLoader LDAP_P((CV* cv));
 
 PerlInterpreter *perl_interpreter = NULL;
 ldap_pvt_thread_mutex_t        perl_interpreter_mutex;
@@ -68,7 +72,7 @@ perl_back_initialize(
        
        perl_interpreter = perl_alloc();
        perl_construct(perl_interpreter);
-       perl_parse(perl_interpreter, NULL, 3, embedding, (char **)NULL);
+       perl_parse(perl_interpreter, perl_back_xs_init, 3, embedding, (char **)NULL);
        perl_run(perl_interpreter);
 
        bi->bi_open = perl_back_open;
@@ -122,3 +126,11 @@ perl_back_db_init(
        return 0;
 }
 
+
+static void
+perl_back_xs_init()
+{
+    char *file = __FILE__;
+    dXSUB_SYS;
+        newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
+}