Commit 62d27939 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Address run-time linker problems: LD_PRELOAD issue on multi-ABI platforms

and SafeDllSearchMode in Windows.

Submitted by: Richard Levitte
parent 8c3c5701
Loading
Loading
Loading
Loading
+4 −25
Original line number Diff line number Diff line
@@ -402,20 +402,9 @@ dclean:

rehash: rehash.time
rehash.time: certs
	@(OPENSSL="`pwd`/apps/openssl$(EXE_EXT)"; OPENSSL_DEBUG_MEMORY=on; \
	@(OPENSSL="`pwd`/util/opensslwrap.sh"; \
	  OPENSSL_DEBUG_MEMORY=on; \
	  export OPENSSL OPENSSL_DEBUG_MEMORY; \
	  if [ -n "$(SHARED_LIBS)" ]; then \
	    LD_LIBRARY_PATH="`pwd`:$$LD_LIBRARY_PATH"; \
	    DYLD_LIBRARY_PATH="`pwd`:$$DYLD_LIBRARY_PATH"; \
	    SHLIB_PATH="`pwd`:$$SHLIB_PATH"; \
	    LIBPATH="`pwd`:$$LIBPATH"; \
	    if [ "$(PLATFORM)" = "Cygwin" ]; then \
	      PATH="`pwd`:$$PATH"; \
	    fi; \
	    LD_PRELOAD="`pwd`/libssl.so `pwd`/libcrypto.so"; \
	    export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
	    export LD_PRELOAD; \
	  fi; \
	  $(PERL) tools/c_rehash certs)
	touch rehash.time

@@ -423,18 +412,8 @@ test: tests

tests: rehash
	@(cd test && echo "testing..." && \
	$(MAKE) $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
	@if [ -n "$(SHARED_LIBS)" ]; then \
	  LD_LIBRARY_PATH="`pwd`:$$LD_LIBRARY_PATH"; \
	  DYLD_LIBRARY_PATH="`pwd`:$$DYLD_LIBRARY_PATH"; \
	  SHLIB_PATH="`pwd`:$$SHLIB_PATH"; \
	  LIBPATH="`pwd`:$$LIBPATH"; \
	  if [ "$(PLATFORM)" = "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
	  LD_PRELOAD="`pwd`/libssl.so `pwd`/libcrypto.so"; \
	  export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
	  export LD_PRELOAD; \
	fi; \
	apps/openssl version -a
	$(MAKE) -e $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
	util/opensslwrap.sh version -a

report:
	@$(PERL) util/selftest.pl
+13 −5
Original line number Diff line number Diff line
@@ -36,14 +36,22 @@
# default openssl.cnf file has setup as per the following
# demoCA ... where everything is stored

my $openssl;
if(defined $ENV{OPENSSL}) {
	$openssl = $ENV{OPENSSL};
} else {
	$openssl = "openssl";
	$ENV{OPENSSL} = $openssl;
}

$SSLEAY_CONFIG=$ENV{"SSLEAY_CONFIG"};
$DAYS="-days 365";	# 1 year
$CADAYS="-days 1095";	# 3 years
$REQ="openssl req $SSLEAY_CONFIG";
$CA="openssl ca $SSLEAY_CONFIG";
$VERIFY="openssl verify";
$X509="openssl x509";
$PKCS12="openssl pkcs12";
$REQ="$openssl req $SSLEAY_CONFIG";
$CA="$openssl ca $SSLEAY_CONFIG";
$VERIFY="$openssl verify";
$X509="$openssl x509";
$PKCS12="$openssl pkcs12";

$CATOP="./demoCA";
$CAKEY="cakey.pem";
+6 −4
Original line number Diff line number Diff line
@@ -30,12 +30,14 @@
# default openssl.cnf file has setup as per the following
# demoCA ... where everything is stored

if [ -z "$OPENSSL" ]; then OPENSSL=openssl; fi

DAYS="-days 365"	# 1 year
CADAYS="-days 1095"	# 3 years
REQ="openssl req $SSLEAY_CONFIG"
CA="openssl ca $SSLEAY_CONFIG"
VERIFY="openssl verify"
X509="openssl x509"
REQ="$OPENSSL req $SSLEAY_CONFIG"
CA="$OPENSSL ca $SSLEAY_CONFIG"
VERIFY="$OPENSSL verify"
X509="$OPENSSL x509"

CATOP=./demoCA
CAKEY=./cakey.pem
+2 −13
Original line number Diff line number Diff line
@@ -171,20 +171,9 @@ $(EXE): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
		LIBRPATH=$(INSTALLTOP)/lib \
		link_app.$${shlib_target}
	@for i in `ls ../*.dll 2>/dev/null`; do cp -p $$i .; done; exit 0
	-(cd ..; \
	  OPENSSL="`pwd`/apps/$(EXE)"; export OPENSSL; \
	  if [ -n "$(SHARED_LIBS)" ]; then \
	    LD_LIBRARY_PATH="`pwd`:$$LD_LIBRARY_PATH"; \
	    DYLD_LIBRARY_PATH="`pwd`:$$DYLD_LIBRARY_PATH"; \
	    SHLIB_PATH="`pwd`:$$SHLIB_PATH"; \
	    LIBPATH="`pwd`:$$LIBPATH"; \
	    if [ "$(PLATFORM)" = "Cygwin" ]; then \
	      PATH="`pwd`:$$PATH"; \
	    fi; \
	    LD_PRELOAD="`pwd`/libssl.so `pwd`/libcrypto.so"; \
	    export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
	    export LD_PRELOAD; \
	  fi; \
	  OPENSSL="`pwd`/util/opensslwrap.sh"; export OPENSSL; \
	  $(PERL) tools/c_rehash certs)

progs.h: progs.pl
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ rem set ssleay=..\out\ssleay
set ssleay=%1

set reqcmd=%ssleay% req
set x509cmd=%ssleay% x509
set x509cmd=%ssleay% x509 -sha1
set verifycmd=%ssleay% verify

set CAkey=keyCA.ss
Loading