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 \
66 standalone_fuzz_target_runner.cc \
71 convert-yaml-to-json.py
74 bind-dnssec.schema.sqlite3.sql.h \
83 backends/gsql/gsqlbackend.gcda \
84 backends/gsql/gsqlbackend.gcno \
85 backends/gsql/gsqlbackend.gcov \
89 if !HAVE_API_SWAGGER_JSON
90 # don't clean these files if they were present
91 # at 'configure' time (e.g. from a source dist)
97 # use a $(wildcard) wrapper here to allow build to proceed if output
98 # file is present but input file is not (e.g. in a dist tarball)
99 api-swagger.yaml: $(wildcard ../docs/http-api/swagger/authoritative-api-swagger.yaml)
103 api-swagger.json: api-swagger.yaml requirements.txt
104 $(PYTHON) -m venv .venv
105 .venv/bin/pip install -U pip setuptools setuptools-git wheel
106 .venv/bin/pip install -r requirements.txt
107 .venv/bin/python convert-yaml-to-json.py $< $@
109 if !HAVE_API_SWAGGER_JSON
111 echo "You need Python 3 and the 'venv' module to generate the JSON API document"
116 apidocfiles.h: api-swagger.yaml api-swagger.json
119 sysconf_DATA = pdns.conf-dist
121 sbin_PROGRAMS = pdns_server
146 bin_PROGRAMS += calidns
192 pdns_server_SOURCES = \
193 arguments.cc arguments.hh \
194 auth-caches.cc auth-caches.hh \
196 auth-catalogzone.cc auth-catalogzone.hh \
197 auth-main.cc auth-main.hh \
198 auth-packetcache.cc auth-packetcache.hh \
199 auth-querycache.cc auth-querycache.hh \
200 auth-zonecache.cc auth-zonecache.hh \
201 axfr-retriever.cc axfr-retriever.hh \
202 backends/gsql/gsqlbackend.cc backends/gsql/gsqlbackend.hh \
203 backends/gsql/ssql.hh \
204 base32.cc base32.hh \
205 base64.cc base64.hh \
206 bind-dnssec.schema.sqlite3.sql.h \
213 communicator.cc communicator.hh \
214 credentials.cc credentials.hh \
220 dnsbackend.cc dnsbackend.hh \
222 dnsname.cc dnsname.hh \
223 dnspacket.cc dnspacket.hh \
225 dnsproxy.cc dnsproxy.hh \
226 dnsrecords.cc dnsrecords.hh \
227 dnssecinfra.cc dnssecinfra.hh \
231 dynhandler.cc dynhandler.hh \
232 dynlistener.cc dynlistener.hh \
234 ednscookies.cc ednscookies.hh \
235 ednsoptions.cc ednsoptions.hh \
236 ednssubnet.cc ednssubnet.hh \
237 gettime.cc gettime.hh \
238 gss_context.cc gss_context.hh \
240 iputils.cc iputils.hh \
244 logger.cc logger.hh \
246 lua-auth4.cc lua-auth4.hh \
247 lua-base4.cc lua-base4.hh \
248 mastercommunicator.cc \
250 nameserver.cc nameserver.hh \
254 opensslsigners.cc opensslsigners.hh \
256 packethandler.cc packethandler.hh \
258 proxy-protocol.cc proxy-protocol.hh \
260 query-local-address.hh query-local-address.cc \
262 resolver.cc resolver.hh \
263 responsestats.cc responsestats.hh responsestats-auth.cc \
265 secpoll-auth.cc secpoll-auth.hh \
266 secpoll.cc secpoll.hh \
269 shuffle.cc shuffle.hh \
270 signingpipe.cc signingpipe.hh \
272 slavecommunicator.cc \
274 statbag.cc statbag.hh \
275 stubresolver.cc stubresolver.hh \
276 svc-records.cc svc-records.hh \
277 tcpreceiver.cc tcpreceiver.hh \
278 threadname.hh threadname.cc \
280 trusted-notification-proxy.hh trusted-notification-proxy.cc \
281 tsigutils.hh tsigutils.cc \
282 tsigverifier.cc tsigverifier.hh \
283 ueberbackend.cc ueberbackend.hh \
287 uuid-utils.hh uuid-utils.cc \
288 version.cc version.hh \
289 webserver.cc webserver.hh \
290 ws-api.cc ws-api.hh \
291 ws-auth.cc ws-auth.hh \
294 pdns_server_LDFLAGS = \
299 EXTRA_pdns_server_DEPENDENCIES = @moduleobjects@
300 pdns_server_LDADD = \
310 pdns_server_SOURCES += lua-record.cc minicurl.cc minicurl.hh
311 pdns_server_LDADD += $(LIBCURL)
315 pdns_server_SOURCES += sodiumsigners.cc
316 pdns_server_LDADD += $(LIBSODIUM_LIBS)
320 pdns_server_SOURCES += decafsigners.cc
321 pdns_server_LDADD += $(LIBDECAF_LIBS)
325 pdns_server_SOURCES += ssqlite3.cc ssqlite3.hh
326 pdns_server_LDADD += $(SQLITE3_LIBS)
330 pdns_server_SOURCES += pkcs11signers.cc pkcs11signers.hh
331 pdns_server_LDADD += $(P11KIT1_LIBS)
335 pdns_server_LDADD += $(LUA_LIBS)
339 pdns_server_LDADD += $(GSS_LIBS)
344 auth-caches.cc auth-caches.hh \
345 auth-catalogzone.cc auth-catalogzone.hh \
346 auth-packetcache.cc auth-packetcache.hh \
347 auth-querycache.cc auth-querycache.hh \
348 auth-zonecache.cc auth-zonecache.hh \
349 backends/gsql/gsqlbackend.cc backends/gsql/gsqlbackend.hh \
350 backends/gsql/ssql.hh \
352 base64.cc base64.hh \
357 credentials.cc credentials.hh \
362 dnsname.cc dnsname.hh \
364 dnsparser.cc dnsparser.hh \
366 dnssecinfra.cc dnssecinfra.hh \
368 dnswriter.cc dnswriter.hh \
370 ednscookies.cc ednscookies.hh \
371 ednsoptions.cc ednsoptions.hh \
373 gettime.cc gettime.hh \
374 gss_context.cc gss_context.hh \
375 ipcipher.cc ipcipher.hh \
376 iputils.cc iputils.hh \
379 lua-auth4.cc lua-auth4.hh \
380 lua-base4.cc lua-base4.hh \
383 opensslsigners.cc opensslsigners.hh \
386 rcpgenerator.cc rcpgenerator.hh \
388 shuffle.cc shuffle.hh \
393 stubresolver.cc stubresolver.hh \
394 svc-records.cc svc-records.hh \
395 threadname.hh threadname.cc \
396 tsigutils.hh tsigutils.cc \
399 uuid-utils.hh uuid-utils.cc \
401 zonemd.hh zonemd.cc \
407 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
410 EXTRA_pdnsutil_DEPENDENCIES = @moduleobjects@
417 $(BOOST_PROGRAM_OPTIONS_LIBS) \
422 pdnsutil_SOURCES += sodiumsigners.cc
423 pdnsutil_LDADD += $(LIBSODIUM_LIBS)
427 pdnsutil_SOURCES += decafsigners.cc
428 pdnsutil_LDADD += $(LIBDECAF_LIBS)
432 pdnsutil_SOURCES += ssqlite3.cc ssqlite3.hh
433 pdnsutil_LDADD += $(SQLITE3_LIBS)
437 pdnsutil_SOURCES += pkcs11signers.cc pkcs11signers.hh
438 pdnsutil_LDADD += $(P11KIT1_LIBS)
442 pdnsutil_LDADD += $(LUA_LIBS)
446 pdnsutil_LDADD += $(GSS_LIBS)
453 bind-dnssec.schema.sqlite3.sql.h \
456 bindparserclasses.hh \
459 dnsname.cc dnsname.hh \
471 svc-records.cc svc-records.hh \
476 zone2sql_LDADD = $(LIBCRYPTO_LIBS) $(JSON11_LIBS)
477 zone2sql_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
479 zone2json_SOURCES = \
483 bind-dnssec.schema.sqlite3.sql.h \
486 bindparserclasses.hh \
488 dnsname.cc dnsname.hh \
499 svc-records.cc svc-records.hh \
504 zone2json_LDADD = $(LIBCRYPTO_LIBS) $(JSON11_LIBS)
505 zone2json_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
507 # pkglib_LTLIBRARIES = iputils.la
508 # iputils_la_SOURCES = lua-iputils.cc
509 # iputils_la_LDFLAGS= -module -avoid-version
512 bin_PROGRAMS += zone2ldap
515 zone2ldap_SOURCES = \
519 bind-dnssec.schema.sqlite3.sql.h \
522 bindparserclasses.hh \
524 dnsname.cc dnsname.hh \
535 svc-records.cc svc-records.hh \
540 zone2ldap_LDADD = $(LIBCRYPTO_LIBS)
541 zone2ldap_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
544 zone2ldap_LDADD += $(GSS_LIBS)
549 base64.cc base64.hh \
552 dnsname.cc dnsname.hh \
553 dnsparser.cc dnsparser.hh \
555 dnswriter.cc dnswriter.hh \
557 ednssubnet.cc iputils.cc \
558 libssl.cc libssl.hh \
562 proxy-protocol.cc proxy-protocol.hh \
564 rcpgenerator.cc rcpgenerator.hh \
569 svc-records.cc svc-records.hh \
570 tcpiohandler.cc tcpiohandler.hh \
573 sdig_CPPFLAGS = $(AM_CPPFLAGS)
574 sdig_LDADD = $(LIBCRYPTO_LIBS)
575 sdig_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
578 sdig_SOURCES += minicurl.cc minicurl.hh
579 sdig_LDADD += $(LIBCURL)
585 sdig_CPPFLAGS += $(GNUTLS_CFLAGS)
586 sdig_LDADD += -lgnutls
590 sdig_CPPFLAGS += $(LIBSSL_CFLAGS)
591 sdig_LDADD += $(LIBSSL_LIBS)
595 sdig_CPPFLAGS +=$(LIBSODIUM_CFLAGS)
596 sdig_LDADD += $(LIBSODIUM_LIBS)
603 base64.cc base64.hh \
607 dnsname.cc dnsname.hh \
608 dnsparser.cc dnsparser.hh \
610 dnswriter.cc dnswriter.hh \
611 ednsoptions.cc ednsoptions.hh \
612 ednssubnet.cc ednssubnet.hh \
618 rcpgenerator.cc rcpgenerator.hh \
622 svc-records.cc svc-records.hh \
625 calidns_LDADD = $(LIBCRYPTO_LIBS) \
626 $(BOOST_PROGRAM_OPTIONS_LIBS)
627 calidns_LDFLAGS = $(AM_LDFLAGS) $(THREADFLAGS) $(LIBCRYPTO_LDFLAGS) \
628 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
632 dnsname.cc dnsname.hh \
634 iputils.cc iputils.hh \
641 dumresp_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
644 dnslabeltext.cc dnsname.cc dnsname.hh \
652 stubquery_SOURCES = \
653 arguments.cc arguments.hh \
670 stubresolver.cc stubresolver.hh \
671 svc-records.cc svc-records.hh \
674 stubquery_LDADD = $(LIBCRYPTO_LIBS)
675 stubquery_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
679 base64.cc base64.hh \
682 dnsname.cc dnsname.hh \
683 dnsparser.cc dnsparser.hh \
686 dnswriter.cc dnswriter.hh \
687 gss_context.cc gss_context.hh \
693 rcpgenerator.cc rcpgenerator.hh \
698 svc-records.cc svc-records.hh \
701 saxfr_LDADD = $(LIBCRYPTO_LIBS)
702 saxfr_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
705 saxfr_SOURCES += pkcs11signers.cc pkcs11signers.hh
706 saxfr_LDADD += $(P11KIT1_LIBS)
710 saxfr_LDADD += $(GSS_LIBS)
717 base64.cc base64.hh \
718 credentials.cc credentials.hh \
722 dnsname.cc dnsname.hh \
723 dnsparser.cc dnsparser.hh \
726 dnswriter.cc dnswriter.hh \
727 gss_context.cc gss_context.hh \
728 iputils.hh iputils.cc \
730 ixfrdist-stats.hh ixfrdist-stats.cc \
731 ixfrdist-web.hh ixfrdist-web.cc \
733 ixfrutils.cc ixfrutils.hh \
740 query-local-address.hh query-local-address.cc \
741 rcpgenerator.cc rcpgenerator.hh \
746 svc-records.cc svc-records.hh \
747 threadname.hh threadname.cc \
748 tsigverifier.cc tsigverifier.hh \
750 uuid-utils.hh uuid-utils.cc \
751 webserver.hh webserver.cc \
755 $(BOOST_PROGRAM_OPTIONS_LIBS) \
763 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
767 ixfrdist_LDADD += $(LIBSODIUM_LIBS)
771 ixfrdist_SOURCES += pkcs11signers.cc pkcs11signers.hh
772 ixfrdist_LDADD += $(P11KIT1_LIBS)
776 ixfrdist_LDADD += $(GSS_LIBS)
784 base64.cc base64.hh \
788 dnsname.cc dnsname.hh \
789 dnsparser.cc dnsparser.hh \
792 dnswriter.cc dnswriter.hh \
793 gss_context.cc gss_context.hh \
796 ixfrutils.cc ixfrutils.hh \
802 query-local-address.hh query-local-address.cc \
803 rcpgenerator.cc rcpgenerator.hh \
808 svc-records.cc svc-records.hh \
809 tsigverifier.cc tsigverifier.hh \
810 unix_utility.cc zoneparser-tng.cc
812 ixplore_LDADD = $(LIBCRYPTO_LIBS)
813 ixplore_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
815 ixplore_LDADD += $(GSS_LIBS)
819 ixplore_SOURCES += pkcs11signers.cc pkcs11signers.hh
820 ixplore_LDADD += $(P11KIT1_LIBS)
823 dnstcpbench_SOURCES = \
825 base64.cc base64.hh \
827 dnsname.cc dnsname.hh \
828 dnsparser.cc dnsparser.hh \
831 dnswriter.cc dnswriter.hh \
837 rcpgenerator.cc rcpgenerator.hh \
841 svc-records.cc svc-records.hh \
842 threadname.hh threadname.cc \
845 dnstcpbench_LDFLAGS = \
847 $(LIBCRYPTO_LDFLAGS) \
848 $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
850 dnstcpbench_LDADD = \
852 $(BOOST_PROGRAM_OPTIONS_LIBS)
856 base64.cc base64.hh \
858 dnsname.cc dnsname.hh \
859 dnsparser.cc dnsparser.hh \
862 dnswriter.cc dnswriter.hh \
863 gss_context.cc gss_context.hh \
870 rcpgenerator.cc rcpgenerator.hh \
874 svc-records.cc svc-records.hh \
878 nsec3dig_LDADD = $(LIBCRYPTO_LIBS)
879 nsec3dig_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
882 nsec3dig_LDADD += $(GSS_LIBS)
886 nsec3dig_SOURCES += pkcs11signers.cc pkcs11signers.hh
887 nsec3dig_LDADD += $(P11KIT1_LIBS)
890 tsig_tests_SOURCES = \
894 base64.cc base64.hh \
899 dnsname.cc dnsname.hh \
900 dnsparser.cc dnsparser.hh \
903 dnswriter.cc dnswriter.hh \
904 gss_context.cc gss_context.hh \
910 query-local-address.cc \
911 rcpgenerator.cc rcpgenerator.hh \
916 svc-records.cc svc-records.hh \
918 tsigverifier.cc tsigverifier.hh \
921 tsig_tests_LDADD = $(LIBCRYPTO_LIBS)
922 tsig_tests_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
925 tsig_tests_SOURCES += pkcs11signers.cc pkcs11signers.hh
926 tsig_tests_LDADD += $(P11KIT1_LIBS)
929 speedtest_SOURCES = \
930 arguments.cc arguments.hh \
932 base64.cc base64.hh \
933 credentials.cc credentials.hh \
936 dnsname.cc dnsname.hh \
937 dnsparser.cc dnsparser.hh \
939 dnssecinfra.cc dnssecinfra.hh \
940 dnswriter.cc dnswriter.hh \
941 gss_context.cc gss_context.hh \
947 rcpgenerator.cc rcpgenerator.hh \
951 svc-records.cc svc-records.hh \
955 speedtest_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
956 speedtest_LDADD = $(LIBCRYPTO_LIBS) \
959 dnswasher_SOURCES = \
962 dnsname.hh dnsname.cc \
964 dnspcap.cc dnspcap.hh \
967 ipcipher.cc ipcipher.hh \
974 dnswasher_LDFLAGS = $(AM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(LIBCRYPTO_LDFLAGS)
975 dnswasher_LDADD = $(BOOST_PROGRAM_OPTIONS_LIBS) $(LIBCRYPTO_LIBS) $(IPCRYPT_LIBS)
977 dnsbulktest_SOURCES = \
978 arguments.cc arguments.hh \
984 dnsname.cc dnsname.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 \
1419 test-zoneparser_tng_cc.cc \
1421 threadname.hh threadname.cc \
1422 trusted-notification-proxy.cc \
1423 tsigverifier.cc tsigverifier.hh \
1424 ueberbackend.cc ueberbackend.hh \
1427 zonemd.cc zonemd.hh \
1428 zoneparser-tng.cc zoneparser-tng.hh
1430 testrunner_LDFLAGS = \
1432 $(LIBCRYPTO_LDFLAGS) \
1433 $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS)
1435 testrunner_LDADD = \
1437 $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) \
1444 testrunner_LDADD += $(GSS_LIBS)
1445 speedtest_LDADD += $(GSS_LIBS)
1449 testrunner_SOURCES += pkcs11signers.cc pkcs11signers.hh
1450 testrunner_LDADD += $(P11KIT1_LIBS)
1451 speedtest_SOURCES += pkcs11signers.cc pkcs11signers.hh
1452 speedtest_LDADD += $(P11KIT1_LIBS)
1456 testrunner_SOURCES += sodiumsigners.cc
1457 testrunner_LDADD += $(LIBSODIUM_LIBS)
1458 speedtest_LDADD += $(LIBSODIUM_LIBS)
1462 testrunner_SOURCES += decafsigners.cc
1463 testrunner_LDADD += $(LIBDECAF_LIBS)
1467 ixfrdist_SOURCES += kqueuemplexer.cc
1468 testrunner_SOURCES += kqueuemplexer.cc
1472 ixfrdist_SOURCES += kqueuemplexer.cc
1473 testrunner_SOURCES += kqueuemplexer.cc
1477 ixfrdist_SOURCES += epollmplexer.cc
1478 testrunner_SOURCES += epollmplexer.cc
1482 ixfrdist_SOURCES += \
1485 testrunner_SOURCES += \
1490 pdns_control_SOURCES = \
1502 pdns_control_LDFLAGS = \
1504 $(LIBCRYPTO_LDFLAGS)
1506 noinst_PROGRAMS = speedtest
1509 noinst_PROGRAMS += testrunner
1510 if HAVE_BOOST_GE_148
1511 TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message SRCDIR='$(srcdir)'
1515 @echo "Unit tests disabled, boost is too old"
1520 @echo "Unit tests are not enabled"
1521 @echo "Run ./configure --enable-unit-tests"
1526 LIB_FUZZING_ENGINE ?= standalone_fuzz_target_runner.o
1528 standalone_fuzz_target_runner.o: standalone_fuzz_target_runner.cc
1530 fuzz_targets_programs = \
1531 fuzz_target_moadnsparser \
1532 fuzz_target_packetcache \
1533 fuzz_target_proxyprotocol \
1534 fuzz_target_dnslabeltext_parseRFC1035CharString \
1535 fuzz_target_yahttp \
1536 fuzz_target_zoneparsertng
1538 fuzz_targets: $(ARC4RANDOM_LIBS) $(fuzz_targets_programs)
1541 $(fuzz_targets_programs)
1543 fuzz_targets_libs = \
1545 $(LIB_FUZZING_ENGINE)
1546 fuzz_targets_ldflags = \
1549 $(LIBCRYPTO_LDFLAGS) \
1552 # we need the mockup runner to be built, but not linked if a real fuzzing engine is used
1553 fuzz_targets_deps = standalone_fuzz_target_runner.o
1555 fuzz_target_moadnsparser_SOURCES = \
1556 base32.cc base32.hh \
1557 base64.cc base64.hh \
1559 dnsname.cc dnsname.hh \
1560 dnsparser.cc dnsparser.hh \
1561 dnsrecords.cc dnsrecords.hh \
1562 dnswriter.cc dnswriter.hh \
1563 fuzz_moadnsparser.cc \
1564 logger.cc logger.hh \
1568 rcpgenerator.cc rcpgenerator.hh \
1570 statbag.cc statbag.hh \
1571 svc-records.cc svc-records.hh \
1575 fuzz_target_moadnsparser_DEPENDENCIES = $(fuzz_targets_deps)
1576 fuzz_target_moadnsparser_LDFLAGS = $(fuzz_targets_ldflags)
1577 fuzz_target_moadnsparser_LDADD = $(fuzz_targets_libs)
1579 fuzz_target_packetcache_SOURCES = \
1581 dnsname.cc dnsname.hh \
1582 ednsoptions.cc ednsoptions.hh \
1583 fuzz_packetcache.cc \
1587 statbag.cc statbag.hh \
1588 svc-records.cc svc-records.hh
1590 fuzz_target_packetcache_DEPENDENCIES = $(fuzz_targets_deps)
1591 fuzz_target_packetcache_LDFLAGS = $(fuzz_targets_ldflags)
1592 fuzz_target_packetcache_LDADD = $(fuzz_targets_libs)
1594 fuzz_target_proxyprotocol_SOURCES = \
1595 fuzz_proxyprotocol.cc \
1600 fuzz_target_proxyprotocol_DEPENDENCIES = $(fuzz_targets_deps)
1601 fuzz_target_proxyprotocol_LDFLAGS = $(fuzz_targets_ldflags)
1602 fuzz_target_proxyprotocol_LDADD = $(fuzz_targets_libs)
1604 fuzz_target_yahttp_SOURCES = \
1607 fuzz_target_yahttp_DEPENDENCIES = $(fuzz_targets_deps)
1608 fuzz_target_yahttp_LDFLAGS = $(fuzz_targets_ldflags)
1609 fuzz_target_yahttp_LDADD = $(fuzz_targets_libs) \
1612 fuzz_target_zoneparsertng_SOURCES = \
1613 base32.cc base32.hh \
1614 base64.cc base64.hh \
1616 dnsname.cc dnsname.hh \
1617 dnsparser.cc dnsparser.hh \
1618 dnsrecords.cc dnsrecords.hh \
1619 dnswriter.cc dnswriter.hh \
1620 fuzz_zoneparsertng.cc \
1621 logger.cc logger.hh \
1625 rcpgenerator.cc rcpgenerator.hh \
1627 statbag.cc statbag.hh \
1628 svc-records.cc svc-records.hh \
1631 zoneparser-tng.cc zoneparser-tng.hh
1633 fuzz_target_zoneparsertng_DEPENDENCIES = $(fuzz_targets_deps)
1634 fuzz_target_zoneparsertng_LDFLAGS = $(fuzz_targets_ldflags)
1635 fuzz_target_zoneparsertng_LDADD = $(fuzz_targets_libs)
1637 fuzz_target_dnslabeltext_parseRFC1035CharString_SOURCES = \
1639 fuzz_dnslabeltext_parseRFC1035CharString.cc
1641 fuzz_target_dnslabeltext_parseRFC1035CharString_DEPENDENCIES = $(fuzz_targets_deps)
1642 fuzz_target_dnslabeltext_parseRFC1035CharString_LDFLAGS = $(fuzz_targets_ldflags)
1643 fuzz_target_dnslabeltext_parseRFC1035CharString_LDADD = $(fuzz_targets_libs)
1647 dnslabeltext.cc: dnslabeltext.rl
1648 $(AM_V_GEN)$(RAGEL) $< -o dnslabeltext.cc
1650 bind-dnssec.schema.sqlite3.sql.h: bind-dnssec.schema.sqlite3.sql
1651 ( echo '#pragma once'; echo 'static char sqlCreate[] __attribute__((unused))=' ; sed 's/$$/"/g' $< | sed 's/^/"/g' ; echo ';' ) > $@
1653 # for bindparser.h/hh
1657 bindlexer.$(OBJEXT): bindparser.h
1659 pdns_recursor rec_control:
1660 @echo "Please build the recursor from the recursordist/ dir"
1664 @echo "Please build dnsdist from the dnsdistdist/ dir"
1668 pdns.service: pdns.service.in
1669 $(AM_V_GEN)sed -e 's![@]sbindir[@]!$(sbindir)!' -e 's![@]service_user[@]!$(service_user)!' -e 's![@]service_group[@]!$(service_group)!' < $< > $@
1670 if !HAVE_SYSTEMD_WITH_RUNTIME_DIR_ENV
1671 if HAVE_SYSTEMD_PERCENT_T
1672 $(AM_V_GEN)sed -e 's!/pdns_server!& --socket-dir=%t/pdns!' -i $@
1675 if !HAVE_SYSTEMD_LOCK_PERSONALITY
1676 $(AM_V_GEN)perl -ni -e 'print unless /^LockPersonality/' $@
1678 if !HAVE_SYSTEMD_PRIVATE_DEVICES
1679 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateDevices/' $@
1681 if !HAVE_SYSTEMD_PRIVATE_TMP
1682 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateTmp/' $@
1684 if !HAVE_SYSTEMD_PRIVATE_USERS
1685 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateUsers/' $@
1687 if !HAVE_SYSTEMD_PROTECT_CLOCK
1688 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectClock/' $@
1690 if !HAVE_SYSTEMD_PROTECT_CONTROL_GROUPS
1691 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectControlGroups/' $@
1693 if !HAVE_SYSTEMD_PROTECT_HOME
1694 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHome/' $@
1696 if !HAVE_SYSTEMD_PROTECT_HOSTNAME
1697 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHostname/' $@
1699 if !HAVE_SYSTEMD_PROTECT_KERNEL_LOGS
1700 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelLogs/' $@
1702 if !HAVE_SYSTEMD_PROTECT_KERNEL_MODULES
1703 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelModules/' $@
1705 if !HAVE_SYSTEMD_PROTECT_KERNEL_TUNABLES
1706 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelTunables/' $@
1708 if !HAVE_SYSTEMD_PROTECT_SYSTEM
1709 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectSystem/' $@
1711 if !HAVE_SYSTEMD_RESTRICT_ADDRESS_FAMILIES
1712 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictAddressFamilies/' $@
1714 if !HAVE_SYSTEMD_RESTRICT_NAMESPACES
1715 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictNamespaces/' $@
1717 if !HAVE_SYSTEMD_RESTRICT_REALTIME
1718 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictRealtime/' $@
1720 if !HAVE_SYSTEMD_RESTRICT_SUIDSGID
1721 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictSUIDSGID/' $@
1723 if !HAVE_SYSTEMD_SYSTEM_CALL_ARCHITECTURES
1724 $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallArchitectures/' $@
1726 if !HAVE_SYSTEMD_SYSTEM_CALL_FILTER
1727 $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallFilter/' $@
1729 if !HAVE_SYSTEMD_PROTECT_PROC
1730 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectProc/' $@
1732 if !HAVE_SYSTEMD_PRIVATE_IPC
1733 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateIPC/' $@
1735 if !HAVE_SYSTEMD_REMOVE_IPC
1736 $(AM_V_GEN)perl -ni -e 'print unless /^RemoveIPC/' $@
1739 pdns@.service: pdns.service
1740 $(AM_V_GEN)sed -e 's!/pdns_server!& --config-name=%i!' \
1741 -e 's!Authoritative Server!& %i!' \
1742 -e 's!SyslogIdentifier=.*!&-%i!' \
1744 if HAVE_SYSTEMD_PERCENT_T
1745 $(AM_V_GEN)sed -e 's!RuntimeDirectory=.*!&-%i!' -i $@
1746 if !HAVE_SYSTEMD_WITH_RUNTIME_DIR_ENV
1747 $(AM_V_GEN)sed -e 's!--socket-dir=[^ ]\+!&-%i !' -i $@
1751 systemdsystemunitdir = $(SYSTEMD_DIR)
1753 systemdsystemunit_DATA = \
1762 ixfrdist.service: ixfrdist.service.in
1763 $(AM_V_GEN)sed -e 's![@]bindir[@]!$(bindir)!' < $< > $@
1764 if !HAVE_SYSTEMD_LOCK_PERSONALITY
1765 $(AM_V_GEN)perl -ni -e 'print unless /^LockPersonality/' $@
1767 if !HAVE_SYSTEMD_PRIVATE_DEVICES
1768 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateDevices/' $@
1770 if !HAVE_SYSTEMD_PRIVATE_TMP
1771 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateTmp/' $@
1773 if !HAVE_SYSTEMD_PRIVATE_USERS
1774 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateUsers/' $@
1776 if !HAVE_SYSTEMD_PROTECT_CLOCK
1777 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectClock/' $@
1779 if !HAVE_SYSTEMD_PROTECT_CONTROL_GROUPS
1780 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectControlGroups/' $@
1782 if !HAVE_SYSTEMD_PROTECT_HOME
1783 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHome/' $@
1785 if !HAVE_SYSTEMD_PROTECT_HOSTNAME
1786 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHostname/' $@
1788 if !HAVE_SYSTEMD_PROTECT_KERNEL_LOGS
1789 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelLogs/' $@
1791 if !HAVE_SYSTEMD_PROTECT_KERNEL_MODULES
1792 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelModules/' $@
1794 if !HAVE_SYSTEMD_PROTECT_KERNEL_TUNABLES
1795 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelTunables/' $@
1797 if !HAVE_SYSTEMD_PROTECT_SYSTEM
1798 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectSystem/' $@
1800 if !HAVE_SYSTEMD_RESTRICT_ADDRESS_FAMILIES
1801 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictAddressFamilies/' $@
1803 if !HAVE_SYSTEMD_RESTRICT_NAMESPACES
1804 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictNamespaces/' $@
1806 if !HAVE_SYSTEMD_RESTRICT_REALTIME
1807 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictRealtime/' $@
1809 if !HAVE_SYSTEMD_RESTRICT_SUIDSGID
1810 $(AM_V_GEN)perl -ni -e 'print unless /^RestrictSUIDSGID/' $@
1812 if !HAVE_SYSTEMD_SYSTEM_CALL_ARCHITECTURES
1813 $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallArchitectures/' $@
1815 if !HAVE_SYSTEMD_SYSTEM_CALL_FILTER
1816 $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallFilter/' $@
1818 if !HAVE_SYSTEMD_PROTECT_PROC
1819 $(AM_V_GEN)perl -ni -e 'print unless /^ProtectProc/' $@
1821 if !HAVE_SYSTEMD_MEMORY_DENY_WRITE_EXECUTE
1822 $(AM_V_GEN)perl -ni -e 'print unless /^MemoryDenyWriteExecute/' $@
1824 if !HAVE_SYSTEMD_PRIVATE_IPC
1825 $(AM_V_GEN)perl -ni -e 'print unless /^PrivateIPC/' $@
1827 if !HAVE_SYSTEMD_REMOVE_IPC
1828 $(AM_V_GEN)perl -ni -e 'print unless /^RemoveIPC/' $@
1831 ixfrdist@.service: ixfrdist.service
1832 $(AM_V_GEN)sed -e 's!/ixfrdist!& --config $(sysconfdir)/ixfrdist-%i.yml!' \
1835 systemdsystemunit_DATA += \
1844 endif # HAVE_SYSTEMD