]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Guard libsodium PEM methods with libcrypto
authorFred Morcos <fred.morcos@open-xchange.com>
Thu, 7 Apr 2022 12:59:49 +0000 (14:59 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Wed, 20 Apr 2022 10:51:43 +0000 (12:51 +0200)
These methods depend on OpenSSL for PEM import and export.

pdns/sodiumsigners.cc

index c4d68e29e2efbbadb0098ab0563a087eed119aec..cbb18c6c961b2e8765ed24490e92fcf5a193d131 100644 (file)
@@ -16,6 +16,7 @@ public:
   string getName() const override { return "Sodium ED25519"; }
   void create(unsigned int bits) override;
 
+#if defined(HAVE_LIBCRYPTO_ED25519)
   /**
    * \brief Creates an ED25519 key engine from a PEM file.
    *
@@ -46,6 +47,7 @@ public:
    * \exception std::runtime_error In case of OpenSSL errors.
    */
   void convertToPEM(std::FILE& fp) const override;
+#endif
 
   storvector_t convertToISCVector() const override;
   std::string getPubKeyHash() const override;
@@ -74,6 +76,7 @@ void SodiumED25519DNSCryptoKeyEngine::create(unsigned int bits)
   crypto_sign_ed25519_keypair(d_pubkey, d_seckey);
 }
 
+#if defined(HAVE_LIBCRYPTO_ED25519)
 void SodiumED25519DNSCryptoKeyEngine::createFromPEMFile(DNSKEYRecordContent& drc, const string& filename, std::FILE& fp)
 {
   drc.d_algorithm = d_algorithm;
@@ -107,6 +110,7 @@ void SodiumED25519DNSCryptoKeyEngine::convertToPEM(std::FILE& fp) const
     throw runtime_error(getName() + ": Could not convert private key to PEM");
   }
 }
+#endif
 
 int SodiumED25519DNSCryptoKeyEngine::getBits() const
 {