problems with dynamic engine on windows

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

problems with dynamic engine on windows

Steffen Pankratz
Hi

I'm trying to get my dynamic engine to work on windows (openssl 0.9.8a, ms vc++ 7)
it runs fine in linux

----schnip------

#ifndef OPENSSL_NO_DYNAMIC_ENGINE
static int bind_helper(ENGINE *e, const char *id)
{
if(id && (strcmp(id, engine_desecb_id) != 0))
return 0;
if(!bind_desecb(e))
return 0;
return 1;
}      
IMPLEMENT_DYNAMIC_CHECK_FN()
IMPLEMENT_DYNAMIC_BIND_FN(bind_helper)
#else
static ENGINE *engine_desecb(void)
{
ENGINE *ret = ENGINE_new();
if(!ret)
return NULL;
if(!bind_desecb(ret))
{
ENGINE_free(ret);
return NULL;
}
return ret;
}

void ENGINE_load_desecb(void)
{
/* Copied from eng_[openssl|dyn].c */
ENGINE *toadd = engine_desecb();
if(!toadd) return;
ENGINE_add(toadd);
ENGINE_free(toadd);
//ERR_clear_error();
}
#endif /* OPENSSL_NO_DYNAMIC_ENGINE */

----schnap------

gcc uses the if block (by default
but on windows it's always the else block

why?

so i tricked and did a #undef OPENSSL_NO_DYNAMIC_ENGINE
but i can't load my dll in openssl at all

C:\Dokumente und Einstellungen\kratz00>openssl engine -vvvv dynamic -pre "SO_PATH:C:\Dokumente und Einstellungen\kratz00\Eigene Dateien\Visual Studio Projects\dlltest2\Debug\dlltest2.dll" -pre LOAD
(dynamic) Dynamic engine loading support
[Success]: SO_PATH:C:\Dokumente und Einstellungen\kratz00\Eigene Dateien\VisualStudio Projects\dlltest2\Debug\dlltest2.dll
[Failure]: LOAD
1720:error:2507606A:DSO support routines:WIN32_BIND_FUNC:could not bind to the requested symbol name:.\crypto\dso\dso_win32.c:288:symname(bind_engine)
1720:error:2506C06A:DSO support routines:DSO_bind_func:could not bind to the requested symbol name:.\crypto\dso\dso_lib.c:294:
1720:error:260B6068:engine routines:DYNAMIC_LOAD:DSO failure:.\crypto\engine\eng_dyn.c:463:

i also used  __declspec(dllexport) do export some symbols of my dynamic engine functions but still no luck

is dynamic engine support not working on windows or do i have to enable it?

thank you
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Victor B. Wagner
On 2005.10.19 at 19:26:36 +0200, Steffen Pankratz wrote:

> Hi
>
> I'm trying to get my dynamic engine to work on windows (openssl 0.9.8a, ms vc++ 7)
> it runs fine in linux

Have you configured openssl with right way when building?
Check openssl include files you are using when compiling for definition
of OPENSSL_NO_DYNAMIC_ENGINE macro. It should be in opensslconf.h
If it is there, you have to run

perl Configure VC-WIN32 shared

and rebuild openssl as described in INSTALL.W32

> ----schnip------
>
> #ifndef OPENSSL_NO_DYNAMIC_ENGINE
> static int bind_helper(ENGINE *e, const char *id)
> {
> if(id && (strcmp(id, engine_desecb_id) != 0))
> return 0;
> if(!bind_desecb(e))
> return 0;
> return 1;
> }      

> IMPLEMENT_DYNAMIC_CHECK_FN()
> IMPLEMENT_DYNAMIC_BIND_FN(bind_helper)

Note that on Windows one have to add export declaration before both of
these macros. Otherwise functions, implemented by these macros wouldn't
be exported from DLL and openssl would be unable to load engine
dynamically.

I have following code in my engine which loads successfully under Win32:

#ifdef _WIN32
extern __declspec( dllexport )
#endif
   
IMPLEMENT_DYNAMIC_BIND_FN(bind_gost);
#ifdef _WIN32
extern __declspec( dllexport )
#endif
IMPLEMENT_DYNAMIC_CHECK_FN();

Symbol _WIN32 is defined automagically by all Win32 compilers I've
tested (gcc/mingw32, gcc cross-compiler on Linix, various versions of
Borland, starting with 4.x, MSVC )


>
> so i tricked and did a #undef OPENSSL_NO_DYNAMIC_ENGINE
> but i can't load my dll in openssl at all
>
> C:\Dokumente und Einstellungen\kratz00>openssl engine -vvvv dynamic -pre "SO_PATH:C:\Dokumente und Einstellungen\kratz00\Eigene Dateien\Visual Studio Projects\dlltest2\Debug\dlltest2.dll" -pre LOAD
> (dynamic) Dynamic engine loading support
> [Success]: SO_PATH:C:\Dokumente und Einstellungen\kratz00\Eigene Dateien\VisualStudio Projects\dlltest2\Debug\dlltest2.dll
> [Failure]: LOAD
> 1720:error:2507606A:DSO support routines:WIN32_BIND_FUNC:could not bind to the requested symbol name:.\crypto\dso\dso_win32.c:288:symname(bind_engine)

This error looks much like DLL symbol export problem described above

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Steffen Pankratz
On Thu, 20 Oct 2005 13:30:14 +0400
"Victor B. Wagner" <[hidden email]> wrote:

> On 2005.10.19 at 19:26:36 +0200, Steffen Pankratz wrote:
>
> > Hi
> >
> > I'm trying to get my dynamic engine to work on windows (openssl 0.9.8a, ms vc++ 7)
> > it runs fine in linux
>
> Have you configured openssl with right way when building?
> Check openssl include files you are using when compiling for definition
> of OPENSSL_NO_DYNAMIC_ENGINE macro. It should be in opensslconf.h
> If it is there, you have to run
>
> perl Configure VC-WIN32 shared
>
> and rebuild openssl as described in INSTALL.W32

You are right it's defined in opensslconf.h but also even if i add 'shared' to the Configure command.
This is strange. Btw on Linux it's not even mentioned in opensslconf.h.

>
> > ----schnip------
> >
> > #ifndef OPENSSL_NO_DYNAMIC_ENGINE
> > static int bind_helper(ENGINE *e, const char *id)
> > {
> > if(id && (strcmp(id, engine_desecb_id) != 0))
> > return 0;
> > if(!bind_desecb(e))
> > return 0;
> > return 1;
> > }      
>
> > IMPLEMENT_DYNAMIC_CHECK_FN()
> > IMPLEMENT_DYNAMIC_BIND_FN(bind_helper)
>
> Note that on Windows one have to add export declaration before both of
> these macros. Otherwise functions, implemented by these macros wouldn't
> be exported from DLL and openssl would be unable to load engine
> dynamically.
>
> I have following code in my engine which loads successfully under Win32:
>
> #ifdef _WIN32
> extern __declspec( dllexport )
> #endif
>    
> IMPLEMENT_DYNAMIC_BIND_FN(bind_gost);
> #ifdef _WIN32
> extern __declspec( dllexport )
> #endif
> IMPLEMENT_DYNAMIC_CHECK_FN();
>
> Symbol _WIN32 is defined automagically by all Win32 compilers I've
> tested (gcc/mingw32, gcc cross-compiler on Linix, various versions of
> Borland, starting with 4.x, MSVC )

I thought as much but i had it in the wrong place.
So i put it before the 2macros as you and it's working great now.

> > so i tricked and did a #undef OPENSSL_NO_DYNAMIC_ENGINE
> > but i can't load my dll in openssl at all

Without this trick it's still doing the stuff in the else part.
I have to figure out why OPENSSL_NO_DYNAMIC_ENGINE is defined in opensslconf.h.

Thank you very much for your help, Victor.

--
Hypnos powered by LFS SVN-20041206 (Linux 2.6.13.4)
        visit http://www.kratz00.org/
                        http://liflg.org/

Best regards, Steffen Pankratz.
 
PGP PUBLIC KEY: http://www.kratz00.org/kratz00.at.gmx.de.asc
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Steffen Pankratz
On Fri, 21 Oct 2005 15:29:42 +0200
Steffen Pankratz <[hidden email]> wrote:

> On Thu, 20 Oct 2005 13:30:14 +0400
> "Victor B. Wagner" <[hidden email]> wrote:
>
> > On 2005.10.19 at 19:26:36 +0200, Steffen Pankratz wrote:
> >
> > > Hi
> > >
> > > I'm trying to get my dynamic engine to work on windows (openssl 0.9.8a, ms vc++ 7)
> > > it runs fine in linux
> >
> > Have you configured openssl with right way when building?
> > Check openssl include files you are using when compiling for definition
> > of OPENSSL_NO_DYNAMIC_ENGINE macro. It should be in opensslconf.h
> > If it is there, you have to run
> >
> > perl Configure VC-WIN32 shared
> >
> > and rebuild openssl as described in INSTALL.W32
>
> You are right it's defined in opensslconf.h but also even if i add 'shared' to the Configure command.
> This is strange. Btw on Linux it's not even mentioned in opensslconf.h.
>
> >
> > > ----schnip------
> > >
> > > #ifndef OPENSSL_NO_DYNAMIC_ENGINE
> > > static int bind_helper(ENGINE *e, const char *id)
> > > {
> > > if(id && (strcmp(id, engine_desecb_id) != 0))
> > > return 0;
> > > if(!bind_desecb(e))
> > > return 0;
> > > return 1;
> > > }      
> >
> > > IMPLEMENT_DYNAMIC_CHECK_FN()
> > > IMPLEMENT_DYNAMIC_BIND_FN(bind_helper)
> >
> > Note that on Windows one have to add export declaration before both of
> > these macros. Otherwise functions, implemented by these macros wouldn't
> > be exported from DLL and openssl would be unable to load engine
> > dynamically.
> >
> > I have following code in my engine which loads successfully under Win32:
> >
> > #ifdef _WIN32
> > extern __declspec( dllexport )
> > #endif
> >    
> > IMPLEMENT_DYNAMIC_BIND_FN(bind_gost);
> > #ifdef _WIN32
> > extern __declspec( dllexport )
> > #endif
> > IMPLEMENT_DYNAMIC_CHECK_FN();
> >
> > Symbol _WIN32 is defined automagically by all Win32 compilers I've
> > tested (gcc/mingw32, gcc cross-compiler on Linix, various versions of
> > Borland, starting with 4.x, MSVC )
>
> I thought as much but i had it in the wrong place.
> So i put it before the 2macros as you and it's working great now.
>
> > > so i tricked and did a #undef OPENSSL_NO_DYNAMIC_ENGINE
> > > but i can't load my dll in openssl at all
>
> Without this trick it's still doing the stuff in the else part.
> I have to figure out why OPENSSL_NO_DYNAMIC_ENGINE is defined in opensslconf.h.
>
> Thank you very much for your help, Victor.
>
Engine loads fine but i can't use it. OpenSSL keeps crashing if i try to use it.
I think it cause of OPENSSL_NO_DYNAMIC_ENGINE
I really have to figure out why it's defined

And a other question is:
Where to place the dll? On Linux it's always $PREFIX/lib/engines/lib${CRYPTO_PARALLEL_LIB_NAME}.so
so i named the dll des-ecb.dll but where should it be placed in?

--
Hypnos powered by LFS SVN-20041206 (Linux 2.6.13.4)
        visit http://www.kratz00.org/
                        http://liflg.org/

Best regards, Steffen Pankratz.
 
PGP PUBLIC KEY: http://www.kratz00.org/kratz00.at.gmx.de.asc
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Steffen Pankratz
On Fri, 21 Oct 2005 17:44:52 +0200
Steffen Pankratz <[hidden email]> wrote:

> On Fri, 21 Oct 2005 15:29:42 +0200
> Steffen Pankratz <[hidden email]> wrote:
>
> > On Thu, 20 Oct 2005 13:30:14 +0400
> > "Victor B. Wagner" <[hidden email]> wrote:
> >
> > > On 2005.10.19 at 19:26:36 +0200, Steffen Pankratz wrote:
> > >
> > > > Hi
> > > >
> > > > I'm trying to get my dynamic engine to work on windows (openssl 0.9.8a, ms vc++ 7)
> > > > it runs fine in linux
> > >
> > > Have you configured openssl with right way when building?
> > > Check openssl include files you are using when compiling for definition
> > > of OPENSSL_NO_DYNAMIC_ENGINE macro. It should be in opensslconf.h
> > > If it is there, you have to run
> > >
> > > perl Configure VC-WIN32 shared
> > >
> > > and rebuild openssl as described in INSTALL.W32
> >
> > You are right it's defined in opensslconf.h but also even if i add 'shared' to the Configure command.
> > This is strange. Btw on Linux it's not even mentioned in opensslconf.h.
> >
> > >
> > > > ----schnip------
> > > >
> > > > #ifndef OPENSSL_NO_DYNAMIC_ENGINE
> > > > static int bind_helper(ENGINE *e, const char *id)
> > > > {
> > > > if(id && (strcmp(id, engine_desecb_id) != 0))
> > > > return 0;
> > > > if(!bind_desecb(e))
> > > > return 0;
> > > > return 1;
> > > > }      
> > >
> > > > IMPLEMENT_DYNAMIC_CHECK_FN()
> > > > IMPLEMENT_DYNAMIC_BIND_FN(bind_helper)
> > >
> > > Note that on Windows one have to add export declaration before both of
> > > these macros. Otherwise functions, implemented by these macros wouldn't
> > > be exported from DLL and openssl would be unable to load engine
> > > dynamically.
> > >
> > > I have following code in my engine which loads successfully under Win32:
> > >
> > > #ifdef _WIN32
> > > extern __declspec( dllexport )
> > > #endif
> > >    
> > > IMPLEMENT_DYNAMIC_BIND_FN(bind_gost);
> > > #ifdef _WIN32
> > > extern __declspec( dllexport )
> > > #endif
> > > IMPLEMENT_DYNAMIC_CHECK_FN();
> > >
> > > Symbol _WIN32 is defined automagically by all Win32 compilers I've
> > > tested (gcc/mingw32, gcc cross-compiler on Linix, various versions of
> > > Borland, starting with 4.x, MSVC )
> >
> > I thought as much but i had it in the wrong place.
> > So i put it before the 2macros as you and it's working great now.
> >
> > > > so i tricked and did a #undef OPENSSL_NO_DYNAMIC_ENGINE
> > > > but i can't load my dll in openssl at all
> >
> > Without this trick it's still doing the stuff in the else part.
> > I have to figure out why OPENSSL_NO_DYNAMIC_ENGINE is defined in opensslconf.h.
> >
> > Thank you very much for your help, Victor.
> >
> Engine loads fine but i can't use it. OpenSSL keeps crashing if i try to use it.
> I think it cause of OPENSSL_NO_DYNAMIC_ENGINE
> I really have to figure out why it's defined

Found it
That is what Configure showed me

Configured for VC-WIN32.

You gave the option 'shared'.  Normally, that would give you shared libraries.
Unfortunately, the OpenSSL configuration doesn't include shared library support
for this platform yet, so it will pretend you gave the option 'no-shared'.  If
you can inform the developpers (openssl-dev\@openssl.org) how to support shared
libraries on this platform, they will at least look at it and try their best
(but please first make sure you have tried with a current version of OpenSSL).

and if you have a look at line 1126 in Configure you see:

if ($no_shared)
        {
        $openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n";
        }
else
        {
        $openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n";
        }

now i'm totally confused no shared libs for win32?!
is it a bug?

> And a other question is:
> Where to place the dll? On Linux it's always $PREFIX/lib/engines/lib${CRYPTO_PARALLEL_LIB_NAME}.so
> so i named the dll des-ecb.dll but where should it be placed in?



--
Hypnos powered by LFS SVN-20041206 (Linux 2.6.13.4)
        visit http://www.kratz00.org/
                        http://liflg.org/

Best regards, Steffen Pankratz.
 
PGP PUBLIC KEY: http://www.kratz00.org/kratz00.at.gmx.de.asc
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Victor B. Wagner
On 2005.10.21 at 18:45:13 +0200, Steffen Pankratz wrote:
> now i'm totally confused no shared libs for win32?!
> is it a bug?

Not for win32. Just for MSVC build. Use mingw32 and you'll get shared
build with working dynamic engines. And nothing would prevent you from
linking these dlls into application written in MSVC.

Just use mingw32 for building openssl dlls.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Steffen Pankratz
On Mon, 24 Oct 2005 17:12:15 +0400
"Victor B. Wagner" <[hidden email]> wrote:

> On 2005.10.21 at 18:45:13 +0200, Steffen Pankratz wrote:
> > now i'm totally confused no shared libs for win32?!
> > is it a bug?
>
> Not for win32. Just for MSVC build. Use mingw32 and you'll get shared
> build with working dynamic engines. And nothing would prevent you from
> linking these dlls into application written in MSVC.
>
> Just use mingw32 for building openssl dlls.

why shouldn't it be possible to use MSVC to compile openssl (shared and with dynamic engine support)?
are there any serious reasons?

--
Hypnos powered by LFS SVN-20041206 (Linux 2.6.13.4)
        visit http://www.kratz00.org/
                        http://liflg.org/

Best regards, Steffen Pankratz.
 
PGP PUBLIC KEY: http://www.kratz00.org/kratz00.at.gmx.de.asc
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Dr. Stephen Henson
On Wed, Oct 26, 2005, Steffen Pankratz wrote:

> On Mon, 24 Oct 2005 17:12:15 +0400
> "Victor B. Wagner" <[hidden email]> wrote:
>
> > On 2005.10.21 at 18:45:13 +0200, Steffen Pankratz wrote:
> > > now i'm totally confused no shared libs for win32?!
> > > is it a bug?
> >
> > Not for win32. Just for MSVC build. Use mingw32 and you'll get shared
> > build with working dynamic engines. And nothing would prevent you from
> > linking these dlls into application written in MSVC.
> >
> > Just use mingw32 for building openssl dlls.
>
> why shouldn't it be possible to use MSVC to compile openssl (shared and with dynamic engine support)?
> are there any serious reasons?
>

There is a separate build system for MSVC.

It generates its own Makefile and various other files from the existing
Makefiles. It doesn't attempt to completely parse the files or the options use
it just does enough to make the VC build work.

What this means is that most simple changes to a Makefile (adding new source
files) can be handled automatically. More complex changes (adding new
directories or sub libraries) requires manual changes to the build system.

In this case a whole new mechanism will need to be added to handle the
building of shared library ENGINEs automatically. The main reason it isn't
there is that no one has got round to it yet.

Steve.
--
Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
OpenSSL project core developer and freelance consultant.
Funding needed! Details on homepage.
Homepage: http://www.drh-consultancy.demon.co.uk
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Victor B. Wagner
In reply to this post by Steffen Pankratz
On 2005.10.26 at 13:16:02 +0200, Steffen Pankratz wrote:

> > Just use mingw32 for building openssl dlls.
>
> why shouldn't it be possible to use MSVC to compile openssl (shared and with dynamic engine support)?
> are there any serious reasons?

I think that it is because nobody is interested in this build enough to
make it work and send patches to the BTS.

May be interesting option is to use standard build system with GNU make
for MSVC builds. Syntax of MSVC command line compiler options is close
enough to standard Unix cc to make things simple.

Only obstacle we cannot get around adopting this system for our project
is that Microsof library management tool LIB.EXE has completely
different syntax from unix ar.

It was easier for us to use ar from cygwin or mingw32 for msvc build
than to manage rules in the Makefile to build static libraries with both
ar and LIB.EXE.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Steffen Pankratz
In reply to this post by Dr. Stephen Henson
On Wed, 26 Oct 2005 13:35:52 +0200
"Dr. Stephen Henson" <[hidden email]> wrote:

> On Wed, Oct 26, 2005, Steffen Pankratz wrote:
>
> > On Mon, 24 Oct 2005 17:12:15 +0400
> > "Victor B. Wagner" <[hidden email]> wrote:
> >
> > > On 2005.10.21 at 18:45:13 +0200, Steffen Pankratz wrote:
> > > > now i'm totally confused no shared libs for win32?!
> > > > is it a bug?
> > >
> > > Not for win32. Just for MSVC build. Use mingw32 and you'll get shared
> > > build with working dynamic engines. And nothing would prevent you from
> > > linking these dlls into application written in MSVC.
> > >
> > > Just use mingw32 for building openssl dlls.
> >
> > why shouldn't it be possible to use MSVC to compile openssl (shared and with dynamic engine support)?
> > are there any serious reasons?
> >
>
> There is a separate build system for MSVC.
>
> It generates its own Makefile and various other files from the existing
> Makefiles. It doesn't attempt to completely parse the files or the options use
> it just does enough to make the VC build work.
>
> What this means is that most simple changes to a Makefile (adding new source
> files) can be handled automatically. More complex changes (adding new
> directories or sub libraries) requires manual changes to the build system.
>
> In this case a whole new mechanism will need to be added to handle the
> building of shared library ENGINEs automatically. The main reason it isn't
> there is that no one has got round to it yet.
>
> Steve.
> --

Thank you for your answer.
So I'm on my own :)

I don't need to build the engines bundled with openssl as shared library.
I 'just' need support for loading dynamic engines to get my own engine working

I don't if you read all the thread
right know i have to trick to get my engine compiled properly but i'm not sure about it's working with the openssl program
because if I can't use 'shared', 'no-shared' is used and OPENSSL_NO_DYNAMIC_ENGINE is defined then.  
Also why openssl prints '(dynamic) Dynamic engine loading support' (openssl.exe engine) when there is no support for it.

I hope you understand what I mean.

I'm trying to get Openssl build with MSVC and support for dynamic engines.

--
Hypnos powered by LFS SVN-20041206 (Linux 2.6.13.4)
        visit http://www.kratz00.org/
                        http://liflg.org/

Best regards, Steffen Pankratz.
 
PGP PUBLIC KEY: http://www.kratz00.org/kratz00.at.gmx.de.asc
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Dr. Stephen Henson
On Wed, Oct 26, 2005, Steffen Pankratz wrote:

>
>
> I don't if you read all the thread
> right know i have to trick to get my engine compiled properly but i'm not sure about it's working with the openssl program
> because if I can't use 'shared', 'no-shared' is used and OPENSSL_NO_DYNAMIC_ENGINE is defined then.  
> Also why openssl prints '(dynamic) Dynamic engine loading support' (openssl.exe engine) when there is no support for it.
>
> I hope you understand what I mean.
>
> I'm trying to get Openssl build with MSVC and support for dynamic engines.
>

I see. You shouldn't need any special compilation options to support dynamic
engines under Win32 and VC++.

I've certainly managed to build and use dynamic ENGINEs with that setup in the
past but I haven't specifically tried 0.9.8.

I'll check to see if anything has changed/broken.

Steve.
--
Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
OpenSSL project core developer and freelance consultant.
Funding needed! Details on homepage.
Homepage: http://www.drh-consultancy.demon.co.uk
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Dr. Stephen Henson
On Wed, Oct 26, 2005, Dr. Stephen Henson wrote:

>
> I'll check to see if anything has changed/broken.
>

Urgle, the DSO code under Win32 in 0.9.8 seems to be broken. I'm
investigating.

Steve.
--
Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
OpenSSL project core developer and freelance consultant.
Funding needed! Details on homepage.
Homepage: http://www.drh-consultancy.demon.co.uk
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Steffen Pankratz
On Wed, 26 Oct 2005 21:07:46 +0200
"Dr. Stephen Henson" <[hidden email]> wrote:

> On Wed, Oct 26, 2005, Dr. Stephen Henson wrote:
>
> >
> > I'll check to see if anything has changed/broken.
> >
>
> Urgle, the DSO code under Win32 in 0.9.8 seems to be broken. I'm
> investigating.
>
> Steve.
> --

Any updates yet?
Maybe it's fixed in cvs?

Thank you.

--
Hypnos powered by LFS SVN-20041206 (Linux 2.6.14)
        visit http://www.kratz00.org/
                        http://liflg.org/

Best regards, Steffen Pankratz.
 
PGP PUBLIC KEY: http://www.kratz00.org/kratz00.at.gmx.de.asc
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: problems with dynamic engine on windows

Dr. Stephen Henson
On Mon, Oct 31, 2005, Steffen Pankratz wrote:

> On Wed, 26 Oct 2005 21:07:46 +0200
> "Dr. Stephen Henson" <[hidden email]> wrote:
>
> > On Wed, Oct 26, 2005, Dr. Stephen Henson wrote:
> >
> > >
> > > I'll check to see if anything has changed/broken.
> > >
> >
> > Urgle, the DSO code under Win32 in 0.9.8 seems to be broken. I'm
> > investigating.
> >
> > Steve.
>
> Any updates yet?
> Maybe it's fixed in cvs?
>

Not fixed yet. The autoconfig mechanism for loading a dynamic engine form
openssl.cnf (see docs) should work provided you export the appropriate symbols
from the DLL manually.

The automatic dynamic support when an unknown engine is looked up doesn't work
yet. Richard is looking into that.

I'm looking into making the Win32 build system make separate engine DLLs and
export symbols properly so it behaves in the same way as other builds.

Steve.
--
Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
OpenSSL project core developer and freelance consultant.
Funding needed! Details on homepage.
Homepage: http://www.drh-consultancy.demon.co.uk
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]