Overhaul feature flags for DNSSEC / crypto
-
ringandopensslnow enable a sharedunstable-crypto-backendfeature, which is used internally to test whether a common backend is available. -
Examples / doc tests in
crypto, relying oncrypto::common, have been moved to the submodule to avoid needing morecfgmagic. -
unstable-cryptonow enablesstd; this requirement was previously undetected (and the CI will be adjusted to try to catch more of these over time), but compilation would fail without it. -
unstable-signandunstable-validatornow fail to compile ifringand/oropensslare not enabled. Previously, those modules would remain configured out. Its status as a breaking change is debatable, but in any case it only affects unstable features.
This should also fix the CI failure in #547.
Can we rename it to 'internal-crypto-backend' or any other convention to show that something is not to be used?
I think having a separate prefix for internal features would indeed be good. I don’t think we need a separate prefix for internal unstable features, though, given that they not user-facing, anyway.