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

> On Thu, 20 Oct 2005 13:30:14 +0400
> "Victor B. Wagner" <[EMAIL PROTECTED]> 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                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to