On 12/14/2010 11:29 PM, Carsten Grzemba wrote:
I have the code copied unchanged from winsync-plugin.h where the
slapi_apib_register function is called in test_winsync_plugin_start.
test_winsync_plugin_init does:
slapi_pblock_set( pb, SLAPI_PLUGIN_VERSION, SLAPI_PLUGIN_VERSION_01 ) != 0 ||
slapi_pblock_set(pb, SLAPI_PLUGIN_START_FN, (void *) posix_winsync_plugin_start ) != 0
||
slapi_pblock_set(pb, SLAPI_PLUGIN_CLOSE_FN, (void *) posix_winsync_plugin_close ) != 0
||
slapi_pblock_set( pb, SLAPI_PLUGIN_DESCRIPTION, (void *)&posix_winsync_pdesc ) != 0
)
which registers the _start function
Move the registration of your API (the
slapi_apib_register() call) to
the test_winsync_plugin_init() function. That should cause the
callbacks to be registered prior to the Replication plug-in checking for
any regisered API.
Regards
Carsten
----- Ursprüngliche Nachricht -----
Von: Nathan Kinder<nkinder(a)redhat.com>
Datum: Dienstag, 14. Dezember 2010, 17:31
Betreff: Re: [389-devel] Problem using winsync API
An: "389 Directory server developer
discussion."<389-devel(a)lists.fedoraproject.org>
Cc: Carsten Grzemba<grzemba(a)contac-dt.de>
>
>
>
>
>
> On 12/13/2010 12:45 AM, Carsten Grzemba wrote:
>
> I found the reason: In winsync-plugin.h in the plugin config is defined a
dependenciy for multi-master plugin. This seems to be wrong, because a Winsync plugin must
already be registered when the multi-master plugin starts. I.e. the dependency should be
reversed. The multi-master Plugin depends on the Winsync plugin.
>
> I have removed
>
> nsslapd-plugin-depends-on-named: Multimaster Replication Plugin
>
> from the plugin configuration, and instead added the Multimaster Plugin config
>
> nsslapd-plugin-depends-on-named: test Winsync API
>
> Then, the Winsync plugin is loaded also if start / restart the directory server.
> Can you review this?
>
>
> Could you supply your plug-in code? You need to be calling
> slapi_apib_register() to register your API in your plug-in's init()
> function. I'm curious to see if you are doing this in the init()
> callback, or in the start() callback.
>
>
>
> -NGK
>
>
> > Regards
>
> ----- Ursprüngliche Nachricht -----
> Von: Rich Megginson<rmeggins(a)redhat.com>
> Datum: Samstag, 11. Dezember 2010, 0:59
> Betreff: Re: [389-devel] Problem using winsync API
> An: 389-devel(a)lists.fedoraproject.org
>
>
>
> >
>
>
>
>
>
>
> >
>
> On 12/08/2010 05:17 AM, Carsten Grzemba wrote:
>
>
>
> >
>
> >
> ----- Ursprüngliche Nachricht -----
> Von: Carsten Grzemba<grzemba(a)contac-dt.de>
> Datum: Mittwoch, 8. Dezember 2010, 11:16
> Betreff: [389-devel] Problem using winsync API
> An: "389 Directory server developer
discussion."<389-devel(a)lists.fedoraproject.org>
>
>
>
> I try to use the Winsync API. The _winsync_plugin_init and
> _winsync_plugin_start functions are called, but apparently not
> correctly registered.
> If the actual functions should be called, nothing happens.
> Debbuging shows the pointer thefunc in windows_private.c
> functions is NIL.
>
>
> it works only after the creation of an winsync replication agreement. After
restart the directoryserver only _winsync_plugin_init and _winsync_plugin_start are
called.
>
>
> So is there still a problem?
>
>
>
> > Does anyone know why this is?
> Thanks
> Carsten
>
>
>
> --
>
>
> 389-devel mailing list
> 389-devel(a)lists.fedoraproject.org
>
https://admin.fedoraproject.org/mailman/listinfo/389-devel
>
> >
> --
> 389-devel mailing list
> 389-devel(a)lists.fedoraproject.org
>
https://admin.fedoraproject.org/mailman/listinfo/389-devel
>
>
>
>
>
>
>
>
> --
>
>
> 389-devel mailing list
> 389-devel(a)lists.fedoraproject.org
>
https://admin.fedoraproject.org/mailman/listinfo/389-devel
>
> >
> --
> 389-devel mailing list
> 389-devel(a)lists.fedoraproject.org
>
https://admin.fedoraproject.org/mailman/listinfo/389-devel
>
>
>
>
>
>
>
>
>
> --
> 389-devel mailing list
> 389-devel(a)lists.fedoraproject.org
>
https://admin.fedoraproject.org/mailman/listinfo/389-devel