Add support for enabling and enforcing FIPS mode in OpenSSL:

* Add configure option --enable-fips-mode that detects and enables FIPS mode
* Add a function to enable FIPS mode and call it on crypto init
* Log an OpenSSL error when FIPS_mode_set() fails and exit
* Report FIPS mode status in a separate log message from named

(cherry picked from commit c4cee27f)
61 jobs for !2482 with 506-print-fips-mode-v9_11 in 7 minutes and 58 seconds (queued for 7 seconds)
detached
Status Job ID Name Coverage
  Precheck
passed #372331
amd64 linux
🐞:sid:amd64

00:01:07

passed #372329
amd64 linux
autoreconf:sid:amd64

00:00:35

passed #372330
amd64 linux
misc:sid:amd64

00:00:21

 
  Build
failed #372343
amd64 linux
asan:sid:amd64

00:04:03

failed #372348
amd64 freebsd
clang:freebsd11.3:amd64

00:01:11

failed #372349
amd64 freebsd
clang:freebsd12.0:amd64

00:01:02

passed #372350
amd64 openbsd
clang:openbsd6.5:amd64

00:03:58

failed #372344
amd64 linux
clang:stretch:amd64

00:02:14

failed #372345
i386 linux
clang:stretch:i386

00:02:16

failed #372332
amd64 linux
gcc:alpine3.10:amd64

00:02:28

failed #372342
amd64 linux
gcc:bionic:amd64

00:01:38

failed #372337
i386 linux
gcc:buster:amd64

00:01:18

passed #372333
amd64 linux
gcc:centos6:amd64

00:02:22

failed #372334
amd64 linux
gcc:centos7:amd64

00:02:13

failed #372340
amd64 linux
gcc:fedora30:amd64

00:02:29

failed #372335
amd64 linux
gcc:jessie:amd64

00:02:01

failed #372338
amd64 linux
gcc:sid:amd64

00:01:23

failed #372339
i386 linux
gcc:sid:i386

00:02:37

failed #372336
amd64 linux
gcc:stretch:amd64

00:02:35

failed #372341
amd64 linux
gcc:xenial:amd64

00:01:59

passed #372352
amd64 windows
msvc:windows:amd64

00:02:20

passed #372346
amd64 linux
nocrypto:sid:amd64

00:01:31

failed #372351
amd64 linux
nolibtool:sid:amd64

00:01:13

passed #372347
amd64 linux
pkcs11:sid:amd64

00:02:00

 
  Unit
skipped #372364
amd64 linux
unit:asan:sid:amd64
skipped #372368
amd64 freebsd
unit:clang:freebsd11.3:amd64
skipped #372369
amd64 freebsd
unit:clang:freebsd12.0:amd64
skipped #372365
amd64 linux
unit:clang:stretch:amd64
skipped #372353
amd64 linux
unit:gcc:alpine3.10:amd64
skipped #372363
amd64 linux
unit:gcc:bionic:amd64
skipped #372358
i386 linux
unit:gcc:buster:amd64
failed #372354
amd64 linux
unit:gcc:centos6:amd64

00:01:04

skipped #372355
amd64 linux
unit:gcc:centos7:amd64
skipped #372361
amd64 linux
unit:gcc:fedora30:amd64
skipped #372356
amd64 linux
unit:gcc:jessie:amd64
skipped #372359
amd64 linux
unit:gcc:sid:amd64
skipped #372360
i386 linux
unit:gcc:sid:i386
skipped #372357
amd64 linux
unit:gcc:stretch:amd64
skipped #372362
amd64 linux
unit:gcc:xenial:amd64
skipped #372366
amd64 linux
unit:nocrypto:sid:amd64
skipped #372370
amd64 linux
unit:nolibtool:sid:amd64
passed #372367
amd64 linux
unit:pkcs11:sid:amd64

00:00:48

 
  System
skipped #372382
amd64 linux
system:asan:sid:amd64
skipped #372385
amd64 freebsd
system:clang:freebsd11.3:amd64
skipped #372386
amd64 freebsd
system:clang:freebsd12.0:amd64
skipped #372371
amd64 linux
system:gcc:alpine3.10:amd64
skipped #372381
amd64 linux
system:gcc:bionic:amd64
skipped #372376
i386 linux
system:gcc:buster:amd64
passed #372372
amd64 linux
system:gcc:centos6:amd64

00:03:20

skipped #372373
amd64 linux
system:gcc:centos7:amd64
skipped #372379
amd64 linux
system:gcc:fedora30:amd64
skipped #372374
amd64 linux
system:gcc:jessie:amd64
skipped #372377
amd64 linux
system:gcc:sid:amd64
skipped #372378
i386 linux
system:gcc:sid:i386
skipped #372375
amd64 linux
system:gcc:stretch:amd64
skipped #372380
amd64 linux
system:gcc:xenial:amd64
skipped #372383
amd64 linux
system:nocrypto:sid:amd64
skipped #372387
amd64 linux
system:nolibtool:sid:amd64
passed #372384
amd64 linux
system:pkcs11:sid:amd64

00:05:14

 
  Docs
passed #372388
amd64 linux
docs:sid:amd64

00:00:58

 
  Postcheck
skipped #372389
amd64 linux
cppcheck:gcc:sid:amd64
 
Name Stage Failure
failed
asan:sid:amd64 Build
No job log
failed
unit:gcc:centos6:amd64 Unit
No job log
failed
gcc:sid:i386 Build
No job log
failed
gcc:stretch:amd64 Build
No job log
failed
gcc:fedora30:amd64 Build
No job log
failed
gcc:alpine3.10:amd64 Build
No job log
failed
clang:stretch:i386 Build
No job log
failed
clang:stretch:amd64 Build
No job log
failed
gcc:centos7:amd64 Build
No job log
failed
gcc:xenial:amd64 Build
No job log
failed
gcc:jessie:amd64 Build
No job log
failed
gcc:bionic:amd64 Build
No job log
failed
gcc:sid:amd64 Build
No job log
failed
nolibtool:sid:amd64 Build
No job log
failed
gcc:buster:amd64 Build
No job log
failed
clang:freebsd11.3:amd64 Build
No job log
failed
clang:freebsd12.0:amd64 Build
No job log