diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index 165a93987a..b7c65424bf 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -549,7 +549,8 @@ sub GenerateFiles my ($digit1, $digit2, $digit3) = $self->GetOpenSSLVersion(); # More symbols are needed with OpenSSL 1.1.0 and above. - if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') + if ( ($digit1 == '3' && $digit2 >= '0' && $digit3 >= '0') + || ($digit1 == '1' && $digit2 == '1' && $digit3 >= '0') { $define{HAVE_ASN1_STRING_GET0_DATA} = 1; $define{HAVE_BIO_GET_DATA} = 1; @@ -953,11 +954,17 @@ sub AddProject $proj->AddIncludeDir($self->{options}->{openssl} . '\include'); my ($digit1, $digit2, $digit3) = $self->GetOpenSSLVersion(); + # Ensure that we have OpenSSL 1.0.1 or newer + if ( $digit1 < '1' + || ($digit1 == '1' && $digit2 == '0' && $digit3 == '0')) + die 'Unsupported OpenSSL version, must be 1.0.1 or newer'; + # Starting at version 1.1.0 the OpenSSL installers have # changed their library names from: # - libeay to libcrypto # - ssleay to libssl - if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') + if ( ($digit1 == '3' && $digit2 >= '0' && $digit3 >= '0') + || ($digit1 == '1' && $digit2 == '1' && $digit3 >= '0') { my $dbgsuffix; my $libsslpath;