]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
hook up ed25519 signer in the recursor 4873/head
authorKees Monshouwer <mind04@monshouwer.org>
Tue, 10 Jan 2017 21:50:12 +0000 (22:50 +0100)
committermind04 <mind04@monshouwer.org>
Tue, 10 Jan 2017 22:02:17 +0000 (23:02 +0100)
pdns/pdns_recursor.cc
pdns/recursordist/Makefile.am
pdns/recursordist/configure.ac
pdns/recursordist/m4/pdns_check_libsodium.m4 [new symlink]
pdns/recursordist/sodiumsigners.cc [new symlink]

index bd79bb4a27a95211c0c4310818260a689a2dd453..000f5c1d3065c2e1699030de0fc6ceda983d9fc7 100644 (file)
@@ -33,6 +33,9 @@
 #include "recpacketcache.hh"
 #include "utility.hh"
 #include "dns_random.hh"
+#ifdef HAVE_LIBSODIUM
+#include <sodium.h>
+#endif
 #include "opensslsigners.hh"
 #include <iostream>
 #include <errno.h>
@@ -2805,6 +2808,13 @@ int serviceMain(int argc, char*argv[])
   g_maxMThreads = ::arg().asNum("max-mthreads");
   checkOrFixFDS();
 
+#ifdef HAVE_LIBSODIUM
+  if (sodium_init() == -1) {
+    L<<Logger::Error<<"Unable to initialize sodium crypto library"<<endl;
+    exit(99);
+  }
+#endif
+
   openssl_thread_setup();
   openssl_seed();
 
index 24eed453d545bcf9cf55f40f0ac3b71988b08a71..202748bb566cfb6e1c44bb02b36d6adcfe7cdb3d 100644 (file)
@@ -161,6 +161,12 @@ pdns_recursor_SOURCES += \
 pdns_recursor_LDADD += $(BOTAN110_LIBS)
 endif
 
+if LIBSODIUM
+pdns_recursor_SOURCES += \
+       sodiumsigners.cc
+pdns_recursor_LDADD += $(LIBSODIUM_LIBS)
+endif
+
 if MALLOC_TRACE
 pdns_recursor_SOURCES += \
        malloctrace.cc \
index fe5e6256121c6f0edd856ab27cbaee2d721299cb..e0fed1e2082e2f9d1b453953ed7ebfa8eacd5d51 100644 (file)
@@ -112,6 +112,7 @@ PDNS_CHECK_LIBCRYPTO([
   ]
 )
 PDNS_CHECK_LIBCRYPTO_ECDSA
+PDNS_CHECK_LIBSODIUM
 
 # check for tools we might need
 PDNS_CHECK_RAGEL
diff --git a/pdns/recursordist/m4/pdns_check_libsodium.m4 b/pdns/recursordist/m4/pdns_check_libsodium.m4
new file mode 120000 (symlink)
index 0000000..2dbf381
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_check_libsodium.m4
\ No newline at end of file
diff --git a/pdns/recursordist/sodiumsigners.cc b/pdns/recursordist/sodiumsigners.cc
new file mode 120000 (symlink)
index 0000000..ef247a5
--- /dev/null
@@ -0,0 +1 @@
+../sodiumsigners.cc
\ No newline at end of file