1 JSON11_LIBS = $(top_builddir)/ext/json11/libjson11.la
2 ARC4RANDOM_LIBS = $(top_builddir)/ext/arc4random/libarc4random.la
5 -I$(top_srcdir)/ext/json11 \
8 $(LIBCRYPTO_INCLUDES) \
11 -I$(top_srcdir)/ext/protozero/include \
12 -DBOOST_CONTAINER_USE_STD_EXCEPTIONS
15 -DSYSCONFDIR=\"$(sysconfdir)\" \
16 -DPKGLIBDIR=\"$(pkglibdir)\" \
17 -DLOCALSTATEDIR=\"$(socketdir)\"
26 AM_YFLAGS = -d --verbose --debug
29 AM_CPPFLAGS += $(P11KIT1_CFLAGS)
33 AM_CPPFLAGS += $(SQLITE3_CFLAGS)
37 AM_CPPFLAGS +=$(LUA_CFLAGS)
41 AM_CPPFLAGS +=$(GSS_CFLAGS)
45 AM_CPPFLAGS +=$(LIBSODIUM_CFLAGS)
49 AM_CPPFLAGS += $(LIBDECAF_CFLAGS)
59 named.conf.parsertest \
62 ixfrdist.example.yml \
70 convert-yaml-to-json.py
73 bind-dnssec.schema.sqlite3.sql.h \
82 backends/gsql/gsqlbackend.gcda \
83 backends/gsql/gsqlbackend.gcno \
84 backends/gsql/gsqlbackend.gcov \
88 if !HAVE_API_SWAGGER_JSON
89 # don't clean these files if they were present
90 # at 'configure' time (e.g. from a source dist)
96 # use a $(wildcard) wrapper here to allow build to proceed if output
97 # file is present but input file is not (e.g. in a dist tarball)
98 api-swagger.yaml: $(wildcard ../docs/http-api/swagger/authoritative-api-swagger.yaml)
102 api-swagger.json: api-swagger.yaml requirements.txt
103 $(PYTHON) -m venv .venv
104 .venv/bin/pip install -U pip setuptools setuptools-git wheel
105 .venv/bin/pip install -r requirements.txt
106 .venv/bin/python convert-yaml-to-json.py $< $@
108 if !HAVE_API_SWAGGER_JSON
110 echo "You need Python 3 and the 'venv' module to generate the JSON API document"
115 apidocfiles.h: api-swagger.yaml api-swagger.json
118 sysconf_DATA = pdns.conf-dist
120 sbin_PROGRAMS = pdns_server
145 bin_PROGRAMS += calidns
191 pdns_server_SOURCES = \
192 arguments.cc arguments.hh \
193 auth-caches.cc auth-caches.hh \
195 auth-catalogzone.cc auth-catalogzone.hh \
196 auth-main.cc auth-main.hh \
197 auth-packetcache.cc auth-packetcache.hh \
198 auth-querycache.cc auth-querycache.hh \
199 auth-zonecache.cc auth-zonecache.hh \
200 axfr-retriever.cc axfr-retriever.hh \
201 backends/gsql/gsqlbackend.cc backends/gsql/gsqlbackend.hh \
202 backends/gsql/ssql.hh \
203 base32.cc base32.hh \
204 base64.cc base64.hh \
205 bind-dnssec.schema.sqlite3.sql.h \
212 communicator.cc communicator.hh \
213 credentials.cc credentials.hh \
219 dnsbackend.cc dnsbackend.hh \
221 dnsname.cc dnsname.hh \
222 dnspacket.cc dnspacket.hh \
224 dnsproxy.cc dnsproxy.hh \
225 dnsrecords.cc dnsrecords.hh \
226 dnssecinfra.cc dnssecinfra.hh \
230 dynhandler.cc dynhandler.hh \
231 dynlistener.cc dynlistener.hh \
233 ednscookies.cc ednscookies.hh \
234 ednsoptions.cc ednsoptions.hh \
235 ednssubnet.cc ednssubnet.hh \
236 gettime.cc gettime.hh \
237 gss_context.cc gss_context.hh \
239 iputils.cc iputils.hh \
243 logger.cc logger.hh \
245 lua-auth4.cc lua-auth4.hh \
246 lua-base4.cc lua-base4.hh \
247 mastercommunicator.cc \
249 nameserver.cc nameserver.hh \
253 opensslsigners.cc opensslsigners.hh \
255 packethandler.cc packethandler.hh \
257 proxy-protocol.cc proxy-protocol.hh \
259 query-local-address.hh query-local-address.cc \
261 resolver.cc resolver.hh \
262 responsestats.cc responsestats.hh responsestats-auth.cc \
264 secpoll-auth.cc secpoll-auth.hh \
265 secpoll.cc secpoll.hh \
268 shuffle.cc shuffle.hh \
269 signingpipe.cc signingpipe.hh \
271 slavecommunicator.cc \
273 statbag.cc statbag.hh \
274 stubresolver.cc stubresolver.hh \
275 svc-records.cc svc-records.hh \
276 tcpreceiver.cc tcpreceiver.hh \
277 threadname.hh threadname.cc \
279 trusted-notification-proxy.hh trusted-notification-proxy.cc \
280 tsigutils.hh tsigutils.cc \
281 tsigverifier.cc tsigverifier.hh \
282 ueberbackend.cc ueberbackend.hh \
286 uuid-utils.hh uuid-utils.cc \
287 version.cc version.hh \
288 webserver.cc webserver.hh \
289 ws-api.cc ws-api.hh \
290 ws-auth.cc ws-auth.hh \
293 pdns_server_LDFLAGS = \
298 EXTRA_pdns_server_DEPENDENCIES = @moduleobjects@
299 pdns_server_LDADD = \
309 pdns_server_SOURCES += lua-record.cc minicurl.cc minicurl.hh
310 pdns_server_LDADD += $(LIBCURL)
314 pdns_server_SOURCES += sodiumsigners.cc
315 pdns_server_LDADD += $(LIBSODIUM_LIBS)
319 pdns_server_SOURCES += decafsigners.cc
320 pdns_server_LDADD += $(LIBDECAF_LIBS)
324 pdns_server_SOURCES += ssqlite3.cc ssqlite3.hh
325 pdns_server_LDADD += $(SQLITE3_LIBS)
329 pdns_server_SOURCES += pkcs11signers.cc pkcs11signers.hh
330 pdns_server_LDADD += $(P11KIT1_LIBS)
334 pdns_server_LDADD += $(LUA_LIBS)
338 pdns_server_LDADD += $(GSS_LIBS)
343 auth-caches.cc auth-caches.hh \
344 auth-catalogzone.cc auth-catalogzone.hh \
345 auth-packetcache.cc auth-packetcache.hh \
346 auth-querycache.cc auth-querycache.hh \
347 auth-zonecache.cc auth-zonecache.hh \
348 backends/gsql/gsqlbackend.cc backends/gsql/gsqlbackend.hh \
349 backends/gsql/ssql.hh \
351 base64.cc base64.hh \
356 credentials.cc credentials.hh \
361 dnsname.cc dnsname.hh \
363 dnsparser.cc dnsparser.hh \
365 dnssecinfra.cc dnssecinfra.hh \
367 dnswriter.cc dnswriter.hh \
369 ednscookies.cc ednscookies.hh \
370 ednsoptions.cc ednsoptions.hh \
372 gettime.cc gettime.hh \
373 gss_context.cc gss_context.hh \
374 ipcipher.cc ipcipher.hh \
375 iputils.cc iputils.hh \
378 lua-auth4.cc lua-auth4.hh \
379 lua-base4.cc lua-base4.hh \
382 opensslsigners.cc opensslsigners.hh \
385 rcpgenerator.cc rcpgenerator.hh \
387 shuffle.cc shuffle.hh \
392 stubresolver.cc stubresolver.hh \
393 svc-records.cc svc-records.hh \
394 threadname.hh threadname.cc \
395 tsigutils.hh tsigutils.cc \
398 uuid-utils.hh uuid-utils.cc \
400 zonemd.hh zonemd.cc \
406 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
409 EXTRA_pdnsutil_DEPENDENCIES = @moduleobjects@
416 $(BOOST_PROGRAM_OPTIONS_LIBS) \
421 pdnsutil_SOURCES += sodiumsigners.cc
422 pdnsutil_LDADD += $(LIBSODIUM_LIBS)
426 pdnsutil_SOURCES += decafsigners.cc
427 pdnsutil_LDADD += $(LIBDECAF_LIBS)
431 pdnsutil_SOURCES += ssqlite3.cc ssqlite3.hh
432 pdnsutil_LDADD += $(SQLITE3_LIBS)
436 pdnsutil_SOURCES += pkcs11signers.cc pkcs11signers.hh
437 pdnsutil_LDADD += $(P11KIT1_LIBS)
441 pdnsutil_LDADD += $(LUA_LIBS)
445 pdnsutil_LDADD += $(GSS_LIBS)
452 bind-dnssec.schema.sqlite3.sql.h \
455 bindparserclasses.hh \
458 dnsname.cc dnsname.hh \
470 svc-records.cc svc-records.hh \
475 zone2sql_LDADD = $(LIBCRYPTO_LIBS) $(JSON11_LIBS)
476 zone2sql_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
478 zone2json_SOURCES = \
482 bind-dnssec.schema.sqlite3.sql.h \
485 bindparserclasses.hh \
487 dnsname.cc dnsname.hh \
498 svc-records.cc svc-records.hh \
503 zone2json_LDADD = $(LIBCRYPTO_LIBS) $(JSON11_LIBS)
504 zone2json_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
506 # pkglib_LTLIBRARIES = iputils.la
507 # iputils_la_SOURCES = lua-iputils.cc
508 # iputils_la_LDFLAGS= -module -avoid-version
511 bin_PROGRAMS += zone2ldap
514 zone2ldap_SOURCES = \
518 bind-dnssec.schema.sqlite3.sql.h \
521 bindparserclasses.hh \
523 dnsname.cc dnsname.hh \
534 svc-records.cc svc-records.hh \
539 zone2ldap_LDADD = $(LIBCRYPTO_LIBS)
540 zone2ldap_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
543 zone2ldap_LDADD += $(GSS_LIBS)
548 base64.cc base64.hh \
551 dnsname.cc dnsname.hh \
552 dnsparser.cc dnsparser.hh \
554 dnswriter.cc dnswriter.hh \
556 ednssubnet.cc iputils.cc \
557 libssl.cc libssl.hh \
561 proxy-protocol.cc proxy-protocol.hh \
563 rcpgenerator.cc rcpgenerator.hh \
568 svc-records.cc svc-records.hh \
569 tcpiohandler.cc tcpiohandler.hh \
572 sdig_CPPFLAGS = $(AM_CPPFLAGS)
573 sdig_LDADD = $(LIBCRYPTO_LIBS)
574 sdig_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
577 sdig_SOURCES += minicurl.cc minicurl.hh
578 sdig_LDADD += $(LIBCURL)
584 sdig_CPPFLAGS += $(GNUTLS_CFLAGS)
585 sdig_LDADD += -lgnutls
589 sdig_CPPFLAGS += $(LIBSSL_CFLAGS)
590 sdig_LDADD += $(LIBSSL_LIBS)
594 sdig_CPPFLAGS +=$(LIBSODIUM_CFLAGS)
595 sdig_LDADD += $(LIBSODIUM_LIBS)
602 base64.cc base64.hh \
606 dnsname.cc dnsname.hh \
607 dnsparser.cc dnsparser.hh \
609 dnswriter.cc dnswriter.hh \
610 ednsoptions.cc ednsoptions.hh \
611 ednssubnet.cc ednssubnet.hh \
617 rcpgenerator.cc rcpgenerator.hh \
621 svc-records.cc svc-records.hh \
624 calidns_LDADD = $(LIBCRYPTO_LIBS) \
625 $(BOOST_PROGRAM_OPTIONS_LIBS)
626 calidns_LDFLAGS = $(AM_LDFLAGS) $(THREADFLAGS) $(LIBCRYPTO_LDFLAGS) \
627 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
631 dnsname.cc dnsname.hh \
633 iputils.cc iputils.hh \
640 dumresp_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
643 dnslabeltext.cc dnsname.cc dnsname.hh \
651 stubquery_SOURCES = \
652 arguments.cc arguments.hh \
669 stubresolver.cc stubresolver.hh \
670 svc-records.cc svc-records.hh \
673 stubquery_LDADD = $(LIBCRYPTO_LIBS)
674 stubquery_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
678 base64.cc base64.hh \
681 dnsname.cc dnsname.hh \
682 dnsparser.cc dnsparser.hh \
685 dnswriter.cc dnswriter.hh \
686 gss_context.cc gss_context.hh \
692 rcpgenerator.cc rcpgenerator.hh \
697 svc-records.cc svc-records.hh \
700 saxfr_LDADD = $(LIBCRYPTO_LIBS)
701 saxfr_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
704 saxfr_SOURCES += pkcs11signers.cc pkcs11signers.hh
705 saxfr_LDADD += $(P11KIT1_LIBS)
709 saxfr_LDADD += $(GSS_LIBS)
716 base64.cc base64.hh \
717 credentials.cc credentials.hh \
721 dnsname.cc dnsname.hh \
722 dnsparser.cc dnsparser.hh \
725 dnswriter.cc dnswriter.hh \
726 gss_context.cc gss_context.hh \
727 iputils.hh iputils.cc \
729 ixfrdist-stats.hh ixfrdist-stats.cc \
730 ixfrdist-web.hh ixfrdist-web.cc \
732 ixfrutils.cc ixfrutils.hh \
739 query-local-address.hh query-local-address.cc \
740 rcpgenerator.cc rcpgenerator.hh \
745 svc-records.cc svc-records.hh \
746 threadname.hh threadname.cc \
747 tsigverifier.cc tsigverifier.hh \
749 uuid-utils.hh uuid-utils.cc \
750 webserver.hh webserver.cc \
754 $(BOOST_PROGRAM_OPTIONS_LIBS) \
762 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
766 ixfrdist_LDADD += $(LIBSODIUM_LIBS)
770 ixfrdist_SOURCES += pkcs11signers.cc pkcs11signers.hh
771 ixfrdist_LDADD += $(P11KIT1_LIBS)
775 ixfrdist_LDADD += $(GSS_LIBS)
783 base64.cc base64.hh \
787 dnsname.cc dnsname.hh \
788 dnsparser.cc dnsparser.hh \
791 dnswriter.cc dnswriter.hh \
792 gss_context.cc gss_context.hh \
795 ixfrutils.cc ixfrutils.hh \
801 query-local-address.hh query-local-address.cc \
802 rcpgenerator.cc rcpgenerator.hh \
807 svc-records.cc svc-records.hh \
808 tsigverifier.cc tsigverifier.hh \
809 unix_utility.cc zoneparser-tng.cc
811 ixplore_LDADD = $(LIBCRYPTO_LIBS)
812 ixplore_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
814 ixplore_LDADD += $(GSS_LIBS)
818 ixplore_SOURCES += pkcs11signers.cc pkcs11signers.hh
819 ixplore_LDADD += $(P11KIT1_LIBS)
822 dnstcpbench_SOURCES = \
824 base64.cc base64.hh \
826 dnsname.cc dnsname.hh \
827 dnsparser.cc dnsparser.hh \
830 dnswriter.cc dnswriter.hh \
836 rcpgenerator.cc rcpgenerator.hh \
840 svc-records.cc svc-records.hh \
841 threadname.hh threadname.cc \
844 dnstcpbench_LDFLAGS = \
846 $(LIBCRYPTO_LDFLAGS) \
847 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
849 dnstcpbench_LDADD = \
851 $(BOOST_PROGRAM_OPTIONS_LIBS)
855 base64.cc base64.hh \
857 dnsname.cc dnsname.hh \
858 dnsparser.cc dnsparser.hh \
861 dnswriter.cc dnswriter.hh \
862 gss_context.cc gss_context.hh \
869 rcpgenerator.cc rcpgenerator.hh \
873 svc-records.cc svc-records.hh \
877 nsec3dig_LDADD = $(LIBCRYPTO_LIBS)
878 nsec3dig_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
881 nsec3dig_LDADD += $(GSS_LIBS)
885 nsec3dig_SOURCES += pkcs11signers.cc pkcs11signers.hh
886 nsec3dig_LDADD += $(P11KIT1_LIBS)
889 tsig_tests_SOURCES = \
893 base64.cc base64.hh \
898 dnsname.cc dnsname.hh \
899 dnsparser.cc dnsparser.hh \
902 dnswriter.cc dnswriter.hh \
903 gss_context.cc gss_context.hh \
909 query-local-address.cc \
910 rcpgenerator.cc rcpgenerator.hh \
915 svc-records.cc svc-records.hh \
917 tsigverifier.cc tsigverifier.hh \
920 tsig_tests_LDADD = $(LIBCRYPTO_LIBS)
921 tsig_tests_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
924 tsig_tests_SOURCES += pkcs11signers.cc pkcs11signers.hh
925 tsig_tests_LDADD += $(P11KIT1_LIBS)
928 speedtest_SOURCES = \
929 arguments.cc arguments.hh \
931 base64.cc base64.hh \
932 credentials.cc credentials.hh \
935 dnsname.cc dnsname.hh \
936 dnsparser.cc dnsparser.hh \
938 dnssecinfra.cc dnssecinfra.hh \
939 dnswriter.cc dnswriter.hh \
940 gss_context.cc gss_context.hh \
946 rcpgenerator.cc rcpgenerator.hh \
950 svc-records.cc svc-records.hh \
954 speedtest_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
955 speedtest_LDADD = $(LIBCRYPTO_LIBS) \
958 dnswasher_SOURCES = \
961 dnsname.hh dnsname.cc \
963 dnspcap.cc dnspcap.hh \
966 ipcipher.cc ipcipher.hh \
973 dnswasher_LDFLAGS = $(AM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
974 dnswasher_LDADD = $(BOOST_PROGRAM_OPTIONS_LIBS) $(LIBCRYPTO_LIBS) $(IPCRYPT_LIBS)
976 dnsbulktest_SOURCES = \
977 arguments.cc arguments.hh \
983 dnsname.cc dnsname.hh \
987 iputils.cc iputils.hh \
995 svc-records.cc svc-records.hh \
998 dnsbulktest_LDFLAGS = \
1000 $(LIBCRYPTO_LDFLAGS) \
1001 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
1003 dnsbulktest_LDADD = \
1005 $(BOOST_PROGRAM_OPTIONS_LIBS)
1013 dnsname.cc dnsname.hh \
1024 svc-records.cc svc-records.hh \
1026 zoneparser-tng.cc zoneparser-tng.hh
1030 $(LIBCRYPTO_LDFLAGS) \
1031 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
1035 $(BOOST_PROGRAM_OPTIONS_LIBS)
1041 base64.cc base64.hh \
1043 dnsname.cc dnsname.hh \
1044 dnsparser.cc dnsparser.hh \
1045 dnspcap.cc dnspcap.hh \
1048 dnswriter.cc dnswriter.hh \
1053 rcpgenerator.cc rcpgenerator.hh \
1056 svc-records.cc svc-records.hh \
1062 $(LIBCRYPTO_LDFLAGS)
1064 dnsscan_LDADD = $(LIBCRYPTO_LIBS)
1066 dnsreplay_SOURCES = \
1069 base64.cc base64.hh \
1071 dnsname.cc dnsname.hh \
1072 dnsparser.cc dnsparser.hh \
1073 dnspcap.cc dnspcap.hh \
1076 dnswriter.cc dnswriter.hh \
1077 ednsoptions.cc ednsoptions.hh \
1078 ednssubnet.cc ednssubnet.hh \
1084 rcpgenerator.cc rcpgenerator.hh \
1087 svc-records.cc svc-records.hh \
1091 dnsreplay_LDFLAGS = \
1093 $(LIBCRYPTO_LDFLAGS) \
1094 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
1098 $(BOOST_PROGRAM_OPTIONS_LIBS)
1102 base64.cc base64.hh \
1104 dnsname.cc dnsname.hh \
1105 dnsparser.cc dnsparser.hh \
1107 dnswriter.cc dnswriter.hh \
1115 rcpgenerator.cc rcpgenerator.hh \
1118 svc-records.cc svc-records.hh \
1123 $(LIBCRYPTO_LDFLAGS) \
1124 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
1128 $(BOOST_PROGRAM_OPTIONS_LIBS)
1130 pdns_notify_SOURCES = \
1133 base64.cc base64.hh \
1136 dnsname.cc dnsname.hh \
1137 dnsparser.cc dnsparser.hh \
1139 dnswriter.cc dnswriter.hh \
1146 rcpgenerator.cc rcpgenerator.hh \
1149 svc-records.cc svc-records.hh \
1152 pdns_notify_LDFLAGS = \
1154 $(LIBCRYPTO_LDFLAGS) \
1155 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
1157 pdns_notify_LDADD = \
1159 $(BOOST_PROGRAM_OPTIONS_LIBS)
1162 pdns_notify_LDADD += $(LIBSODIUM_LIBS)
1163 dnsbulktest_LDADD += $(LIBSODIUM_LIBS)
1166 dnsscope_SOURCES = \
1169 base64.cc base64.hh \
1172 dnsname.cc dnsname.hh \
1173 dnsparser.cc dnsparser.hh \
1174 dnspcap.cc dnspcap.hh \
1177 dnswriter.cc dnswriter.hh \
1183 rcpgenerator.cc rcpgenerator.hh \
1186 statnode.cc statnode.hh \
1187 svc-records.cc svc-records.hh \
1191 dnsscope_LDFLAGS = \
1193 $(LIBCRYPTO_LDFLAGS) \
1194 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
1198 $(BOOST_PROGRAM_OPTIONS_LIBS)
1202 base64.cc base64.hh \
1205 dnsname.cc dnsname.hh \
1206 dnsparser.cc dnsparser.hh \
1207 dnspcap.cc dnspcap.hh \
1209 dnswriter.cc dnswriter.hh \
1214 rcpgenerator.cc rcpgenerator.hh \
1217 svc-records.cc svc-records.hh \
1223 $(LIBCRYPTO_LDFLAGS)
1228 dnsdemog_SOURCES = \
1230 base64.cc base64.hh \
1233 dnsname.cc dnsname.hh \
1234 dnsparser.cc dnsparser.hh \
1235 dnspcap.cc dnspcap.hh \
1237 dnswriter.cc dnswriter.hh \
1242 rcpgenerator.cc rcpgenerator.hh \
1245 svc-records.cc svc-records.hh \
1249 dnsdemog_LDFLAGS = \
1251 $(LIBCRYPTO_LDFLAGS)
1256 dnspcap2calidns_SOURCES = \
1258 base64.cc base64.hh \
1260 dnsname.cc dnsname.hh \
1261 dnsparser.cc dnsparser.hh \
1262 dnspcap.cc dnspcap.hh \
1263 dnspcap2calidns.cc \
1265 dnswriter.cc dnswriter.hh \
1266 ednsoptions.cc ednsoptions.hh \
1267 ednssubnet.cc ednssubnet.hh \
1273 rcpgenerator.cc rcpgenerator.hh \
1276 svc-records.cc svc-records.hh \
1280 dnspcap2calidns_LDFLAGS = \
1282 $(LIBCRYPTO_LDFLAGS) \
1283 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
1285 dnspcap2calidns_LDADD = \
1287 $(BOOST_PROGRAM_OPTIONS_LIBS)
1289 dnspcap2protobuf_SOURCES = \
1291 base64.cc base64.hh \
1293 dnsname.cc dnsname.hh \
1294 dnsparser.cc dnsparser.hh \
1295 dnspcap.cc dnspcap.hh \
1296 dnspcap2protobuf.cc \
1298 dnswriter.cc dnswriter.hh \
1299 gettime.cc gettime.hh \
1304 protozero.cc protozero.hh \
1306 rcpgenerator.cc rcpgenerator.hh \
1309 svc-records.cc svc-records.hh \
1312 uuid-utils.hh uuid-utils.cc
1314 dnspcap2protobuf_LDFLAGS = \
1316 $(LIBCRYPTO_LDFLAGS) \
1317 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
1319 dnspcap2protobuf_LDADD = \
1321 $(BOOST_PROGRAM_OPTIONS_LIBS) \
1324 pdns.conf-dist: pdns_server
1325 $(AM_V_GEN)./pdns_server --config=default > $@
1327 testrunner_SOURCES = \
1329 auth-caches.cc auth-caches.hh \
1330 auth-packetcache.cc auth-packetcache.hh \
1331 auth-querycache.cc auth-querycache.hh \
1332 auth-zonecache.cc auth-zonecache.hh \
1337 channel.cc channel.hh \
1338 credentials.cc credentials.hh \
1346 dnsparser.hh dnsparser.cc \
1351 ednscookies.cc ednscookies.hh \
1352 ednsoptions.cc ednsoptions.hh \
1354 gettime.cc gettime.hh \
1355 gss_context.cc gss_context.hh \
1357 ipcipher.cc ipcipher.hh \
1361 lua-auth4.hh lua-auth4.cc \
1362 lua-base4.hh lua-base4.cc \
1366 opensslsigners.cc opensslsigners.hh \
1368 proxy-protocol.cc proxy-protocol.hh \
1371 responsestats-auth.cc \
1372 responsestats.cc responsestats.hh \
1373 shuffle.cc shuffle.hh \
1377 stubresolver.hh stubresolver.cc \
1378 svc-records.cc svc-records.hh \
1379 test-arguments_cc.cc \
1380 test-auth-zonecache_cc.cc \
1383 test-bindparser_cc.cc \
1386 test-communicator_hh.cc \
1387 test-credentials_cc.cc \
1388 test-digests_hh.cc \
1389 test-distributor_hh.cc \
1390 test-dns_random_hh.cc \
1391 test-dnsname_cc.cc \
1392 test-dnsparser_cc.cc \
1393 test-dnsparser_hh.cc \
1394 test-dnsrecordcontent.cc \
1395 test-dnsrecords_cc.cc \
1396 test-dnswriter_cc.cc \
1397 test-ednscookie_cc.cc \
1398 test-ipcrypt_cc.cc \
1399 test-iputils_hh.cc \
1402 test-lua_auth4_cc.cc \
1403 test-luawrapper.cc \
1406 test-nameserver_cc.cc \
1407 test-packetcache_cc.cc \
1408 test-packetcache_hh.cc \
1409 test-proxy_protocol_cc.cc \
1410 test-rcpgenerator_cc.cc \
1413 test-statbag_cc.cc \
1414 test-svc_records_cc.cc \
1415 test-trusted-notification-proxy_cc.cc \
1417 test-ueberbackend_cc.cc \
1418 test-webserver_cc.cc \
1420 test-zoneparser_tng_cc.cc \
1422 threadname.hh threadname.cc \
1423 trusted-notification-proxy.cc \
1424 tsigverifier.cc tsigverifier.hh \
1425 ueberbackend.cc ueberbackend.hh \
1430 zonemd.cc zonemd.hh \
1431 zoneparser-tng.cc zoneparser-tng.hh
1433 testrunner_LDFLAGS = \
1435 $(LIBCRYPTO_LDFLAGS) \
1436 $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS)
1438 testrunner_LDADD = \
1440 $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) \
1449 testrunner_LDADD += $(GSS_LIBS)
1450 speedtest_LDADD += $(GSS_LIBS)
1454 testrunner_SOURCES += pkcs11signers.cc pkcs11signers.hh
1455 testrunner_LDADD += $(P11KIT1_LIBS)
1456 speedtest_SOURCES += pkcs11signers.cc pkcs11signers.hh
1457 speedtest_LDADD += $(P11KIT1_LIBS)
1461 testrunner_SOURCES += sodiumsigners.cc
1462 testrunner_LDADD += $(LIBSODIUM_LIBS)
1463 speedtest_LDADD += $(LIBSODIUM_LIBS)
1467 testrunner_SOURCES += decafsigners.cc
1468 testrunner_LDADD += $(LIBDECAF_LIBS)
1472 ixfrdist_SOURCES += kqueuemplexer.cc
1473 testrunner_SOURCES += kqueuemplexer.cc
1477 ixfrdist_SOURCES += kqueuemplexer.cc
1478 testrunner_SOURCES += kqueuemplexer.cc
1482 ixfrdist_SOURCES += epollmplexer.cc
1483 testrunner_SOURCES += epollmplexer.cc
1487 ixfrdist_SOURCES += \
1490 testrunner_SOURCES += \
1495 pdns_control_SOURCES = \
1507 pdns_control_LDFLAGS = \
1509 $(LIBCRYPTO_LDFLAGS)
1511 noinst_PROGRAMS = speedtest
1514 noinst_PROGRAMS += testrunner
1515 if HAVE_BOOST_GE_148
1516 TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message SRCDIR='$(srcdir)'
1520 @echo "Unit tests disabled, boost is too old"
1525 @echo "Unit tests are not enabled"
1526 @echo "Run ./configure --enable-unit-tests"
1531 LIB_FUZZING_ENGINE ?= standalone_fuzz_target_runner.o
1533 standalone_fuzz_target_runner.o: standalone_fuzz_target_runner.cc
1535 fuzz_targets_programs = \
1536 fuzz_target_dnsdistcache \
1537 fuzz_target_moadnsparser \
1538 fuzz_target_packetcache \
1539 fuzz_target_proxyprotocol \
1540 fuzz_target_dnslabeltext_parseRFC1035CharString \
1541 fuzz_target_yahttp \
1542 fuzz_target_zoneparsertng
1544 fuzz_targets: $(ARC4RANDOM_LIBS) $(fuzz_targets_programs)
1547 $(fuzz_targets_programs)
1549 fuzz_targets_libs = \
1551 $(LIB_FUZZING_ENGINE)
1552 fuzz_targets_ldflags = \
1555 $(LIBCRYPTO_LDFLAGS) \
1558 # we need the mockup runner to be built, but not linked if a real fuzzing engine is used
1559 fuzz_targets_deps = standalone_fuzz_target_runner.o
1561 fuzz_target_moadnsparser_SOURCES = \
1562 base32.cc base32.hh \
1563 base64.cc base64.hh \
1565 dnsname.cc dnsname.hh \
1566 dnsparser.cc dnsparser.hh \
1567 dnsrecords.cc dnsrecords.hh \
1568 dnswriter.cc dnswriter.hh \
1569 fuzz_moadnsparser.cc \
1570 logger.cc logger.hh \
1574 rcpgenerator.cc rcpgenerator.hh \
1576 statbag.cc statbag.hh \
1577 svc-records.cc svc-records.hh \
1581 fuzz_target_moadnsparser_DEPENDENCIES = $(fuzz_targets_deps)
1582 fuzz_target_moadnsparser_LDFLAGS = $(fuzz_targets_ldflags)
1583 fuzz_target_moadnsparser_LDADD = $(fuzz_targets_libs)
1585 fuzz_target_packetcache_SOURCES = \
1587 dnsname.cc dnsname.hh \
1588 ednsoptions.cc ednsoptions.hh \
1589 fuzz_packetcache.cc \
1593 statbag.cc statbag.hh \
1594 svc-records.cc svc-records.hh
1596 fuzz_target_packetcache_DEPENDENCIES = $(fuzz_targets_deps)
1597 fuzz_target_packetcache_LDFLAGS = $(fuzz_targets_ldflags)
1598 fuzz_target_packetcache_LDADD = $(fuzz_targets_libs)
1600 fuzz_target_proxyprotocol_SOURCES = \
1601 fuzz_proxyprotocol.cc \
1606 fuzz_target_proxyprotocol_DEPENDENCIES = $(fuzz_targets_deps)
1607 fuzz_target_proxyprotocol_LDFLAGS = $(fuzz_targets_ldflags)
1608 fuzz_target_proxyprotocol_LDADD = $(fuzz_targets_libs)
1610 fuzz_target_dnsdistcache_SOURCES = \
1611 channel.hh channel.cc \
1613 dnsdist-cache.cc dnsdist-cache.hh \
1614 dnsdist-ecs.cc dnsdist-ecs.hh \
1615 dnsdist-idstate.hh \
1616 dnsdist-protocols.cc dnsdist-protocols.hh \
1618 dnsname.cc dnsname.hh \
1619 dnsparser.cc dnsparser.hh \
1620 dnswriter.cc dnswriter.hh \
1622 ednsoptions.cc ednsoptions.hh \
1623 ednssubnet.cc ednssubnet.hh \
1624 fuzz_dnsdistcache.cc \
1625 iputils.cc iputils.hh \
1629 svc-records.cc svc-records.hh
1631 fuzz_target_dnsdistcache_DEPENDENCIES = $(fuzz_targets_deps)
1632 fuzz_target_dnsdistcache_LDFLAGS = $(fuzz_targets_ldflags)
1633 fuzz_target_dnsdistcache_LDADD = $(fuzz_targets_libs)
1635 fuzz_target_yahttp_SOURCES = \
1638 fuzz_target_yahttp_DEPENDENCIES = $(fuzz_targets_deps)
1639 fuzz_target_yahttp_LDFLAGS = $(fuzz_targets_ldflags)
1640 fuzz_target_yahttp_LDADD = $(fuzz_targets_libs) \
1643 fuzz_target_zoneparsertng_SOURCES = \
1644 base32.cc base32.hh \
1645 base64.cc base64.hh \
1647 dnsname.cc dnsname.hh \
1648 dnsparser.cc dnsparser.hh \
1649 dnsrecords.cc dnsrecords.hh \
1650 dnswriter.cc dnswriter.hh \
1651 fuzz_zoneparsertng.cc \
1652 logger.cc logger.hh \
1656 rcpgenerator.cc rcpgenerator.hh \
1658 statbag.cc statbag.hh \
1659 svc-records.cc svc-records.hh \
1662 zoneparser-tng.cc zoneparser-tng.hh
1664 fuzz_target_zoneparsertng_DEPENDENCIES = $(fuzz_targets_deps)
1665 fuzz_target_zoneparsertng_LDFLAGS = $(fuzz_targets_ldflags)
1666 fuzz_target_zoneparsertng_LDADD = $(fuzz_targets_libs)
1668 fuzz_target_dnslabeltext_parseRFC1035CharString_SOURCES = \
1670 fuzz_dnslabeltext_parseRFC1035CharString.cc
1672 fuzz_target_dnslabeltext_parseRFC1035CharString_DEPENDENCIES = $(fuzz_targets_deps)
1673 fuzz_target_dnslabeltext_parseRFC1035CharString_LDFLAGS = $(fuzz_targets_ldflags)
1674 fuzz_target_dnslabeltext_parseRFC1035CharString_LDADD = $(fuzz_targets_libs)
1678 dnslabeltext.cc: dnslabeltext.rl
1679 $(AM_V_GEN)$(RAGEL) $< -o dnslabeltext.cc
1681 bind-dnssec.schema.sqlite3.sql.h: bind-dnssec.schema.sqlite3.sql
1682 ( echo '#pragma once'; echo 'static char sqlCreate[] __attribute__((unused))=' ; sed 's/$$/"/g' $< | sed 's/^/"/g' ; echo ';' ) > $@
1684 bindlexer.$(OBJEXT): bindparser.hh
1686 pdns_recursor rec_control:
1687 @echo "Please build the recursor from the recursordist/ dir"
1691 @echo "Please build dnsdist from the dnsdistdist/ dir"
1695 pdns.service: pdns.service.in
1696 $(AM_V_GEN)sed -e 's![@]sbindir[@]!$(sbindir)!' -e 's![@]service_user[@]!$(service_user)!' -e 's![@]service_group[@]!$(service_group)!' < $< > $@
1697 if !HAVE_SYSTEMD_WITH_RUNTIME_DIR_ENV
1698 if HAVE_SYSTEMD_PERCENT_T
1699 $(AM_V_GEN)sed -e 's!/pdns_server!& --socket-dir=%t/pdns!' -i $@
1702 if !HAVE_SYSTEMD_LOCK_PERSONALITY
1703 $(AM_V_GEN)perl -ni -e 'print unless /^LockPersonality/' $@
1705 if !HAVE_SYSTEMD_PRIVATE_DEVICES
1706 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateDevices/' $@
1708 if !HAVE_SYSTEMD_PRIVATE_TMP
1709 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateTmp/' $@
1711 if !HAVE_SYSTEMD_PRIVATE_USERS
1712 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateUsers/' $@
1714 if !HAVE_SYSTEMD_PROTECT_CLOCK
1715 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectClock/' $@
1717 if !HAVE_SYSTEMD_PROTECT_CONTROL_GROUPS
1718 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectControlGroups/' $@
1720 if !HAVE_SYSTEMD_PROTECT_HOME
1721 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHome/' $@
1723 if !HAVE_SYSTEMD_PROTECT_HOSTNAME
1724 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHostname/' $@
1726 if !HAVE_SYSTEMD_PROTECT_KERNEL_LOGS
1727 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelLogs/' $@
1729 if !HAVE_SYSTEMD_PROTECT_KERNEL_MODULES
1730 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelModules/' $@
1732 if !HAVE_SYSTEMD_PROTECT_KERNEL_TUNABLES
1733 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelTunables/' $@
1735 if !HAVE_SYSTEMD_PROTECT_SYSTEM
1736 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectSystem/' $@
1738 if !HAVE_SYSTEMD_RESTRICT_ADDRESS_FAMILIES
1739 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictAddressFamilies/' $@
1741 if !HAVE_SYSTEMD_RESTRICT_NAMESPACES
1742 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictNamespaces/' $@
1744 if !HAVE_SYSTEMD_RESTRICT_REALTIME
1745 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictRealtime/' $@
1747 if !HAVE_SYSTEMD_RESTRICT_SUIDSGID
1748 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictSUIDSGID/' $@
1750 if !HAVE_SYSTEMD_SYSTEM_CALL_ARCHITECTURES
1751 $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallArchitectures/' $@
1753 if !HAVE_SYSTEMD_SYSTEM_CALL_FILTER
1754 $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallFilter/' $@
1756 if !HAVE_SYSTEMD_PROTECT_PROC
1757 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectProc/' $@
1759 if !HAVE_SYSTEMD_PRIVATE_IPC
1760 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateIPC/' $@
1762 if !HAVE_SYSTEMD_REMOVE_IPC
1763 $(AM_V_GEN)perl -ni -e 'print unless /^RemoveIPC/' $@
1766 pdns@.service: pdns.service
1767 $(AM_V_GEN)sed -e 's!/pdns_server!& --config-name=%i!' \
1768 -e 's!Authoritative Server!& %i!' \
1769 -e 's!SyslogIdentifier=.*!&-%i!' \
1771 if HAVE_SYSTEMD_PERCENT_T
1772 $(AM_V_GEN)sed -e 's!RuntimeDirectory=.*!&-%i!' -i $@
1773 if !HAVE_SYSTEMD_WITH_RUNTIME_DIR_ENV
1774 $(AM_V_GEN)sed -e 's!--socket-dir=[^ ]\+!&-%i !' -i $@
1778 systemdsystemunitdir = $(SYSTEMD_DIR)
1780 systemdsystemunit_DATA = \
1789 ixfrdist.service: ixfrdist.service.in
1790 $(AM_V_GEN)sed -e 's![@]bindir[@]!$(bindir)!' < $< > $@
1791 if !HAVE_SYSTEMD_LOCK_PERSONALITY
1792 $(AM_V_GEN)perl -ni -e 'print unless /^LockPersonality/' $@
1794 if !HAVE_SYSTEMD_PRIVATE_DEVICES
1795 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateDevices/' $@
1797 if !HAVE_SYSTEMD_PRIVATE_TMP
1798 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateTmp/' $@
1800 if !HAVE_SYSTEMD_PRIVATE_USERS
1801 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateUsers/' $@
1803 if !HAVE_SYSTEMD_PROTECT_CLOCK
1804 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectClock/' $@
1806 if !HAVE_SYSTEMD_PROTECT_CONTROL_GROUPS
1807 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectControlGroups/' $@
1809 if !HAVE_SYSTEMD_PROTECT_HOME
1810 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHome/' $@
1812 if !HAVE_SYSTEMD_PROTECT_HOSTNAME
1813 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHostname/' $@
1815 if !HAVE_SYSTEMD_PROTECT_KERNEL_LOGS
1816 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelLogs/' $@
1818 if !HAVE_SYSTEMD_PROTECT_KERNEL_MODULES
1819 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelModules/' $@
1821 if !HAVE_SYSTEMD_PROTECT_KERNEL_TUNABLES
1822 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelTunables/' $@
1824 if !HAVE_SYSTEMD_PROTECT_SYSTEM
1825 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectSystem/' $@
1827 if !HAVE_SYSTEMD_RESTRICT_ADDRESS_FAMILIES
1828 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictAddressFamilies/' $@
1830 if !HAVE_SYSTEMD_RESTRICT_NAMESPACES
1831 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictNamespaces/' $@
1833 if !HAVE_SYSTEMD_RESTRICT_REALTIME
1834 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictRealtime/' $@
1836 if !HAVE_SYSTEMD_RESTRICT_SUIDSGID
1837 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictSUIDSGID/' $@
1839 if !HAVE_SYSTEMD_SYSTEM_CALL_ARCHITECTURES
1840 $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallArchitectures/' $@
1842 if !HAVE_SYSTEMD_SYSTEM_CALL_FILTER
1843 $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallFilter/' $@
1845 if !HAVE_SYSTEMD_PROTECT_PROC
1846 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectProc/' $@
1848 if !HAVE_SYSTEMD_MEMORY_DENY_WRITE_EXECUTE
1849 $(AM_V_GEN)perl -ni -e 'print unless /^MemoryDenyWriteExecute/' $@
1851 if !HAVE_SYSTEMD_PRIVATE_IPC
1852 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateIPC/' $@
1854 if !HAVE_SYSTEMD_REMOVE_IPC
1855 $(AM_V_GEN)perl -ni -e 'print unless /^RemoveIPC/' $@
1858 ixfrdist@.service: ixfrdist.service
1859 $(AM_V_GEN)sed -e 's!/ixfrdist!& --config $(sysconfdir)/ixfrdist-%i.yml!' \
1862 systemdsystemunit_DATA += \
1871 endif # HAVE_SYSTEMD