]> granicus.if.org Git - curl/commitdiff
OpenSSL: Report -fips in version if OpenSSL is built with FIPS
authorRicky Leverence <rleverence@godaddy.com>
Fri, 12 Apr 2019 18:53:12 +0000 (11:53 -0700)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 8 May 2019 07:30:15 +0000 (09:30 +0200)
Older versions of OpenSSL report FIPS availabilty via an OPENSSL_FIPS
define. It uses this define to determine whether to publish -fips at
the end of the version displayed. Applications that utilize the version
reported by OpenSSL will see a mismatch if they compare it to what curl
reports, as curl is not modifying the version in the same way. This
change simply adds a check to see if OPENSSL_FIPS is defined, and will
alter the reported version to match what OpenSSL itself provides. This
only appears to be applicable in versions of OpenSSL <1.1.1

Closes #3771

lib/vtls/openssl.c

index e50f929efaa1b81cc51ee26d99410847b5d2c279..9b1b5d3be9bf8a8e0a3ec631456fb892d4efb94f 100644 (file)
@@ -3826,7 +3826,11 @@ static size_t Curl_ossl_version(char *buffer, size_t size)
       sub[0]='\0';
   }
 
-  return msnprintf(buffer, size, "%s/%lx.%lx.%lx%s",
+  return msnprintf(buffer, size, "%s/%lx.%lx.%lx%s"
+#ifdef OPENSSL_FIPS
+                   "-fips"
+#endif
+                   ,
                    OSSL_PACKAGE,
                    (ssleay_value>>28)&0xf,
                    (ssleay_value>>20)&0xff,