Skip to content

Commit 2cebd5f

Browse files
committed
deps: add missing legacyprov.c source
This commit add the missing legacy provider source code which is requried for statically linking the OpenSSL legacy provider. Co-authored-by: Richard Lau <rlau@redhat.com> PR-URL: #40478 Refs: #40455 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
1 parent ed76b49 commit 2cebd5f

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

deps/openssl/config/generate_gypi.pl

+16-3
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,12 @@
100100
copy("$src_dir/providers/common/include/prov/der_digests.h",
101101
"$base_dir/providers/common/include/prov/") or die "Copy failed: $!";
102102

103+
my $linker_script_dir = "\$(srcdir)/deps/openssl/config/archs/$arch/$asm/providers";
103104
my $fips_linker_script = "";
104105
if ($fips_ld ne "") {
105-
$fips_linker_script = "$base_dir/providers/fips.ld";
106+
$fips_linker_script = "$linker_script_dir/fips.ld";
106107
copy("$src_dir/providers/fips.ld",
107-
$fips_linker_script) or die "Copy failed: $!";
108+
"$base_dir/providers/fips.ld") or die "Copy failed: $!";
108109
}
109110

110111

@@ -193,6 +194,18 @@
193194
}
194195
}
195196

197+
foreach my $obj (@{$unified_info{sources}->{'providers/legacy'}}) {
198+
if ($obj eq 'providers/legacy.ld') {
199+
push(@generated_srcs, $obj);
200+
} else {
201+
my $src = ${$unified_info{sources}->{$obj}}[0];
202+
#print("providers/fips obj: $obj, src: $src\n");
203+
if ($src =~ m/\.c$/) {
204+
push(@libcrypto_srcs, $src);
205+
}
206+
}
207+
}
208+
196209
my @libfips_srcs = ();
197210
foreach my $obj (@{$unified_info{sources}->{'providers/libfips.a'}}) {
198211
my $src = ${$unified_info{sources}->{$obj}}[0];
@@ -316,7 +329,7 @@
316329
arch => \$arch,
317330
lib_cppflags => \@lib_cppflags,
318331
is_win => \$is_win,
319-
linker_script => \rel2abs($fips_linker_script),
332+
linker_script => $fips_linker_script,
320333
});
321334

322335
open(FIPSGYPI, "> ./archs/$arch/$asm/openssl-fips.gypi");

deps/openssl/openssl.gyp

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
# is able to create a malicious DLL in one of the default search paths.
3030
'OPENSSL_NO_HW',
3131
'OPENSSL_API_COMPAT=0x10100001L',
32+
'STATIC_LEGACY',
3233
#'OPENSSL_NO_DEPRECATED',
3334
],
3435
'conditions': [

0 commit comments

Comments
 (0)