HomeClusterLabs Projects

Med: Build: Add macros to better support gnutls and FIPS.

Description

Med: Build: Add macros to better support gnutls and FIPS.

The previous commit added calls to a couple macros to disable/enable
FIPS support so we can use MD5. However, these macros were not
introduced until gnutls 3.6.2. Before that, FIPS support was not added
to gnutls until 3.3.0. This means there's a version gap where we have
no way to temporarily disable FIPS support.

With a configure test and a couple compatibility macros, we can handle
this gap. Versions before 3.3.0 still work fine, so the minimum version
doesn't have to change. Versions in the gap will get the compatibility
macros that don't do anything. Versions from 3.6.2 on will be able to
use the real macros.

This also means that distributions with versions in the gap will not be
able to disable FIPS, which means Pacemaker won't be able to calculate
MD5 sums, which means Pacemaker isn't usable. In practice, this should
not be a problem because it only affects the following people:

  • Ubuntu 18 users - This is the oldest distribution that Pacemaker supports. The commits that switched us to using gnutls were only on the main (Pacemaker 3) branch, and we do not expect that Ubuntu will backport Pacemaker 3 to that release.
  • People building from source - No one that cares about FIPS mode will be building from source.

Details