Loading CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,10 @@ Changes between 0.9.8a and 0.9.8b [XX xxx XXXX] *) Add support for building of engines under engine/ as shared libraries under VC++ build system. [Steve Henson] *) Corrected the numerous bugs in the Win32 path splitter in DSO. Hopefully, we will not see any false combination of paths any more. [Richard Levitte] Loading Configure +11 −6 Original line number Diff line number Diff line Loading @@ -866,6 +866,8 @@ foreach (sort (keys %disabled)) { $no_shared = 1; } elsif (/^zlib$/) { $zlib = 0; } elsif (/^static-engine$/) { } elsif (/^zlib-dynamic$/) { } elsif (/^symlinks$/) Loading Loading @@ -1124,6 +1126,8 @@ if (!$no_shared) } } if (!$IsMK1MF) { if ($no_shared) { $openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n"; Loading @@ -1132,6 +1136,7 @@ else { $openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n"; } } $cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/); # Compiler fix-ups Loading crypto/engine/engine.h +2 −1 Original line number Diff line number Diff line Loading @@ -637,7 +637,7 @@ typedef struct st_dynamic_fns { * can be fully instantiated with IMPLEMENT_DYNAMIC_CHECK_FN(). */ typedef unsigned long (*dynamic_v_check_fn)(unsigned long ossl_version); #define IMPLEMENT_DYNAMIC_CHECK_FN() \ unsigned long v_check(unsigned long v) { \ OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ if(v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ return 0; } Loading @@ -659,6 +659,7 @@ typedef unsigned long (*dynamic_v_check_fn)(unsigned long ossl_version); typedef int (*dynamic_bind_engine)(ENGINE *e, const char *id, const dynamic_fns *fns); #define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ OPENSSL_EXPORT \ int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ if(ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ if(!CRYPTO_set_mem_functions(fns->mem_fns.malloc_cb, \ Loading util/copy.pl 0 → 100644 +58 −0 Original line number Diff line number Diff line #!/usr/local/bin/perl use Fcntl; # copy.pl # Perl script 'copy' comment. On Windows the built in "copy" command also # copies timestamps: this messes up Makefile dependencies. my $arg; foreach $arg (@ARGV) { foreach (glob $arg) { push @filelist, $_; } } $fnum = @filelist; if ($fnum <= 1) { die "Need at least two filenames"; } $dest = pop @filelist; if ($fnum > 2 && ! -d $dest) { die "Destination must be a directory"; } foreach (@filelist) { if (-d $dest) { $dfile = $_; $dfile =~ s|^.*[/\\]([^/\\]*)$|$1|; $dfile = "$dest/$dfile"; } else { $dfile = $dest; } sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_"; sysopen(OUT, $dfile, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY) || die "Can't Open $dfile"; while (sysread IN, $buf, 10240) { syswrite(OUT, $buf, length($buf)); } close(IN); close(OUT); print "Copying: $_ to $dfile\n"; } util/mk1mf.pl +41 −3 Original line number Diff line number Diff line Loading @@ -10,6 +10,10 @@ $OPTIONS=""; $ssl_version=""; $banner="\t\@echo Building OpenSSL"; my $no_static_engine = 0; my $engines = ""; open(IN,"<Makefile") || die "unable to open Makefile!\n"; while(<IN>) { $ssl_version=$1 if (/^VERSION=(.*)$/); Loading Loading @@ -95,6 +99,8 @@ foreach (grep(!/^$/, split(/ /, $OPTIONS))) print STDERR "unknown option - $_\n" if !&read_options; } $no_static_engine = 0 if (!$shlib); $no_mdc2=1 if ($no_des); $no_ssl3=1 if ($no_md5 || $no_sha); Loading Loading @@ -214,6 +220,16 @@ $cflags.=" -DOPENSSL_NO_ECDSA" if $no_ecdsa; $cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh; $cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine; $cflags.=" -DOPENSSL_NO_HW" if $no_hw; if ($no_static_engine) { $cflags .= " -DOPENSSL_NO_STATIC_ENGINE"; } else { $cflags .= " -DOPENSSL_NO_DYNAMIC_ENGINE"; } #$cflags.=" -DRSAref" if $rsaref ne ""; ## if ($unix) Loading Loading @@ -288,8 +304,10 @@ for (;;) if ($key eq "HEADER") { $header.=&var_add($dir,$val, 1); } if ($key eq "LIBOBJ") if ($key eq "LIBOBJ" && ($dir ne "engines" || !$no_static_engine)) { $libobj=&var_add($dir,$val, 0); } if ($key eq "LIBNAMES" && $dir eq "engines" && $no_static_engine) { $engines.=$val } if (!($_=<IN>)) { $_="RELATIVE_DIRECTORY=FINISHED\n"; } Loading Loading @@ -385,12 +403,14 @@ CRYPTO=$crypto # BIN_D - Binary output directory # TEST_D - Binary test file output directory # LIB_D - library output directory # ENG_D - dynamic engine output directory # Note: if you change these point to different directories then uncomment out # the lines around the 'NB' comment below. # BIN_D=\$(OUT_D) TEST_D=\$(OUT_D) LIB_D=\$(OUT_D) ENG_D=\$(OUT_D) # INCL_D - local library directory # OBJ_D - temp object file directory Loading Loading @@ -446,7 +466,7 @@ $banner headers: \$(HEADER) \$(EXHEADER) @ lib: \$(LIBS_DEP) lib: \$(LIBS_DEP) \$(E_SHLIB) exe: \$(T_EXE) \$(BIN_D)$o\$(E_EXE)$exep Loading Loading @@ -617,6 +637,16 @@ foreach (split(/\s+/,$test)) $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); } $defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp); foreach (split(/\s+/,$engines)) { $rules.=&do_compile_rule("\$(OBJ_D)","engines${o}e_$_",$lib); $rules.= &do_lib_rule("\$(OBJ_D)${o}e_${_}.obj","\$(ENG_D)$o$_$shlibp","",$shlib,""); } $rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)"); $rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)"); Loading Loading @@ -777,7 +807,7 @@ sub do_defs elsif ($var eq "SSLOBJ") { $ret.="\$(OBJ_D)\\\$(SSL).res "; } } chop($ret); chomp($ret); $ret.="\n\n"; return($ret); } Loading Loading @@ -960,6 +990,14 @@ sub read_options { $xcflags = "-DZLIB_SHARED -DZLIB $xcflags"; } elsif (/^no-static-engine/) { $no_static_engine = 1; } elsif (/^enable-static-engine/) { $no_static_engine = 0; } # There are also enable-xxx options which correspond to # the no-xxx. Since the scalars are enabled by default # these can be ignored. Loading Loading
CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,10 @@ Changes between 0.9.8a and 0.9.8b [XX xxx XXXX] *) Add support for building of engines under engine/ as shared libraries under VC++ build system. [Steve Henson] *) Corrected the numerous bugs in the Win32 path splitter in DSO. Hopefully, we will not see any false combination of paths any more. [Richard Levitte] Loading
Configure +11 −6 Original line number Diff line number Diff line Loading @@ -866,6 +866,8 @@ foreach (sort (keys %disabled)) { $no_shared = 1; } elsif (/^zlib$/) { $zlib = 0; } elsif (/^static-engine$/) { } elsif (/^zlib-dynamic$/) { } elsif (/^symlinks$/) Loading Loading @@ -1124,6 +1126,8 @@ if (!$no_shared) } } if (!$IsMK1MF) { if ($no_shared) { $openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n"; Loading @@ -1132,6 +1136,7 @@ else { $openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n"; } } $cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/); # Compiler fix-ups Loading
crypto/engine/engine.h +2 −1 Original line number Diff line number Diff line Loading @@ -637,7 +637,7 @@ typedef struct st_dynamic_fns { * can be fully instantiated with IMPLEMENT_DYNAMIC_CHECK_FN(). */ typedef unsigned long (*dynamic_v_check_fn)(unsigned long ossl_version); #define IMPLEMENT_DYNAMIC_CHECK_FN() \ unsigned long v_check(unsigned long v) { \ OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ if(v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ return 0; } Loading @@ -659,6 +659,7 @@ typedef unsigned long (*dynamic_v_check_fn)(unsigned long ossl_version); typedef int (*dynamic_bind_engine)(ENGINE *e, const char *id, const dynamic_fns *fns); #define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ OPENSSL_EXPORT \ int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ if(ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ if(!CRYPTO_set_mem_functions(fns->mem_fns.malloc_cb, \ Loading
util/copy.pl 0 → 100644 +58 −0 Original line number Diff line number Diff line #!/usr/local/bin/perl use Fcntl; # copy.pl # Perl script 'copy' comment. On Windows the built in "copy" command also # copies timestamps: this messes up Makefile dependencies. my $arg; foreach $arg (@ARGV) { foreach (glob $arg) { push @filelist, $_; } } $fnum = @filelist; if ($fnum <= 1) { die "Need at least two filenames"; } $dest = pop @filelist; if ($fnum > 2 && ! -d $dest) { die "Destination must be a directory"; } foreach (@filelist) { if (-d $dest) { $dfile = $_; $dfile =~ s|^.*[/\\]([^/\\]*)$|$1|; $dfile = "$dest/$dfile"; } else { $dfile = $dest; } sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_"; sysopen(OUT, $dfile, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY) || die "Can't Open $dfile"; while (sysread IN, $buf, 10240) { syswrite(OUT, $buf, length($buf)); } close(IN); close(OUT); print "Copying: $_ to $dfile\n"; }
util/mk1mf.pl +41 −3 Original line number Diff line number Diff line Loading @@ -10,6 +10,10 @@ $OPTIONS=""; $ssl_version=""; $banner="\t\@echo Building OpenSSL"; my $no_static_engine = 0; my $engines = ""; open(IN,"<Makefile") || die "unable to open Makefile!\n"; while(<IN>) { $ssl_version=$1 if (/^VERSION=(.*)$/); Loading Loading @@ -95,6 +99,8 @@ foreach (grep(!/^$/, split(/ /, $OPTIONS))) print STDERR "unknown option - $_\n" if !&read_options; } $no_static_engine = 0 if (!$shlib); $no_mdc2=1 if ($no_des); $no_ssl3=1 if ($no_md5 || $no_sha); Loading Loading @@ -214,6 +220,16 @@ $cflags.=" -DOPENSSL_NO_ECDSA" if $no_ecdsa; $cflags.=" -DOPENSSL_NO_ECDH" if $no_ecdh; $cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine; $cflags.=" -DOPENSSL_NO_HW" if $no_hw; if ($no_static_engine) { $cflags .= " -DOPENSSL_NO_STATIC_ENGINE"; } else { $cflags .= " -DOPENSSL_NO_DYNAMIC_ENGINE"; } #$cflags.=" -DRSAref" if $rsaref ne ""; ## if ($unix) Loading Loading @@ -288,8 +304,10 @@ for (;;) if ($key eq "HEADER") { $header.=&var_add($dir,$val, 1); } if ($key eq "LIBOBJ") if ($key eq "LIBOBJ" && ($dir ne "engines" || !$no_static_engine)) { $libobj=&var_add($dir,$val, 0); } if ($key eq "LIBNAMES" && $dir eq "engines" && $no_static_engine) { $engines.=$val } if (!($_=<IN>)) { $_="RELATIVE_DIRECTORY=FINISHED\n"; } Loading Loading @@ -385,12 +403,14 @@ CRYPTO=$crypto # BIN_D - Binary output directory # TEST_D - Binary test file output directory # LIB_D - library output directory # ENG_D - dynamic engine output directory # Note: if you change these point to different directories then uncomment out # the lines around the 'NB' comment below. # BIN_D=\$(OUT_D) TEST_D=\$(OUT_D) LIB_D=\$(OUT_D) ENG_D=\$(OUT_D) # INCL_D - local library directory # OBJ_D - temp object file directory Loading Loading @@ -446,7 +466,7 @@ $banner headers: \$(HEADER) \$(EXHEADER) @ lib: \$(LIBS_DEP) lib: \$(LIBS_DEP) \$(E_SHLIB) exe: \$(T_EXE) \$(BIN_D)$o\$(E_EXE)$exep Loading Loading @@ -617,6 +637,16 @@ foreach (split(/\s+/,$test)) $rules.=&do_link_rule("\$(TEST_D)$o$t$exep",$tt,"\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); } $defs.=&do_defs("E_SHLIB",$engines,"\$(ENG_D)",$shlibp); foreach (split(/\s+/,$engines)) { $rules.=&do_compile_rule("\$(OBJ_D)","engines${o}e_$_",$lib); $rules.= &do_lib_rule("\$(OBJ_D)${o}e_${_}.obj","\$(ENG_D)$o$_$shlibp","",$shlib,""); } $rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)"); $rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)"); Loading Loading @@ -777,7 +807,7 @@ sub do_defs elsif ($var eq "SSLOBJ") { $ret.="\$(OBJ_D)\\\$(SSL).res "; } } chop($ret); chomp($ret); $ret.="\n\n"; return($ret); } Loading Loading @@ -960,6 +990,14 @@ sub read_options { $xcflags = "-DZLIB_SHARED -DZLIB $xcflags"; } elsif (/^no-static-engine/) { $no_static_engine = 1; } elsif (/^enable-static-engine/) { $no_static_engine = 0; } # There are also enable-xxx options which correspond to # the no-xxx. Since the scalars are enabled by default # these can be ignored. Loading