[levitte - Sun Apr 13 00:29:12 2003]:

> [EMAIL PROTECTED] - Thu Mar 27 22:04:39 2003]:
> 
> I just had a look at your testing script, and I believe it has a flaw
>    in this part:
> 
> 
> > #
> > # Search for shared libraries (libcrypto and libssl).
> > # Relies on shared libraries looking like "libcrypto.s*"
> > #
> > echo "Searching for and checking OpenSSL shared libraries
> > (libcrypto.s*, libssl.s*)."
> > libraries=`find $1 -follow -name 'libcrypto.s*' -print 2>/dev/null`
> >
> > for lib in $libraries
> > do
> >     echo "Trying libcrypto $lib" >>findssl.log
> >     ${CC} -o conftest conftest.c $lib 2>>findssl.log
> >     if [ -x ./conftest ]
> >     then
> >             ver=`./conftest 2>/dev/null`
> >             rm -f ./conftest
> >             echo "$ver $lib"
> >     fi
> > done
> > echo
> 
> When you execute ./conftest, you have no control over which
>    libcrypto.so it uses.  Unless you have an environment variable
>    LD_LIBRARY_PATH with '.' as one of the directories when you run
>    that script in the OpenSSL directory, it's very likely you will
>    pick up /usr/lib/libcrypto.so.  How about inserting the command
>    'ldd ./conftest' before the 'ver=...' line and see what exactly is
>    loaded?

Just made a test.  The 'ver=...' line needs to look like this:

        ver=`LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./conftest 2>/dev/null`

-- 
Richard Levitte
[EMAIL PROTECTED]
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to