├── README ├── docs ├── WIP │ └── .gitkeep ├── markdown │ └── theme │ │ ├── img │ │ └── favicon.ico │ │ ├── fonts │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ │ └── content.html └── .gitignore ├── modules ├── bindbackend │ ├── OBJECTLIBS │ └── OBJECTFILES ├── geobackend │ ├── OBJECTLIBS │ ├── OBJECTFILES │ └── Makefile.am ├── goraclebackend │ ├── OBJECTLIBS │ └── OBJECTFILES ├── oraclebackend │ ├── ChangeLog │ ├── INSTALL │ ├── OBJECTLIBS │ ├── OBJECTFILES │ └── TODO ├── pipebackend │ ├── OBJECTLIBS │ ├── .gitignore │ ├── OBJECTFILES │ └── Makefile.am ├── randombackend │ ├── OBJECTLIBS │ ├── OBJECTFILES │ └── Makefile.am ├── .gitignore ├── ldapbackend │ ├── OBJECTLIBS │ ├── OBJECTFILES │ └── Makefile.am ├── lmdbbackend │ ├── OBJECTLIBS │ ├── OBJECTFILES │ └── Makefile.am ├── luabackend │ ├── OBJECTLIBS │ ├── test │ │ ├── .gitignore │ │ ├── one │ │ ├── pdns.conf │ │ ├── dnsperf │ │ ├── pdnssec │ │ ├── pdns_control │ │ └── pdns │ ├── OBJECTFILES │ └── lua_functions.hh ├── geoipbackend │ ├── OBJECTFILES │ ├── OBJECTLIBS │ └── regression-tests │ │ ├── basic-a-dnssec │ │ ├── skip.nodnssec │ │ ├── description │ │ └── command │ │ ├── 00dnssec-grabkeys │ │ ├── expected_result │ │ └── description │ │ ├── .gitignore │ │ ├── basic-a-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result │ │ ├── static-any-resolution │ │ ├── command │ │ └── description │ │ └── region-a-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result ├── gmysqlbackend │ ├── OBJECTLIBS │ └── OBJECTFILES ├── mydnsbackend │ ├── OBJECTFILES │ └── OBJECTLIBS ├── opendbxbackend │ ├── OBJECTLIBS │ ├── OBJECTFILES │ ├── README │ └── Makefile.am ├── remotebackend │ ├── OBJECTLIBS │ ├── regression-tests │ │ ├── apex-test │ │ │ ├── skip-unboundhost │ │ │ ├── command │ │ │ └── description │ │ ├── basic-a-dnssec │ │ │ ├── skip.nodnssec │ │ │ ├── description │ │ │ ├── command │ │ │ └── expected_result │ │ ├── dnssec-keys │ │ │ ├── skip.nodnssec │ │ │ ├── command │ │ │ ├── description │ │ │ └── expected_result │ │ ├── nsec-middle │ │ │ ├── skip.nodnssec │ │ │ ├── command │ │ │ └── description │ │ ├── 00dnssec-grabkeys │ │ │ ├── expected_result │ │ │ └── description │ │ ├── ns-at-delegation │ │ │ ├── skip-unboundhost │ │ │ ├── command │ │ │ └── description │ │ ├── nsec-sibling-test │ │ │ ├── skip.nodnssec │ │ │ ├── description │ │ │ ├── command │ │ │ └── expected_result │ │ ├── nsec-wraparound-end │ │ │ ├── skip.nodnssec │ │ │ ├── command │ │ │ └── description │ │ ├── nsec-wraparound-begin │ │ │ ├── skip.nodnssec │ │ │ ├── command │ │ │ └── description │ │ ├── list-all-records │ │ │ ├── description │ │ │ ├── command │ │ │ └── expected_dnssec_part3 │ │ ├── .gitignore │ │ ├── long-txt-resolution │ │ │ ├── description │ │ │ ├── command │ │ │ └── expected_result │ │ ├── basic-a-resolution │ │ │ ├── command │ │ │ ├── description │ │ │ └── expected_result │ │ ├── basic-aaaa-resolution │ │ │ ├── command │ │ │ ├── description │ │ │ └── expected_result │ │ └── Gemfile │ ├── OBJECTFILES │ ├── Gemfile │ ├── .gitignore │ └── TODO ├── tinydnsbackend │ ├── OBJECTLIBS │ ├── OBJECTFILES │ └── data.cdb ├── gsqlite3backend │ ├── OBJECTFILES │ └── OBJECTLIBS └── gpgsqlbackend │ ├── OBJECTFILES │ └── OBJECTLIBS ├── regression-tests ├── tests │ ├── axfr │ │ ├── skip.lmdb │ │ ├── skip.narrow │ │ ├── skip.noaxfr │ │ ├── command │ │ └── description │ ├── ent │ │ ├── skip.noent │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── basic-eui48 │ │ ├── skip.nsd │ │ ├── skip.bind │ │ ├── description │ │ ├── command │ │ ├── skip.mydns │ │ └── expected_result │ ├── basic-eui64 │ │ ├── skip.nsd │ │ ├── skip.bind │ │ ├── description │ │ ├── command │ │ ├── skip.mydns │ │ └── expected_result │ ├── direct-rrsig │ │ ├── skip-q │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── dname │ │ ├── skip.mydns │ │ ├── skip-unboundhost │ │ ├── command │ │ └── description │ ├── double │ │ ├── skip.mydns │ │ ├── command │ │ ├── description │ │ ├── expected_result │ │ └── expected_result.dnssec │ ├── ent-any │ │ ├── skip.noent │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── ent-axfr │ │ ├── skip.narrow │ │ ├── skip.noent │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── ent-soa │ │ ├── skip.noent │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── big-axfr │ │ ├── expected_result │ │ ├── command │ │ └── description │ ├── dname-self │ │ ├── skip.mydns │ │ ├── skip.nodnssec │ │ ├── skip-unboundhost │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── ent-asterisk │ │ ├── skip.bind │ │ ├── skip.noent │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── nsec-bitmap │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── nsec-glue │ │ ├── skip.nodnssec │ │ ├── skip.oracle-nsec │ │ ├── command │ │ └── description │ ├── nsec-middle │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── space-name │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── tsig-axfr │ │ ├── skip.narrow │ │ ├── skip.nometa │ │ ├── skip.presigned │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── tsig-ixfr │ │ ├── skip.narrow │ │ ├── skip.nometa │ │ ├── skip.presigned │ │ ├── description │ │ ├── expected_result │ │ └── command │ ├── very-long-txt │ │ ├── skip.bind │ │ ├── skip.nsd │ │ ├── skip.mydns │ │ ├── command │ │ └── description │ ├── basic-nonzone │ │ ├── skip-unboundhost │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── bind-add-zone │ │ ├── expected_result │ │ ├── skip.presigned │ │ ├── description │ │ └── stress │ │ │ ├── dnsperf.sh │ │ │ ├── createzones.sh │ │ │ └── README │ ├── ds-at-both-sides │ │ ├── skip.lmdb │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── glue-record │ │ ├── skip-unboundhost │ │ ├── skip.oracle-slave-nsec │ │ ├── command │ │ └── description │ ├── glue-referral │ │ ├── skip-unboundhost │ │ ├── skip.oracle-slave-nsec │ │ ├── command │ │ └── description │ ├── minimal-noerror │ │ ├── skip.nodnssec │ │ ├── command │ │ ├── expected_result │ │ ├── description │ │ ├── expected_result.nsec3 │ │ └── expected_result.narrow │ ├── minimal-nxdomain │ │ ├── skip.nodnssec │ │ ├── command │ │ ├── expected_result │ │ ├── description │ │ └── expected_result.nsec3 │ ├── nsec-wildcard │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── nsec-wraparound │ │ ├── skip.narrow │ │ ├── skip.nodnssec │ │ ├── skip.nsec3 │ │ ├── command │ │ └── description │ ├── nsec-wrong-type │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── secure-delegation │ │ ├── skip-drill │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── uppercase-nsec │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── verify-dnssec-zone │ │ ├── skip.lmdb │ │ ├── skip.narrow │ │ ├── skip.nodnssec │ │ ├── skip.oracle-nsec │ │ ├── skip.oracle-nsec3 │ │ └── description │ ├── 00dnssec-grabkeys │ │ ├── expected_result │ │ └── description │ ├── 0dyndns-prereq-all │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-big-package │ │ ├── skip.nodyndns │ │ └── description │ ├── 5dyndns-restore-zone │ │ ├── skip.nodyndns │ │ ├── expected_result │ │ └── description │ ├── any-wildcard-dnssec │ │ ├── skip.nodnssec │ │ ├── description │ │ └── command │ ├── cname-to-referral │ │ ├── skip-unboundhost │ │ ├── command │ │ └── description │ ├── cname-to-unauth │ │ ├── skip-unboundhost │ │ ├── description │ │ └── command │ ├── ds-at-secure-delegation │ │ ├── skip.mydns │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── ds-at-unsecure-zone-cut │ │ ├── skip.lmdb │ │ ├── skip.nodnssec │ │ ├── skip.oracle-nsec │ │ ├── command │ │ └── description │ ├── ent-rr-enclosed-in-ent │ │ ├── skip.noent │ │ ├── skip.nodnssec │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── ent-unsigned-delegation │ │ ├── skip.noent │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── ent-wildcard-below-ent │ │ ├── skip.noent │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── five-levels-wildcard │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── internal-referral │ │ ├── skip-unboundhost │ │ ├── command │ │ └── description │ ├── long-name │ │ ├── skip.oracle-slave-nsec3 │ │ ├── description │ │ └── command │ ├── ns-at-delegation │ │ ├── skip-unboundhost │ │ ├── skip.oracle-slave-nsec │ │ ├── command │ │ └── description │ ├── nsecx-mode3-wildcard │ │ ├── skip.nodnssec │ │ ├── description │ │ └── command │ ├── second-level-nxdomain │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── tsig-axfr-key-mismatch │ │ ├── skip.narrow │ │ ├── skip.nometa │ │ ├── skip.presigned │ │ ├── expected_result │ │ ├── description │ │ └── command │ ├── tsig-ixfr-key-mismatch │ │ ├── skip.narrow │ │ ├── skip.nometa │ │ ├── skip.presigned │ │ ├── expected_result │ │ ├── description │ │ └── command │ ├── two-level-nxdomain │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── underscore-sorting │ │ ├── skip.nodnssec │ │ ├── command │ │ ├── description │ │ ├── expected_result │ │ └── expected_result.nsec3 │ ├── 1dyndns-update-add-soa │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-delegate │ │ ├── skip-unboundhost │ │ └── skip.nodyndns │ ├── 1dyndns-update-delete-soa │ │ ├── skip.nodyndns │ │ ├── description │ │ └── command │ ├── 1dyndns-update-nsec3params │ │ ├── skip.nodnssec │ │ ├── skip.nodyndns │ │ └── skip.narrow │ ├── cname-loop-breakout │ │ ├── skip-unboundhost │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── cname-to-unauth-any │ │ ├── skip-unboundhost │ │ ├── command │ │ └── description │ ├── cname-wildcard-chain │ │ ├── skip-unboundhost │ │ ├── skip.oracle-nsec3 │ │ ├── command │ │ └── description │ ├── ds-at-unsecure-delegation │ │ ├── skip.nodnssec │ │ ├── skip.oracle-nsec │ │ ├── command │ │ └── description │ ├── ds-inside-delegation │ │ ├── skip-unboundhost │ │ ├── skip.oracle-nsec │ │ ├── skip.oracle-nsec3 │ │ ├── command │ │ └── description │ ├── external-cname-pointer │ │ ├── skip-unboundhost │ │ ├── command │ │ └── description │ ├── ns-with-identical-glue │ │ ├── skip-unboundhost │ │ ├── skip.oracle-slave-nsec │ │ ├── skip.oracle-slave-nsec3 │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── nsec-glue-at-delegation │ │ ├── skip.nodnssec │ │ ├── skip.oracle-nsec │ │ ├── skip.oracle-nsec3 │ │ ├── command │ │ └── description │ ├── nsec-wrong-type-at-apex │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── same-level-referral-soa │ │ ├── skip-unboundhost │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── same-level-referral │ │ ├── skip-unboundhost │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── secure-delegation-ds-ns │ │ ├── skip.oracle-nsec │ │ ├── skip.oracle-nsec3 │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── tsig-axfr-algorithm-mismatch │ │ ├── skip.narrow │ │ ├── skip.nometa │ │ ├── skip.presigned │ │ ├── expected_result │ │ ├── description │ │ └── command │ ├── tsig-ixfr-algorithm-mismatch │ │ ├── skip.narrow │ │ ├── skip.nometa │ │ ├── skip.presigned │ │ ├── expected_result │ │ ├── description │ │ └── command │ ├── 0dyndns-prereq-nxrrset-full │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-deep-delegate │ │ ├── skip-unboundhost │ │ ├── skip.nodyndns │ │ └── description │ ├── nsecx-mode2-wildcard-nodata │ │ ├── skip.nodnssec │ │ ├── description │ │ └── command │ ├── out-of-bailiwick-referral │ │ ├── skip-unboundhost │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── wildcard-overlaps-delegation │ │ ├── skip-unboundhost │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── 1dyndns-update-add-invalid-record │ │ ├── skip.nodyndns │ │ ├── command │ │ └── description │ ├── five-levels-wildcard-one-below-apex │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── nxdomain-below-nonempty-terminal │ │ ├── skip.nodnssec │ │ ├── command │ │ └── description │ ├── 1dyndns-update-nsec3params-with-others │ │ ├── skip.nodnssec │ │ ├── skip.nodyndns │ │ ├── skip.narrow │ │ └── description │ ├── any-wildcard │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── direct-dnskey │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── root-mx │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── root-ns │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── cname-to-nxdomain │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── 8bit-txt │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── apex-level-a │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── apex-level-ns │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── cname-and-wildcard-but-no-correct-type │ │ ├── skip.oracle-slave-nsec3 │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── naptr │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── rp │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── .gitignore │ ├── 8bit-txt-unescaped │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── apex-level-a-but-no-a │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── basic-loc │ │ ├── command │ │ ├── skip.mydns │ │ └── description │ ├── basic-ns-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── mx-case-sensitivy-with-ap │ │ └── command │ ├── mx-to-cname │ │ ├── command │ │ ├── expected_result │ │ └── description │ ├── nsec3-hash-query │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── root-cname │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── root-srv │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── basic-a-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── basic-hinfo │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── basic-soa-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── basic-srv │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── cname-and-wildcard │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── cname-to-nxdomain-any │ │ ├── description │ │ ├── command │ │ ├── expected_result │ │ └── expected_result.dnssec │ ├── double-srv │ │ ├── command │ │ └── description │ ├── ds-at-apex-noerror │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── obscured-wildcard │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── any-query │ │ └── command │ ├── basic-txt-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── cname-and-wildcard-at-root │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── direct-wildcard │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── escaped-txt │ │ ├── description │ │ └── command │ ├── multi-step-cname-resolution │ │ ├── command │ │ └── description │ ├── one-step-cname-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── pretty-big-packet │ │ ├── command │ │ └── description │ ├── unknown-domain │ │ ├── command │ │ └── description │ ├── any-nxdomain │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── cname-but-no-correct-type │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── multi-txt-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── mx-with-simple-additional-processing │ │ ├── command │ │ └── description │ ├── wrong-type-wildcard │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── multi-txt-escape-resolution │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── nxdomain-for-unknown-record │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── 1dyndns-update-srv │ │ ├── skip.nodyndns │ │ └── description │ ├── cross-domain-cname-to-wildcard │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── 1dyndns-check-soa-update │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-add-delete │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-delete-ns │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-in-between │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-replace-mx │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-update-ttl │ │ ├── skip.nodyndns │ │ └── description │ ├── non-existing-record-other-types-exist-ns │ │ ├── command │ │ └── expected_result │ ├── non-existing-record-other-types-exist │ │ ├── command │ │ ├── description │ │ └── expected_result │ ├── 1dyndns-update-add-delete-ds │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-add-delete-mx │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-deep-add-delete │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-delete-add-host │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-delete-mx-prio │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-replace-a-host │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-replace-cname │ │ ├── skip.nodyndns │ │ └── description │ ├── 2dyndns-update-replace-soa │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-add-delete-cname │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-add-delete-wildcard │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-delegate-in-between │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-add-delete-casesensative │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-delete-multi-add-host │ │ ├── skip.nodyndns │ │ └── description │ ├── 1dyndns-update-delete-parent-delegate │ │ ├── skip.nodyndns │ │ └── description │ ├── basic-aaaa-resolution │ │ ├── description │ │ ├── command │ │ └── expected_result │ ├── too-big-for-udp-query │ │ ├── command │ │ └── description │ └── too-big-for-udp-query-no-truncate-additional │ │ └── command ├── softhsm.mod ├── modules │ ├── libbindbackend.so │ ├── libldapbackend.so │ ├── liblmdbbackend.so │ ├── libgeoipbackend.so │ ├── libgmysqlbackend.so │ ├── libgpgsqlbackend.so │ ├── libmydnsbackend.so │ ├── liboraclebackend.so │ ├── libremotebackend.so │ ├── libgoraclebackend.so │ ├── libgsqlite3backend.so │ ├── libopendbxbackend.so │ └── libtinydnsbackend.so ├── cleannsupdate ├── timestamp ├── getserial ├── zones │ ├── .gitignore │ ├── stest.com │ ├── tsig.com │ └── minimal.com ├── totar └── check_stest_source ├── .valgrindrc ├── bootstrap ├── debian ├── shlibs.local ├── pdns.conffiles ├── .gitignore ├── pdns.prerm └── pdns.postrm ├── pdns ├── config-recursor.h ├── ext │ ├── rapidjson │ │ ├── version │ │ ├── .gitignore │ │ └── Makefile.am │ ├── .gitignore │ ├── polarssl │ │ ├── include │ │ │ └── .gitignore │ │ ├── library │ │ │ └── .gitignore │ │ ├── Makefile.am │ │ ├── DartConfiguration.tcl │ │ └── .gitignore │ ├── ed25519 │ │ ├── .gitignore │ │ ├── crypto_hash_sha512.h │ │ ├── q2h.sh │ │ ├── d.h │ │ ├── d2.h │ │ ├── sqrtm1.h │ │ ├── api.h │ │ ├── crypto_int32.h │ │ ├── crypto_int64.h │ │ ├── ge_p2_0.c │ │ ├── crypto_uint32.h │ │ ├── crypto_uint64.h │ │ ├── README │ │ ├── ge_p3_0.c │ │ ├── ge_precomp_0.c │ │ ├── ge_p2_dbl.c │ │ ├── ge_add.c │ │ ├── ge_sub.c │ │ ├── ge_madd.c │ │ ├── ge_msub.c │ │ ├── fe_pow22523.c │ │ ├── ge_p3_dbl.c │ │ ├── crypto_verify_32.h │ │ ├── fe_invert.c │ │ ├── ge_p3_to_p2.c │ │ ├── ge_p1p1_to_p2.c │ │ ├── sha512.h │ │ ├── fe_0.c │ │ ├── fe_1.c │ │ ├── ge_p1p1_to_p3.c │ │ ├── ge_tobytes.c │ │ └── ge_p3_tobytes.c │ ├── yahttp │ │ ├── yahttp │ │ │ ├── yahttp-config.h │ │ │ └── Makefile.am │ │ ├── .gitignore │ │ └── Makefile.am │ └── Makefile.am ├── pubsuffix.hh ├── dns_random.hh ├── base32.hh ├── base64.hh ├── secpoll-auth.hh ├── mkpubsuffixcc ├── testrunner.cc ├── secpoll-recursor.hh └── sysdeps-recursor │ └── Darwin.inc ├── AUTHORS ├── contrib ├── selinux │ └── pdns.if └── upstart-recursor.conf ├── regression-tests.nobackend ├── pdnsconfdist │ ├── expected_result │ ├── description │ └── command ├── gsqlite3-fk-remove │ ├── expected_result.i │ └── description ├── soa-edit │ ├── .gitignore │ ├── description │ └── named.conf ├── lua-policy │ ├── description │ └── named.conf ├── gsqlite3-fk-insert │ ├── expected_result.i │ ├── description │ └── command ├── .gitignore ├── tinydns-data-check │ └── command └── edns-packet-cache │ └── named.conf ├── codedocs └── Makefile.am ├── regression-tests.api ├── requirements.txt ├── .gitignore └── runtests ├── NEWS ├── regression-tests.recursor ├── simple-a │ ├── description │ ├── command │ └── expected_result ├── clean.sh ├── truncate-empty │ ├── description │ ├── command │ └── expected_result ├── lame-noerror │ ├── description │ ├── command │ └── expected_result ├── cleandig ├── cname-to-a-nxdomain │ ├── description │ └── command ├── direct-cname │ ├── description │ ├── command │ └── expected_result ├── simple-cname-to-a │ ├── description │ ├── command │ └── expected_result ├── txt-escaping │ ├── description │ ├── command │ └── expected_result ├── direct-cname-to-nxdomain │ ├── description │ ├── command │ └── expected_result ├── hijack-1 │ ├── description │ └── command ├── in-zone-cname-bogus-nxdomain │ ├── command │ ├── description │ └── expected_result ├── cross-zone-cname-bogus-nxdomain │ ├── command │ ├── description │ └── expected_result ├── .gitignore ├── TODO ├── ghost-1 │ └── description ├── ghost-2 │ └── description ├── start.sh └── stop.sh ├── INSTALL └── m4 ├── pdns_with_geo.m4 ├── pdns_check_curl_program.m4 ├── pdns_check_sqlite3.m4 ├── pdns_check_mkdocs.m4 └── pdns_with_lmdb.m4 /README: -------------------------------------------------------------------------------- 1 | README.md -------------------------------------------------------------------------------- /docs/WIP/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/bindbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/geobackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/goraclebackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/oraclebackend/ChangeLog: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/oraclebackend/INSTALL: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/oraclebackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/pipebackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/randombackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/axfr/skip.lmdb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent/skip.noent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.valgrindrc: -------------------------------------------------------------------------------- 1 | --suppressions=pdns.supp 2 | -------------------------------------------------------------------------------- /bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | autoreconf -vi 3 | -------------------------------------------------------------------------------- /debian/shlibs.local: -------------------------------------------------------------------------------- 1 | libbindbackend 0 2 | -------------------------------------------------------------------------------- /pdns/config-recursor.h: -------------------------------------------------------------------------------- 1 | #define RECURSOR 2 | -------------------------------------------------------------------------------- /regression-tests/tests/axfr/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/axfr/skip.noaxfr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui48/skip.nsd: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui64/skip.nsd: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-rrsig/skip-q: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/dname/skip.mydns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/double/skip.mydns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-any/skip.noent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-axfr/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-axfr/skip.noent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-soa/skip.noent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | -------------------------------------------------------------------------------- /modules/ldapbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(LDAP_LIBS) 2 | -------------------------------------------------------------------------------- /modules/lmdbbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(LMDB_LIBS) 2 | -------------------------------------------------------------------------------- /modules/luabackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(LUA_LIBS) 2 | -------------------------------------------------------------------------------- /modules/luabackend/test/.gitignore: -------------------------------------------------------------------------------- 1 | pdns.pid 2 | -------------------------------------------------------------------------------- /modules/pipebackend/.gitignore: -------------------------------------------------------------------------------- 1 | /configure 2 | -------------------------------------------------------------------------------- /pdns/ext/rapidjson/version: -------------------------------------------------------------------------------- 1 | rapidjson-0.11 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui48/skip.bind: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui64/skip.bind: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/big-axfr/expected_result: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/dname-self/skip.mydns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/dname-self/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/dname/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-asterisk/skip.bind: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-asterisk/skip.noent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-axfr/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-bitmap/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-middle/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/space-name/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr/skip.nometa: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr/skip.presigned: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr/skip.nometa: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr/skip.presigned: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/very-long-txt/skip.bind: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/very-long-txt/skip.nsd: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | PowerDNS.COM BV and a cast of thousands ;-) -------------------------------------------------------------------------------- /contrib/selinux/pdns.if: -------------------------------------------------------------------------------- 1 | ## 2 | -------------------------------------------------------------------------------- /modules/geoipbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | geoipbackend.lo 2 | -------------------------------------------------------------------------------- /modules/gmysqlbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(MYSQL_LIBS) 2 | -------------------------------------------------------------------------------- /modules/lmdbbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | lmdbbackend.lo 2 | -------------------------------------------------------------------------------- /modules/luabackend/test/one: -------------------------------------------------------------------------------- 1 | www.test.com ANY 2 | 3 | -------------------------------------------------------------------------------- /modules/mydnsbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | mydnsbackend.lo 2 | -------------------------------------------------------------------------------- /modules/mydnsbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(MYSQL_LIBS) 2 | -------------------------------------------------------------------------------- /modules/opendbxbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(OPENDBX_LIBS) 2 | -------------------------------------------------------------------------------- /modules/remotebackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(LIBZMQ_LIBS) 2 | -------------------------------------------------------------------------------- /modules/tinydnsbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(CDB_LIBS) 2 | -------------------------------------------------------------------------------- /pdns/ext/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /pdns/ext/polarssl/include/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-nonzone/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/bind-add-zone/expected_result: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/bind-add-zone/skip.presigned: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/dname-self/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-both-sides/skip.lmdb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-both-sides/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/glue-record/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/glue-referral/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-noerror/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-nxdomain/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue/skip.oracle-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wildcard/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wraparound/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wraparound/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wraparound/skip.nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wrong-type/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation/skip-drill: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/uppercase-nsec/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/verify-dnssec-zone/skip.lmdb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/verify-dnssec-zone/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/gsqlite3backend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | gsqlite3backend.lo 2 | -------------------------------------------------------------------------------- /modules/gsqlite3backend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(SQLITE3_LIBS) 2 | -------------------------------------------------------------------------------- /modules/oraclebackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | oraclebackend.lo 2 | -------------------------------------------------------------------------------- /modules/randombackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | randombackend.lo 2 | -------------------------------------------------------------------------------- /modules/tinydnsbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | tinydnsbackend.lo cdb.lo -------------------------------------------------------------------------------- /pdns/ext/ed25519/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /regression-tests.nobackend/pdnsconfdist/expected_result: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/00dnssec-grabkeys/expected_result: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/0dyndns-prereq-all/skip.nodyndns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-big-package/skip.nodyndns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/5dyndns-restore-zone/skip.nodyndns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/any-wildcard-dnssec/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-referral/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-unauth/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-secure-delegation/skip.mydns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-zone-cut/skip.lmdb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-rr-enclosed-in-ent/skip.noent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-unsigned-delegation/skip.noent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-wildcard-below-ent/skip.noent: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/five-levels-wildcard/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/glue-record/skip.oracle-slave-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/internal-referral/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/long-name/skip.oracle-slave-nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-at-delegation/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsecx-mode3-wildcard/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/second-level-nxdomain/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-key-mismatch/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-key-mismatch/skip.nometa: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-key-mismatch/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-key-mismatch/skip.nometa: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/two-level-nxdomain/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/underscore-sorting/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/verify-dnssec-zone/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/verify-dnssec-zone/skip.oracle-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /codedocs/Makefile.am: -------------------------------------------------------------------------------- 1 | codedocs: . 2 | doxygen doxygen.conf 3 | -------------------------------------------------------------------------------- /modules/geobackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | geobackend.lo ippreftree.lo 2 | -------------------------------------------------------------------------------- /modules/geoipbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | $(YAML_LIBS) $(GEOIP_LIBS) 2 | -------------------------------------------------------------------------------- /modules/ldapbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | ldapbackend.lo powerldap.lo 2 | -------------------------------------------------------------------------------- /modules/pipebackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | coprocess.lo pipebackend.lo 2 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/crypto_hash_sha512.h: -------------------------------------------------------------------------------- 1 | #include "sha512.h" 2 | -------------------------------------------------------------------------------- /pdns/ext/polarssl/library/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | libpolarssl* 3 | -------------------------------------------------------------------------------- /pdns/ext/rapidjson/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Makefile.in 3 | -------------------------------------------------------------------------------- /pdns/ext/yahttp/yahttp/yahttp-config.h: -------------------------------------------------------------------------------- 1 | #include "config.h" 2 | -------------------------------------------------------------------------------- /regression-tests.nobackend/gsqlite3-fk-remove/expected_result.i: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-soa/skip.nodyndns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delegate/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-soa/skip.nodyndns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-nsec3params/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/5dyndns-restore-zone/expected_result: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-loop-breakout/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-unauth-any/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-wildcard-chain/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-wildcard-chain/skip.oracle-nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-delegation/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-zone-cut/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-zone-cut/skip.oracle-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-inside-delegation/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-inside-delegation/skip.oracle-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-inside-delegation/skip.oracle-nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-rr-enclosed-in-ent/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/external-cname-pointer/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/glue-referral/skip.oracle-slave-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-at-delegation/skip.oracle-slave-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-with-identical-glue/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue-at-delegation/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue-at-delegation/skip.oracle-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wrong-type-at-apex/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/same-level-referral-soa/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/same-level-referral/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation-ds-ns/skip.oracle-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-algorithm-mismatch/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-algorithm-mismatch/skip.nometa: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-key-mismatch/skip.presigned: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-algorithm-mismatch/skip.narrow: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-algorithm-mismatch/skip.nometa: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-key-mismatch/skip.presigned: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/verify-dnssec-zone/skip.oracle-nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/bindbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | bindbackend2.lo binddnssec.lo 2 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/basic-a-dnssec/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/gmysqlbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | gmysqlbackend.lo smysql.lo 2 | -------------------------------------------------------------------------------- /modules/goraclebackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | goraclebackend.lo soracle.lo 2 | -------------------------------------------------------------------------------- /modules/gpgsqlbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | gpgsqlbackend.lo spgsql.lo 2 | -------------------------------------------------------------------------------- /modules/gpgsqlbackend/OBJECTLIBS: -------------------------------------------------------------------------------- 1 | -lssl -lcrypto $(PGSQL_lib) 2 | -------------------------------------------------------------------------------- /modules/opendbxbackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | odbxbackend.lo odbxprivate.lo 2 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/apex-test/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-a-dnssec/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/dnssec-keys/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-middle/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests.nobackend/soa-edit/.gitignore: -------------------------------------------------------------------------------- 1 | /bind-dnssec.db 2 | -------------------------------------------------------------------------------- /regression-tests/tests/0dyndns-prereq-nxrrset-full/skip.nodyndns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-deep-delegate/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-delegation/skip.oracle-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-with-identical-glue/skip.oracle-slave-nsec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue-at-delegation/skip.oracle-nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nsecx-mode2-wildcard-nodata/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/out-of-bailiwick-referral/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation-ds-ns/skip.oracle-nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-algorithm-mismatch/skip.presigned: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-algorithm-mismatch/skip.presigned: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/wildcard-overlaps-delegation/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /debian/pdns.conffiles: -------------------------------------------------------------------------------- 1 | /etc/powerdns/pdns.conf 2 | /etc/init.d/pdns 3 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/00dnssec-grabkeys/expected_result: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/00dnssec-grabkeys/expected_result: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/ns-at-delegation/skip-unboundhost: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-sibling-test/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-wraparound-end/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests.api/requirements.txt: -------------------------------------------------------------------------------- 1 | requests==2.1.0 2 | nose==1.3.0 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-invalid-record/skip.nodyndns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/five-levels-wildcard-one-below-apex/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-with-identical-glue/skip.oracle-slave-nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/nxdomain-below-nonempty-terminal/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr/description: -------------------------------------------------------------------------------- 1 | Basic TSIG axfr test 2 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr/description: -------------------------------------------------------------------------------- 1 | Basic TSIG ixfr test 2 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-wraparound-begin/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests.nobackend/lua-policy/description: -------------------------------------------------------------------------------- 1 | Test the Lua policy engine. -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-nsec3params-with-others/skip.nodnssec: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/any-wildcard/description: -------------------------------------------------------------------------------- 1 | any query for a wildcard 2 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-dnskey/description: -------------------------------------------------------------------------------- 1 | Query DNSKEY directly. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/long-name/description: -------------------------------------------------------------------------------- 1 | Ask for a really long name. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/root-mx/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig test.com MX 3 | -------------------------------------------------------------------------------- /regression-tests/tests/root-ns/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig wtest.com NS 3 | -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | For news, please see http://www.powerdns.com and http://wiki.powerdns.com 2 | -------------------------------------------------------------------------------- /debian/.gitignore: -------------------------------------------------------------------------------- 1 | /tmp 2 | /tmp-bind 3 | /tmp-mysql 4 | /files 5 | /substvars 6 | -------------------------------------------------------------------------------- /regression-tests.recursor/simple-a/description: -------------------------------------------------------------------------------- 1 | Simple resolving of an A record. 2 | -------------------------------------------------------------------------------- /regression-tests/softhsm.mod: -------------------------------------------------------------------------------- 1 | module: /usr/lib/libsofthsm.so 2 | managed: yes 3 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-nxdomain/description: -------------------------------------------------------------------------------- 1 | CNAME to a local NXDOMAIN. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-rrsig/description: -------------------------------------------------------------------------------- 1 | Query apex RRSIGs directly. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/dname-self/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig d.test.com A 3 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/basic-a-dnssec/description: -------------------------------------------------------------------------------- 1 | Basic DNSSEC test 2 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-a-dnssec/description: -------------------------------------------------------------------------------- 1 | Basic DNSSEC test 2 | -------------------------------------------------------------------------------- /pdns/ext/yahttp/.gitignore: -------------------------------------------------------------------------------- 1 | yahttp/libyahttp.a 2 | *.o 3 | Makefile 4 | Makefile.in 5 | -------------------------------------------------------------------------------- /pdns/ext/yahttp/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = yahttp 2 | 3 | EXTRA_DIST = LICENSE README.md 4 | -------------------------------------------------------------------------------- /regression-tests.nobackend/gsqlite3-fk-insert/expected_result.i: -------------------------------------------------------------------------------- 1 | constraint failed 2 | -------------------------------------------------------------------------------- /regression-tests.recursor/clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rm -rf configs run-auth run-recursor -------------------------------------------------------------------------------- /regression-tests/tests/8bit-txt/description: -------------------------------------------------------------------------------- 1 | TXT record with 8-bit (UTF-8) content. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-a/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig wtest.com A 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-ns/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig test.com NS 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard-but-no-correct-type/skip.oracle-slave-nsec3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /regression-tests/tests/dname/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.d.test.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/naptr/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig enum.test.com NAPTR 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/rp/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig server1.test.com RP 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-key-mismatch/expected_result: -------------------------------------------------------------------------------- 1 | ; Transfer failed. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-key-mismatch/expected_result: -------------------------------------------------------------------------------- 1 | ; Transfer failed. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/very-long-txt/skip.mydns: -------------------------------------------------------------------------------- 1 | MYDNS has only 128 chars of data. 2 | -------------------------------------------------------------------------------- /pdns/pubsuffix.hh: -------------------------------------------------------------------------------- 1 | #ifndef PDNS_PUBSUFFIX_HH 2 | extern const char* g_pubsuffix; 3 | #endif -------------------------------------------------------------------------------- /regression-tests/modules/libbindbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/bindbackend/.libs/libbindbackend.so -------------------------------------------------------------------------------- /regression-tests/modules/libldapbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/ldapbackend/.libs/libldapbackend.so -------------------------------------------------------------------------------- /regression-tests/modules/liblmdbbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/lmdbbackend/.libs/liblmdbbackend.so -------------------------------------------------------------------------------- /regression-tests/tests/.gitignore: -------------------------------------------------------------------------------- 1 | diff 2 | real_result 3 | *.out 4 | start 5 | step.* 6 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-nsec3params/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Test requires rfc2136. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/8bit-txt/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig aland.test.com TXT 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/dname/description: -------------------------------------------------------------------------------- 1 | Check that we synthesise a CNAME from a DNAME. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/double/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig double.example.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ent/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig c.test.com A dnssec showflags 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ent/description: -------------------------------------------------------------------------------- 1 | Check if the empty non-terminal exists (A query) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/glue-referral/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.usa.example.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-at-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig usa.example.com NS 3 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-algorithm-mismatch/expected_result: -------------------------------------------------------------------------------- 1 | ; Transfer failed. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-algorithm-mismatch/expected_result: -------------------------------------------------------------------------------- 1 | ; Transfer failed. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/uppercase-nsec/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig z.Test.com A dnssec 3 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/.gitignore: -------------------------------------------------------------------------------- 1 | diff 2 | real_result 3 | *.out 4 | geosec 5 | -------------------------------------------------------------------------------- /modules/luabackend/test/pdns.conf: -------------------------------------------------------------------------------- 1 | local-address=127.0.0.1 2 | local-ipv6=::1 3 | launch=lua 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/list-all-records/description: -------------------------------------------------------------------------------- 1 | Makes sure listing works 2 | -------------------------------------------------------------------------------- /pdns/ext/rapidjson/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = license.txt 2 | noinst_HEADERS = include/rapidjson 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/truncate-empty/description: -------------------------------------------------------------------------------- 1 | Verify that truncated messages are empty. 2 | -------------------------------------------------------------------------------- /regression-tests/cleannsupdate: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | nsupdate "$@" | sed 's/\, id: \+[0-9]\+/, id: [id]/' -------------------------------------------------------------------------------- /regression-tests/modules/libgeoipbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/geoipbackend/.libs/libgeoipbackend.so -------------------------------------------------------------------------------- /regression-tests/modules/libgmysqlbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/gmysqlbackend/.libs/libgmysqlbackend.so -------------------------------------------------------------------------------- /regression-tests/modules/libgpgsqlbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/gpgsqlbackend/.libs/libgpgsqlbackend.so -------------------------------------------------------------------------------- /regression-tests/modules/libmydnsbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/mydnsbackend/.libs/libmydnsbackend.so -------------------------------------------------------------------------------- /regression-tests/modules/liboraclebackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/oraclebackend/.libs/liboraclebackend.so -------------------------------------------------------------------------------- /regression-tests/modules/libremotebackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/remotebackend/.libs/libremotebackend.so -------------------------------------------------------------------------------- /regression-tests/tests/8bit-txt-unescaped/description: -------------------------------------------------------------------------------- 1 | TXT record with unescaped 8-bit content. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/any-wildcard-dnssec/description: -------------------------------------------------------------------------------- 1 | any query for a wildcard, with DNSSEC 2 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-a-but-no-a/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig test.com A 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui48/description: -------------------------------------------------------------------------------- 1 | This test tries to get EUI48 record for host-0. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui64/description: -------------------------------------------------------------------------------- 1 | This test tries to get EUI64 record for host-1. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-loc/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig location.example.com LOC 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-loc/skip.mydns: -------------------------------------------------------------------------------- 1 | MYDNS backend does not support LOC record type. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-ns-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig example.com NS 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/big-axfr/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #cleandig example.com AXFR @$nameserver -------------------------------------------------------------------------------- /regression-tests/tests/cname-loop-breakout/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig loop1.example.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-dnskey/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig example.com DNSKEY dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-rrsig/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig example.com RRSIG dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-any/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig c.test.com ANY dnssec showflags 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-any/description: -------------------------------------------------------------------------------- 1 | Check if the empty non-terminal exists (ANY query) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-soa/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig c.test.com SOA dnssec showflags 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-soa/description: -------------------------------------------------------------------------------- 1 | Check if the empty non-terminal exists (SOA query) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/glue-record/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig usa-ns2.usa.example.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/mx-case-sensitivy-with-ap/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig exAmplE.com MX 3 | -------------------------------------------------------------------------------- /regression-tests/tests/mx-to-cname/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig mail.example.com MX 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-with-identical-glue/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig blah.test.com MX 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec3-hash-query/description: -------------------------------------------------------------------------------- 1 | NSEC3 hashes are not part of the dns tree. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/root-cname/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig toroot.test.com CNAME 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/root-srv/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig _root._tcp.dc.test.com SRV 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/same-level-referral/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig france.example.com A 3 | -------------------------------------------------------------------------------- /modules/luabackend/test/dnsperf: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | dnsperf -d one -p5300 -H10 -T1 -l60 4 | -------------------------------------------------------------------------------- /regression-tests/modules/libgoraclebackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/goraclebackend/.libs/libgoraclebackend.so -------------------------------------------------------------------------------- /regression-tests/modules/libgsqlite3backend.so: -------------------------------------------------------------------------------- 1 | ../../modules/gsqlite3backend/.libs/libgsqlite3backend.so -------------------------------------------------------------------------------- /regression-tests/modules/libopendbxbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/opendbxbackend/.libs/libopendbxbackend.so -------------------------------------------------------------------------------- /regression-tests/modules/libtinydnsbackend.so: -------------------------------------------------------------------------------- 1 | ../../modules/tinydnsbackend/.libs/libtinydnsbackend.so -------------------------------------------------------------------------------- /regression-tests/tests/00dnssec-grabkeys/description: -------------------------------------------------------------------------------- 1 | Grab DNSKEY records for validation testing. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-nsec3params-with-others/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Test requires rfc2136. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/5dyndns-restore-zone/description: -------------------------------------------------------------------------------- 1 | Restore SOA resial to it's original value. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/8bit-txt-unescaped/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig hightxt.test.com TXT 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/axfr/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig dnssec-parent.com AXFR showflags unhash 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-a-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig outpost.example.com A 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui48/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig host-0.example.com EUI48 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui48/skip.mydns: -------------------------------------------------------------------------------- 1 | MYDNS backend does not support EUI48 record type. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui64/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig host-1.example.com EUI64 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui64/skip.mydns: -------------------------------------------------------------------------------- 1 | MYDNS backend does not support EUI48 record type. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-hinfo/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig hwinfo.example.com HINFO 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-soa-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig example.com SOA 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-srv/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig _ldap._tcp.dc.test.com SRV 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig www.test.test.com MX 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-nxdomain-any/description: -------------------------------------------------------------------------------- 1 | ANY query for a CNAME to a local NXDOMAIN. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-referral/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig server1.example.com A 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-unauth/description: -------------------------------------------------------------------------------- 1 | CNAME to a name we are not authoritative for. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/double-srv/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig _double._tcp.dc.test.com SRV 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-apex-noerror/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig example.com DS dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/external-cname-pointer/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig external.example.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/internal-referral/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.italy.example.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-bitmap/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig hightype.example.com NSEC dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig usazzz.example.com A dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wraparound/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig zzz.example.com A dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/obscured-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.a.something.wtest.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation/description: -------------------------------------------------------------------------------- 1 | This test checks a secure delegations. 2 | 3 | -------------------------------------------------------------------------------- /regression-tests/tests/space-name/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig 'space name'.example.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-key-mismatch/description: -------------------------------------------------------------------------------- 1 | Basic TSIG axfr test with key mismatch 2 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-key-mismatch/description: -------------------------------------------------------------------------------- 1 | Basic TSIG ixfr test with key mismatch 2 | -------------------------------------------------------------------------------- /regression-tests/tests/very-long-txt/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig very-long-txt.test.com TXT 3 | 4 | -------------------------------------------------------------------------------- /modules/luabackend/test/pdnssec: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ../../../pdns/pdnssec --config-dir=./ $@ 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/.gitignore: -------------------------------------------------------------------------------- 1 | diff 2 | real_result 3 | *.out 4 | /remote.sqlite3 5 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/apex-test/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig up.example.com NS 4 | -------------------------------------------------------------------------------- /regression-tests.recursor/lame-noerror/description: -------------------------------------------------------------------------------- 1 | Correctly recognise a non-aa non-SOA NOERROR as lame. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/any-query/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | SDIGBUFSIZE=32768 cleandig example.com ANY 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/any-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig www.something.wtest.com ANY 4 | 5 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-txt-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig text.example.com TXT 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard-at-root/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig secure.wtest.com A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig nxd.example.com A dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-unauth/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig unauth.example.com A dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig www.something.wtest.com A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-rr-enclosed-in-ent/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig b.c.test.com TXT dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/escaped-txt/description: -------------------------------------------------------------------------------- 1 | 4 TXT records with 0 to 3 backslashes before a semicolon. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/multi-step-cname-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig start1.example.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-bitmap/description: -------------------------------------------------------------------------------- 1 | This tests determines if multi-segment NSEC records work. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-middle/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig outerpost.example.com A dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/one-step-cname-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.example.com A 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/out-of-bailiwick-referral/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.france.example.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/pretty-big-packet/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig toomuchinfo-a.example.com A 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/root-mx/description: -------------------------------------------------------------------------------- 1 | This test makes sure an MX record pointing at the root works 2 | -------------------------------------------------------------------------------- /regression-tests/tests/root-ns/description: -------------------------------------------------------------------------------- 1 | This test makes sure an NS record pointing at the root works 2 | -------------------------------------------------------------------------------- /regression-tests/tests/same-level-referral-soa/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig france.example.com SOA 3 | -------------------------------------------------------------------------------- /regression-tests/tests/two-level-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig nx1.nx2.example.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/unknown-domain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig this.domain.is.not.in.powerdns A 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/dnssec-keys/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig example.com DNSKEY 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/dnssec-keys/description: -------------------------------------------------------------------------------- 1 | Check that pdns can read keys from backend 2 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/long-txt-resolution/description: -------------------------------------------------------------------------------- 1 | Check that long TXT comes out clean 2 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/ns-at-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig up.example.com NS 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-sibling-test/description: -------------------------------------------------------------------------------- 1 | Tests that DS delegation comes out right 2 | -------------------------------------------------------------------------------- /modules/tinydnsbackend/data.cdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhcloos/pdns/HEAD/modules/tinydnsbackend/data.cdb -------------------------------------------------------------------------------- /pdns/ext/ed25519/q2h.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sed 's/^#.*//' \ 3 | | qhasm-generic \ 4 | | sed 's_//\(.*\)$_/*\1 */_' 5 | -------------------------------------------------------------------------------- /regression-tests.nobackend/pdnsconfdist/description: -------------------------------------------------------------------------------- 1 | Compare pdns_server --config output to pdns.conf-dist. 2 | -------------------------------------------------------------------------------- /regression-tests.nobackend/soa-edit/description: -------------------------------------------------------------------------------- 1 | Verify that SOA updates Thursday midnight if SOA-EDIT is set. 2 | -------------------------------------------------------------------------------- /regression-tests.recursor/cleandig: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ../pdns/sdig $nameserver $port $1 $2 recurse | LC_ALL=C sort 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-soa/description: -------------------------------------------------------------------------------- 1 | Check to see that we cannot delete a SOA record. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/any-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig nxdomain.example.com ANY dnssec 4 | 5 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-but-no-correct-type/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.example.com AAAA 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-nxdomain-any/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig nxd.example.com ANY dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-unauth-any/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig unauth.example.com ANY dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/dname-self/description: -------------------------------------------------------------------------------- 1 | Make sure a DNAME does not synthesise for its own owner name. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/double/description: -------------------------------------------------------------------------------- 1 | Verify that we deduplicate records correctly for RRSIG generation. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-apex-noerror/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a non-existent DS at apex 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-asterisk/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig sub.host.sub.example.com a dnssec 4 | -------------------------------------------------------------------------------- /regression-tests/tests/five-levels-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.a.b.c.d.e.wtest.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/glue-record/description: -------------------------------------------------------------------------------- 1 | Verify that asking for A of a glue record returns a referral. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/multi-txt-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig multitext.example.com TXT 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/mx-with-simple-additional-processing/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig example.com MX 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig t.something.wtest.com TXT dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wrong-type-at-apex/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig example.com TXT dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wrong-type/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig outpost.example.com TXT dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nsecx-mode3-wildcard/description: -------------------------------------------------------------------------------- 1 | Check NSECx response for wildcard asnwers (mode 3) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/root-cname/description: -------------------------------------------------------------------------------- 1 | This test makes sure an CNAME record pointing at the root works 2 | -------------------------------------------------------------------------------- /regression-tests/tests/root-srv/description: -------------------------------------------------------------------------------- 1 | This test makes sure an SRV record pointing at the root works 2 | -------------------------------------------------------------------------------- /regression-tests/tests/second-level-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig nx.outpost.example.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-algorithm-mismatch/description: -------------------------------------------------------------------------------- 1 | Basic TSIG axfr test with algorithm mismatch 2 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-algorithm-mismatch/description: -------------------------------------------------------------------------------- 1 | Basic TSIG ixfr test with algorithm mismatch 2 | -------------------------------------------------------------------------------- /regression-tests/tests/wrong-type-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig www.something.wtest.com TXT 4 | -------------------------------------------------------------------------------- /docs/markdown/theme/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhcloos/pdns/HEAD/docs/markdown/theme/img/favicon.ico -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/00dnssec-grabkeys/description: -------------------------------------------------------------------------------- 1 | Grab DNSKEY records for validation testing. 2 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/basic-a-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.geo.example.com A 3 | 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/00dnssec-grabkeys/description: -------------------------------------------------------------------------------- 1 | Grab DNSKEY records for validation testing. 2 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/apex-test/description: -------------------------------------------------------------------------------- 1 | Verify that up.example.com NS records come out right 2 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/d.h: -------------------------------------------------------------------------------- 1 | -10913610,13857413,-15372611,6949391,114729,-8787816,-6275908,-3247719,-18696448,-12055116 2 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/d2.h: -------------------------------------------------------------------------------- 1 | -21827239,-5839606,-30745221,13898782,229458,15978800,-12551817,-6495438,29715968,9444199 2 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/sqrtm1.h: -------------------------------------------------------------------------------- 1 | -32595792,-7943725,9377950,3500415,12389472,-272473,-25146209,-2005654,326686,11406482 2 | -------------------------------------------------------------------------------- /pdns/ext/polarssl/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = library 2 | 3 | EXTRA_DIST = LICENSE README.rst include/polarssl 4 | 5 | -------------------------------------------------------------------------------- /regression-tests.recursor/cname-to-a-nxdomain/description: -------------------------------------------------------------------------------- 1 | Ask for A on a CNAME that points to an NXDOMAINed name. 2 | -------------------------------------------------------------------------------- /regression-tests.recursor/direct-cname/description: -------------------------------------------------------------------------------- 1 | Ask for CNAME on a CNAME that points to an A in another zone. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/axfr/description: -------------------------------------------------------------------------------- 1 | Are all records present in the AXFR output (with the correct type map) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-unauth-any/description: -------------------------------------------------------------------------------- 1 | CNAME to a name we are not authoritative for. (ANY query) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-wildcard-chain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig start.example.com A dnssec tcp 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-wildcard-chain/description: -------------------------------------------------------------------------------- 1 | A five-long CNAME chain involving wildcards at every step 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-secure-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig dsdelegation.example.com DS dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-inside-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig sub.usa.example.com DS dnssec showflags 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-wildcard-below-ent/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig something.a.b.c.test.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/multi-txt-escape-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig escapedtext.example.com TXT 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue-at-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig blah.test.com MX dnssec showflags 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nxdomain-for-unknown-record/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig no-such-host.example.com A 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/wildcard-overlaps-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig www.sub.test.test.com A 4 | -------------------------------------------------------------------------------- /regression-tests/timestamp: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | "$@" 2>&1 | ts "[%F %T]" 4 | 5 | exit ${PIPESTATUS[0]} 6 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/basic-a-dnssec/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig www.geo.example.com A dnssec 4 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/static-any-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig geo.example.com ANY 3 | 4 | -------------------------------------------------------------------------------- /modules/remotebackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | remotebackend.lo unixconnector.lo httpconnector.lo pipeconnector.lo zmqconnector.lo 2 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-a-dnssec/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig outpost.example.com A dnssec 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-a-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig outpost.example.com A 3 | 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/long-txt-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig jump.up.example.com TXT 3 | 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-middle/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig outerpost.example.com A dnssec 3 | 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-wraparound-begin/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig a.example.com A dnssec 3 | 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-wraparound-end/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig zzz.example.com A dnssec 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-srv/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/any-wildcard-dnssec/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig www.something.wtest.com ANY dnssec 4 | 5 | -------------------------------------------------------------------------------- /regression-tests/tests/big-axfr/description: -------------------------------------------------------------------------------- 1 | This tries to transfer a 20.000 record zone over AXFR. Takes a long time. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard-but-no-correct-type/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig yo.test.test.com AAAA 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cross-domain-cname-to-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig semi-external.example.com A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-wildcard/description: -------------------------------------------------------------------------------- 1 | direct query for a wildcard of the type that is actually present 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig usa.example.com DS dnssec showflags 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-at-delegation/description: -------------------------------------------------------------------------------- 1 | Verify that asking for NS at a delegation point returns a referral. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec3-hash-query/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig vtnq6ocn2vkuiv3nju14oqtaen2mt5sk.example.com A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation-ds-ns/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.dsdelegation.example.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig secure-delegated.dnssec-parent.com A dnssec 3 | -------------------------------------------------------------------------------- /modules/opendbxbackend/README: -------------------------------------------------------------------------------- 1 | For more information, see 2 | http://wiki.linuxnetworks.de/doc/index.php/PowerDNS_OpenDBX_Backend -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-aaaa-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig outpost.example.com AAAA 3 | 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-sibling-test/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig jump.up.example.com A dnssec 4 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/api.h: -------------------------------------------------------------------------------- 1 | #define CRYPTO_SECRETKEYBYTES 64 2 | #define CRYPTO_PUBLICKEYBYTES 32 3 | #define CRYPTO_BYTES 64 4 | -------------------------------------------------------------------------------- /regression-tests.recursor/simple-cname-to-a/description: -------------------------------------------------------------------------------- 1 | Ask for A on a CNAME that points to an existing A in another domain. 2 | -------------------------------------------------------------------------------- /regression-tests.recursor/txt-escaping/description: -------------------------------------------------------------------------------- 1 | Simple resolving of a TXT with characters in it that we used to choke on. 2 | -------------------------------------------------------------------------------- /regression-tests/getserial: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ../pdns/sdig $nameserver $port $1 SOA | LC_ALL=C sort | grep ^0 | cut -d ' ' -f 3 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-check-soa-update/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delegate/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-ns/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-in-between/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-replace-mx/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-update-ttl/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/any-nxdomain/description: -------------------------------------------------------------------------------- 1 | Make sure a ANY query generates the correct statuscode and NSEC(3) denial. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-a/description: -------------------------------------------------------------------------------- 1 | Test for A query for wtest.com in wtest.com. Should return an AA A record. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-nonzone/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig nztest.com A 3 | cleandig testnz.com A | tail -n2 4 | 5 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-loop-breakout/description: -------------------------------------------------------------------------------- 1 | A CNAME loop should return a SERVFAIL pretty rapidly, and terminate. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-asterisk/description: -------------------------------------------------------------------------------- 1 | Check if asterisk empty non-terminal is interpreted as wildcard wihout type 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-axfr/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig test.com AXFR showdetails | perl -ne 'print if /IN\tNSEC/' 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-axfr/description: -------------------------------------------------------------------------------- 1 | Are all NSECx records present in the AXFR output (including empty non-terminals) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-wildcard-below-ent/description: -------------------------------------------------------------------------------- 1 | Check RRSIG label count if there are empty non-terminals involved 2 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-noerror/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig minimal.com TXT dnssec | egrep 'IN[[:space:]]+NSEC' 3 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-noerror/expected_result: -------------------------------------------------------------------------------- 1 | 1 minimal.com. IN NSEC 86400 minimal.com. NS SOA RRSIG NSEC DNSKEY 2 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig a.minimal.com A dnssec | egrep 'IN[[:space:]]+NSEC' 3 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-nxdomain/expected_result: -------------------------------------------------------------------------------- 1 | 1 minimal.com. IN NSEC 86400 minimal.com. NS SOA RRSIG NSEC DNSKEY 2 | -------------------------------------------------------------------------------- /regression-tests/tests/non-existing-record-other-types-exist-ns/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig ns1.example.com AAAA 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/non-existing-record-other-types-exist/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig outpost.example.com AAAA 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nsecx-mode2-wildcard-nodata/description: -------------------------------------------------------------------------------- 1 | Check NSECx response for wildcards no data asnwers (mode 2) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/nsecx-mode3-wildcard/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig second.first.something.wtest.com A dnssec 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nxdomain-below-nonempty-terminal/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig nx1.nx2.outpost.example.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/wildcard-overlaps-delegation/description: -------------------------------------------------------------------------------- 1 | Make sure that NS delegations manage to override a wildcard. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/wrong-type-wildcard/description: -------------------------------------------------------------------------------- 1 | direct query for a wildcard, requesting a type that is not present 2 | -------------------------------------------------------------------------------- /modules/luabackend/test/pdns_control: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ../../../pdns/pdns_control --config-dir=./ --socket-dir=./ $@ 4 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-ds/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-mx/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-deep-add-delete/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-deep-delegate/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-add-host/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-mx-prio/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-replace-a-host/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-replace-cname/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/2dyndns-update-replace-soa/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-unsigned-delegation/description: -------------------------------------------------------------------------------- 1 | Check if we generate empty non-terminals for delegations (NS records) 2 | -------------------------------------------------------------------------------- /regression-tests/tests/underscore-sorting/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig z.test.com A dnssec | egrep 'IN[[:space:]]+NSEC' 3 | 4 | -------------------------------------------------------------------------------- /modules/luabackend/OBJECTFILES: -------------------------------------------------------------------------------- 1 | luabackend.lo minimal.lo reload.lo lua_functions.lo master.lo private.lo slave.lo supermaster.lo dnssec.lo -------------------------------------------------------------------------------- /modules/oraclebackend/TODO: -------------------------------------------------------------------------------- 1 | 2 | Oracle Backend 3 | 4 | todo Clean up our stuff in the destructor 5 | write configure.in stuff 6 | 7 | -------------------------------------------------------------------------------- /modules/remotebackend/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "json" 4 | gem "webrick" 5 | gem "zeromqrb" 6 | gem "sqlite3" 7 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/crypto_int32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_int32_h 2 | #define crypto_int32_h 3 | 4 | typedef int crypto_int32; 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /regression-tests.recursor/direct-cname-to-nxdomain/description: -------------------------------------------------------------------------------- 1 | Ask for CNAME on an existing CNAME that points to an NXDOMAINed name. 2 | -------------------------------------------------------------------------------- /regression-tests.recursor/hijack-1/description: -------------------------------------------------------------------------------- 1 | Check that we don't accept overrides for A records from out-of-bailiwick 2 | servers. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-cname/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-wildcard/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete/description: -------------------------------------------------------------------------------- 1 | This test performs a simple add and delete of an A-record using RFC2136. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delegate-in-between/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/bind-add-zone/description: -------------------------------------------------------------------------------- 1 | Test whether bind-add-zone is actually adding zone and does not ruin 2 | other zones. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/double-srv/description: -------------------------------------------------------------------------------- 1 | This test makes sure identical SRV records with differing weights both get 2 | served. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-both-sides/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig secure-delegated.dnssec-parent.com DS dnssec showflags 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-delegation/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a DS question at an unsecure delegation. 2 | 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-zone-cut/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig delegated.dnssec-parent.com DS dnssec showflags 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-inside-delegation/description: -------------------------------------------------------------------------------- 1 | This test makes sure we return a referral for DS queries inside a delegation. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-unsigned-delegation/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig ent.ent.auth-ent.dnssec-parent.com A dnssec showflags 3 | -------------------------------------------------------------------------------- /regression-tests/tests/five-levels-wildcard-one-below-apex/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.a.b.c.d.e.something.wtest.com A dnssec 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsecx-mode2-wildcard-nodata/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig second.first.something.wtest.com TXT dnssec 4 | -------------------------------------------------------------------------------- /regression-tests/tests/rp/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight RP record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/same-level-referral/description: -------------------------------------------------------------------------------- 1 | A referral with the same name as the NS record itself. This broke in 2.9.19. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/verify-dnssec-zone/description: -------------------------------------------------------------------------------- 1 | AXFR all zones except the big example.com, and test them with ldns-verify-zone 2 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/region-a-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | nameserver=$geoipregionip cleandig www.geo.example.com A 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/ns-at-delegation/description: -------------------------------------------------------------------------------- 1 | Verify that asking for NS at a delegation point returns a referral. 2 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/crypto_int64.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_int64_h 2 | #define crypto_int64_h 3 | 4 | typedef long long crypto_int64; 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /regression-tests.nobackend/pdnsconfdist/command: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | diff -u ../pdns/pdns.conf-dist <(../pdns/pdns_server --config) 4 | -------------------------------------------------------------------------------- /regression-tests.recursor/simple-a/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-casesensative/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-ds/description: -------------------------------------------------------------------------------- 1 | This test performs a simple add and delete of an A-record using RFC2136. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-multi-add-host/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-parent-delegate/skip.nodyndns: -------------------------------------------------------------------------------- 1 | Skip this test if the backend does not support dyndns/rfc2136 2 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-replace-a-host/description: -------------------------------------------------------------------------------- 1 | A test for RFC2136 which checks section 3.4.2.2 - Replacing a record. 2 | 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-replace-cname/description: -------------------------------------------------------------------------------- 1 | A test for RFC2136 which checks section 3.4.2.2 - Replacing CNAME record. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-ns/description: -------------------------------------------------------------------------------- 1 | Test for NS query for test.com IN NS blah.test.com at APEX level. Should 2 | return AA. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-nonzone/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight A record from zone that contains 2 | non-zone data. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-both-sides/description: -------------------------------------------------------------------------------- 1 | Make sure we return the parent DS if there is a DS at both sides 2 | of the zone-cut. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/naptr/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight NAPTR record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue-at-delegation/description: -------------------------------------------------------------------------------- 1 | Check that we generate the right NSECs when glue lives at a delegation point. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-middle/description: -------------------------------------------------------------------------------- 1 | This test verifies that an NXDOMAIN in the middle of a zone 2 | generates a correct NSEC(3). 3 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr/expected_result: -------------------------------------------------------------------------------- 1 | tsig.com. 120 IN SOA ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | See README. Especially helpful is the 'pdns' init.d script in pdns/pdns 2 | 3 | http://doc.powerdns.com is also a good place to start 4 | -------------------------------------------------------------------------------- /docs/markdown/theme/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhcloos/pdns/HEAD/docs/markdown/theme/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/markdown/theme/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhcloos/pdns/HEAD/docs/markdown/theme/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/markdown/theme/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhcloos/pdns/HEAD/docs/markdown/theme/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_p2_0.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_p2_0(ge_p2 *h) 4 | { 5 | fe_0(h->X); 6 | fe_1(h->Y); 7 | fe_1(h->Z); 8 | } 9 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-wildcard/description: -------------------------------------------------------------------------------- 1 | This test performs a simple add and delete of an A-record using RFC2136. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-loc/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight LOC record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-srv/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight SRV record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-rr-enclosed-in-ent/description: -------------------------------------------------------------------------------- 1 | Check NSECx records if a record is enclosed (above and below) in empty-non-terminals. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | dig -t axfr tsig.com @$nameserver -p $port -y $ALGORITHM:test:$KEY | grep 'IN\s*SOA' 4 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/crypto_uint32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_uint32_h 2 | #define crypto_uint32_h 3 | 4 | typedef unsigned int crypto_uint32; 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /regression-tests.nobackend/gsqlite3-fk-insert/description: -------------------------------------------------------------------------------- 1 | Check if we can insert a comment for a non-existing zone. We shouldn't be able to do that 2 | -------------------------------------------------------------------------------- /regression-tests.nobackend/gsqlite3-fk-remove/description: -------------------------------------------------------------------------------- 1 | If we create a zone, add a comment and remove the zone, the comment should be 2 | gone too. 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/lame-noerror/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.ford.example.net A | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/txt-escaping/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig weirdtxt.example.net txt | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-parent-delegate/description: -------------------------------------------------------------------------------- 1 | This test adds 2 delegates below each other and deletes the top delegate. 2 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-a-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight A record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-hinfo/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight HINFO record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-ns-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight A record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-nxdomain/description: -------------------------------------------------------------------------------- 1 | Minimal zone (only NS records) Make sure non-existent hosts generates a correct 2 | NSEC(3) denial. -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wrong-type/description: -------------------------------------------------------------------------------- 1 | Make sure we generate the right NSEC for a non-existing RRtype query 2 | for an existing name. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/space-name/description: -------------------------------------------------------------------------------- 1 | Make sure we answer queries with spaces in the name correctly, including the 2 | right NSEC(3) records. 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "json" 4 | gem "webrick" 5 | gem "zeromqrb" 6 | gem "sqlite3" 7 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/crypto_uint64.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_uint64_h 2 | #define crypto_uint64_h 3 | 4 | typedef unsigned long long crypto_uint64; 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /regression-tests.recursor/truncate-empty/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig big.arthur.example.net txt | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-aaaa-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight AAAA record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-soa-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight A record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-txt-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight TXT record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-with-identical-glue/description: -------------------------------------------------------------------------------- 1 | Test for blah.test.com IN NS blah.test.com, blah.test.com IN A 1.2.3.4 not 2 | giving an NXRRSET 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-glue/description: -------------------------------------------------------------------------------- 1 | This test verifies that an NXDOMAIN that would order right before a glue 2 | record skips that glue record. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wrong-type-at-apex/description: -------------------------------------------------------------------------------- 1 | Make sure we generate the right NSEC for a non-existing RRtype query 2 | for the apex name. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/too-big-for-udp-query/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig toomuchinfo-b.example.com A | perl -pe 's/(192\.168\.99\.)[0-9]+/$1/' 4 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-middle/description: -------------------------------------------------------------------------------- 1 | This test verifies that an NXDOMAIN in the middle of a zone 2 | generates a correct NSEC(3). 3 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/README: -------------------------------------------------------------------------------- 1 | This code was lovingly stolen from Brian Warner's Python ED25519 2 | implementation, which in turn lovingly copied it out of SUPERCOP. 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/cname-to-a-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www-a.prefect.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/direct-cname/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www-d.prefect.example.net cname | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/simple-cname-to-a/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www-d.prefect.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wildcard/description: -------------------------------------------------------------------------------- 1 | We would sometimes synthesize an NSEC from a wildcard. This test 2 | makes sure we have stopped doing that. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec-wraparound/description: -------------------------------------------------------------------------------- 1 | This test verifies that NXDOMAINS beyond the last record of a zone 2 | generate a correct wraparound NSEC. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | dig -t ixfr=2000081501 tsig.com @$nameserver -p $port -y $ALGORITHM:test:$KEY | grep 'IN\s*SOA' 4 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/basic-a-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight A record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/region-a-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight A record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-a-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight A record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /pdns/ext/polarssl/DartConfiguration.tcl: -------------------------------------------------------------------------------- 1 | Site: localhost 2 | BuildName: PolarSSL-test 3 | CoverageCommand: /usr/bin/gcov 4 | MemoryCheckCommand: /usr/bin/valgrind 5 | -------------------------------------------------------------------------------- /regression-tests.recursor/in-zone-cname-bogus-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.marvin.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests/tests/bind-add-zone/stress/dnsperf.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | $DNSPERF -p $port -s localhost -d ./add-zone/stress/tmp/list -c 10 -n 100 -S 10 4 | -------------------------------------------------------------------------------- /regression-tests/tests/five-levels-wildcard/description: -------------------------------------------------------------------------------- 1 | A wildcard, 5 levels deep, with all non-empty terminals in between 2 | explicitly marked as TXT in the zone. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/obscured-wildcard/description: -------------------------------------------------------------------------------- 1 | If there is a more-specific subtree that matches part of a name, 2 | a less-specific wildcard cannot match it. 3 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/static-any-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight A record that is directly available in 2 | the database. 3 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_p3_0.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_p3_0(ge_p3 *h) 4 | { 5 | fe_0(h->X); 6 | fe_1(h->Y); 7 | fe_1(h->Z); 8 | fe_0(h->T); 9 | } 10 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_precomp_0.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_precomp_0(ge_precomp *h) 4 | { 5 | fe_1(h->yplusx); 6 | fe_1(h->yminusx); 7 | fe_0(h->xy2d); 8 | } 9 | -------------------------------------------------------------------------------- /regression-tests.recursor/cross-zone-cname-bogus-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www.trillian.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/direct-cname-to-nxdomain/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig www-a.prefect.example.net cname | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/lame-noerror/expected_result: -------------------------------------------------------------------------------- 1 | Rcode: 2, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0 2 | Reply to question for qname='www.ford.example.net.', qtype=A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-srv/description: -------------------------------------------------------------------------------- 1 | This test checks to see if SRV records are parsed/handled correctly when 2 | adding/updating/deleting via RFC2136. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-a-but-no-a/description: -------------------------------------------------------------------------------- 1 | Test for A query for test.com in test.com. Should return an AA nodata, since 2 | there is no A record there. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-loop-breakout/expected_result: -------------------------------------------------------------------------------- 1 | Rcode: 2, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 2 | Reply to question for qname='loop1.example.com.', qtype=A 3 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-unsecure-zone-cut/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a DS question at an unsecure zone-cut, thus 2 | testing RFC 4035 3.1.4.1 and B.8. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-noerror/description: -------------------------------------------------------------------------------- 1 | Minimal zone (only NS records) Make sure existent hosts without proper type 2 | generates a correct NSEC(3) denial. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/multi-txt-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a TXT record that is directly available in 2 | the database, and has multiple parts. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/same-level-referral-soa/description: -------------------------------------------------------------------------------- 1 | A referral with the same name as the NS record itself, but now for a SOA 2 | record. This broke in 2.9.22. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/underscore-sorting/description: -------------------------------------------------------------------------------- 1 | Different engines consider the underscore differently when sorting. This 2 | has an effect on NSEC calculation. 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/.gitignore: -------------------------------------------------------------------------------- 1 | diff 2 | real_result 3 | /configs 4 | /failed_tests 5 | /passed_tests 6 | /skipped_tests 7 | /test-results 8 | /*.xml 9 | /vars 10 | -------------------------------------------------------------------------------- /regression-tests.recursor/truncate-empty/expected_result: -------------------------------------------------------------------------------- 1 | Rcode: 0, RD: 1, QR: 1, TC: 1, AA: 0, opcode: 0 2 | Reply to question for qname='big.arthur.example.net.', qtype=TXT 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-aaaa-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a straight AAAA record that is directly available in 2 | the database backend. 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-wraparound-begin/description: -------------------------------------------------------------------------------- 1 | This test verifies that NXDOMAINS beyond the last record of a zone 2 | generate a correct wraparound NSEC. 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-wraparound-end/description: -------------------------------------------------------------------------------- 1 | This test verifies that NXDOMAINS beyond the last record of a zone 2 | generate a correct wraparound NSEC. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-big-package/description: -------------------------------------------------------------------------------- 1 | PowerDNS truncates incoming UDP packages. This might have effect on RFC2136 2 | operation as packages might be very big. 3 | -------------------------------------------------------------------------------- /pdns/dns_random.hh: -------------------------------------------------------------------------------- 1 | #ifndef PDNS_DNS_RANDOM 2 | #define PDNS_DNS_RANDOM 3 | 4 | void dns_random_init(const char data[16]); 5 | unsigned int dns_random(unsigned int n); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /regression-tests.api/.gitignore: -------------------------------------------------------------------------------- 1 | /.venv 2 | /*.xml 3 | /*.pid 4 | /pdns.sqlite3 5 | /*.controlsocket 6 | /named.conf 7 | /*.pyc 8 | acl.conf 9 | recursor.conf 10 | rec-conf.d 11 | -------------------------------------------------------------------------------- /regression-tests.recursor/TODO: -------------------------------------------------------------------------------- 1 | Test suggestions: 2 | - r1619 3 | - r2625 4 | - export-etc-hosts and -suffix 5 | - lua stuff 6 | - auth-zones 7 | - delegation-only 8 | - forward-zones 9 | -------------------------------------------------------------------------------- /regression-tests.recursor/ghost-1/description: -------------------------------------------------------------------------------- 1 | Extended ghost domain test - delegation is removed and receiver tries very 2 | hard to stay alive, by changing the NSset on every request. 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/in-zone-cname-bogus-nxdomain/description: -------------------------------------------------------------------------------- 1 | Query A for a valid CNAME to A within a zone, except the A query terminates 2 | after the CNAME and sets NXDOMAIN. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/0dyndns-prereq-nxrrset-full/description: -------------------------------------------------------------------------------- 1 | This test checks the specific case mentioned in RFC2136 3.2.3, where an RRSet is 2 | needed, and not the specific record. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-update-ttl/description: -------------------------------------------------------------------------------- 1 | A test for RFC2136 which checks section 3.4.2.2 - Update the TTL, which occurs 2 | if the record + content is the same. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-aaaa-resolution/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig ipv6.example.com AAAA | perl -pe 's/2001:6a8::1:210:4bff:fe4b:4c61/2001:6a8:0:1:210:4bff:fe4b:4c61/' 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-rrsig/expected_result: -------------------------------------------------------------------------------- 1 | 2 . IN OPT 32768 2 | Rcode: 4, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='example.com.', qtype=RRSIG 4 | -------------------------------------------------------------------------------- /regression-tests/tests/five-levels-wildcard-one-below-apex/description: -------------------------------------------------------------------------------- 1 | A wildcard synthesizing 5 levels of non-empty terminals with the closets 2 | encloser one level below the apex. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/nxdomain-below-nonempty-terminal/description: -------------------------------------------------------------------------------- 1 | Make sure a name that is two labels beneath an existing name within a zone, 2 | generates a correct NSEC(3) denial. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/out-of-bailiwick-referral/description: -------------------------------------------------------------------------------- 1 | When something.example.com is delegated to NS records out of our bailiwick, 2 | just send NS records and drop the 'AA' bit. 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/list-all-records/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | dig example.com AXFR @$nameserver -p $port | grep "IN" | egrep -v "(NSEC|RRSIG|DNSKEY)" | LC_ALL=C sort 4 | -------------------------------------------------------------------------------- /regression-tests.recursor/cross-zone-cname-bogus-nxdomain/description: -------------------------------------------------------------------------------- 1 | Query A for a valid CNAME to A in another zone, except the A query terminates 2 | after the CNAME and sets NXDOMAIN. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-ns/description: -------------------------------------------------------------------------------- 1 | This test checks if we delete NS records properly from the zone apex. There must 2 | always remain 1 NS record at the zone apex. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-a/expected_result: -------------------------------------------------------------------------------- 1 | 0 wtest.com. IN A 3600 9.9.9.9 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='wtest.com.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard/description: -------------------------------------------------------------------------------- 1 | If a CNAME wildcard is present, but there is also a direct hit for the qname 2 | but not for the qtype, a NODATA response should ensue. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/two-level-nxdomain/description: -------------------------------------------------------------------------------- 1 | Make sure a name that is two labels beneath an apex, with even the first label 2 | not existing, generates a correct NSEC(3) denial. 3 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_p2_dbl.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = 2 * p 5 | */ 6 | 7 | void ge_p2_dbl(ge_p1p1 *r,const ge_p2 *p) 8 | { 9 | fe t0; 10 | #include "ge_p2_dbl.h" 11 | } 12 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-check-soa-update/description: -------------------------------------------------------------------------------- 1 | RFC2136 describes that every update message should result in the SOA-serial to be changed. 2 | This test checks if that happens. 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-soa/description: -------------------------------------------------------------------------------- 1 | This test tries to add SOA records in different ways which should all fail. 2 | Soa's are only updated (see 2dyndns-update-replace-soa) 3 | -------------------------------------------------------------------------------- /regression-tests/tests/escaped-txt/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig text0.example.com TXT 3 | cleandig text1.example.com TXT 4 | cleandig text2.example.com TXT 5 | cleandig text3.example.com TXT 6 | -------------------------------------------------------------------------------- /regression-tests/tests/underscore-sorting/expected_result: -------------------------------------------------------------------------------- 1 | 1 test.com. IN NSEC 86400 _underscore.test.com. NS SOA MX RRSIG NSEC DNSKEY 2 | 1 www.test.com. IN NSEC 86400 test.com. CNAME RRSIG NSEC 3 | -------------------------------------------------------------------------------- /regression-tests/tests/unknown-domain/description: -------------------------------------------------------------------------------- 1 | When asked for a domain for which a nameserver is not authoritative, it 2 | should return with an empty no-error packet, and drop the AA bit 3 | -------------------------------------------------------------------------------- /regression-tests.recursor/ghost-2/description: -------------------------------------------------------------------------------- 1 | Simple ghost domain test - delegation is removed and receiver does no tricks 2 | to prolong existence other than sending AUTHORITY with every response. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/very-long-txt/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a TXT record that is directly available in 2 | the database, but is longer than 255 characters. This requires splitting. 3 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_add.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p + q 5 | */ 6 | 7 | void ge_add(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) 8 | { 9 | fe t0; 10 | #include "ge_add.h" 11 | } 12 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_sub.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p - q 5 | */ 6 | 7 | void ge_sub(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) 8 | { 9 | fe t0; 10 | #include "ge_sub.h" 11 | } 12 | -------------------------------------------------------------------------------- /regression-tests.recursor/simple-a/expected_result: -------------------------------------------------------------------------------- 1 | 0 www.example.net. IN A 3600 192.0.2.1 2 | Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0 3 | Reply to question for qname='www.example.net.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-noerror/expected_result.nsec3: -------------------------------------------------------------------------------- 1 | 1 09lo11rs63u9b3d538a86ijvqcqt9312.minimal.com. IN NSEC3 86400 1 [flags] 1 abcd 09LO11RS63U9B3D538A86IJVQCQT9312 NS SOA RRSIG DNSKEY NSEC3PARAM 2 | -------------------------------------------------------------------------------- /regression-tests/tests/root-cname/expected_result: -------------------------------------------------------------------------------- 1 | 0 toroot.test.com. IN CNAME 3600 . 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='toroot.test.com.', qtype=CNAME 4 | -------------------------------------------------------------------------------- /regression-tests/tests/second-level-nxdomain/description: -------------------------------------------------------------------------------- 1 | Make sure a name that is two labels beneath an apex, with the first label 2 | existing but the second absent, generates a correct NSEC(3) denial. 3 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | /html 2 | /pdns 3 | /pdns.pdf 4 | /pdns.txt 5 | /html.tar.bz2 6 | /pdns-expanded.xml 7 | /pdns-expanded.html 8 | /html 9 | /doc-build 10 | /*.[0-9] 11 | /Makefile 12 | /Makefile.in 13 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_madd.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p + q 5 | */ 6 | 7 | void ge_madd(ge_p1p1 *r,const ge_p3 *p,const ge_precomp *q) 8 | { 9 | fe t0; 10 | #include "ge_madd.h" 11 | } 12 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_msub.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p - q 5 | */ 6 | 7 | void ge_msub(ge_p1p1 *r,const ge_p3 *p,const ge_precomp *q) 8 | { 9 | fe t0; 10 | #include "ge_msub.h" 11 | } 12 | -------------------------------------------------------------------------------- /regression-tests.nobackend/.gitignore: -------------------------------------------------------------------------------- 1 | diff 2 | real_result 3 | *.out 4 | /*.xml 5 | /*.tar 6 | /dnssec-validation-failures 7 | /skipped_tests 8 | /test-results 9 | /passed_tests 10 | /failed_tests 11 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-deep-delegate/description: -------------------------------------------------------------------------------- 1 | This test adds a delegate and a delegate at a deeper level. It validates that 2 | ordername and auth are set correctly and no ENT's are inserted. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/bind-add-zone/stress/createzones.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | for f in $(seq 1 $AMOUNT); do 4 | f=addzone$f.com 5 | sed -e "s/addzone.com/$f/g" addzone.com > $TMP/$f 6 | done 7 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-noerror/expected_result.narrow: -------------------------------------------------------------------------------- 1 | 1 09lo11rs63u9b3d538a86ijvqcqt9312.minimal.com. IN NSEC3 86400 1 [flags] 1 abcd 09LO11RS63U9B3D538A86IJVQCQT9313 NS SOA RRSIG DNSKEY NSEC3PARAM 2 | -------------------------------------------------------------------------------- /regression-tests/tests/minimal-nxdomain/expected_result.nsec3: -------------------------------------------------------------------------------- 1 | 1 09lo11rs63u9b3d538a86ijvqcqt9312.minimal.com. IN NSEC3 86400 1 [flags] 1 abcd 09LO11RS63U9B3D538A86IJVQCQT9312 NS SOA RRSIG DNSKEY NSEC3PARAM 2 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-key-mismatch/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | dig -t axfr tsig.com @$nameserver -p $port -y $ALGORITHM:test:ZmFpbGZhaWxmYWlsZmFpbGZhaWxmYWlsZmFpbGZhaWxmYWlsZmFpbA== | grep -i 'failed' 3 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/list-all-records/expected_dnssec_part3: -------------------------------------------------------------------------------- 1 | up.example.com. 120 IN NS ns1.example.com. 2 | up.example.com. 120 IN NS ns2.example.com. 3 | www.example.com. 120 IN A 192.168.2.255 4 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-add-host/description: -------------------------------------------------------------------------------- 1 | This test deletes a record and add's it again. Another record with the same name 2 | exists, this test check if we only delete the correct record. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/8bit-txt/expected_result: -------------------------------------------------------------------------------- 1 | 0 aland.test.com. IN TXT 3600 "\195\133LAND ISLANDS" 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='aland.test.com.', qtype=TXT 4 | -------------------------------------------------------------------------------- /regression-tests/tests/root-srv/expected_result: -------------------------------------------------------------------------------- 1 | 0 _root._tcp.dc.test.com. IN SRV 3600 0 0 0 . 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='_root._tcp.dc.test.com.', qtype=SRV 4 | -------------------------------------------------------------------------------- /regression-tests/tests/too-big-for-udp-query-no-truncate-additional/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig together-too-much.example.com MX | perl -pe 's/(192\.168\.99\.)[0-9]+/$1/; s/toomuchinfo-[ab]/toomuchinfo-X/;' 4 | -------------------------------------------------------------------------------- /modules/remotebackend/.gitignore: -------------------------------------------------------------------------------- 1 | test_remotebackend_http 2 | test_remotebackend_pipe 3 | test_remotebackend_unix 4 | test_remotebackend_json 5 | test_remotebackend_post 6 | test_remotebackend_zeromq 7 | *.trs 8 | *.log 9 | -------------------------------------------------------------------------------- /pdns/base32.hh: -------------------------------------------------------------------------------- 1 | #ifndef PDNS_BASE32_HH 2 | #define PDNS_BASE32_HH 3 | #include 4 | 5 | std::string toBase32Hex(const std::string& input); 6 | std::string fromBase32Hex(const std::string& input); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/fe_pow22523.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | void fe_pow22523(fe out,const fe z) 4 | { 5 | fe t0; 6 | fe t1; 7 | fe t2; 8 | int i; 9 | 10 | #include "pow22523.h" 11 | 12 | return; 13 | } 14 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_p3_dbl.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = 2 * p 5 | */ 6 | 7 | void ge_p3_dbl(ge_p1p1 *r,const ge_p3 *p) 8 | { 9 | ge_p2 q; 10 | ge_p3_to_p2(&q,p); 11 | ge_p2_dbl(r,&q); 12 | } 13 | -------------------------------------------------------------------------------- /regression-tests.recursor/txt-escaping/expected_result: -------------------------------------------------------------------------------- 1 | 0 weirdtxt.example.net. IN TXT 3600 "x\014x" 2 | Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0 3 | Reply to question for qname='weirdtxt.example.net.', qtype=TXT 4 | -------------------------------------------------------------------------------- /regression-tests/tests/any-wildcard/expected_result: -------------------------------------------------------------------------------- 1 | 0 www.something.wtest.com. IN A 3600 4.3.2.1 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='www.something.wtest.com.', qtype=ANY 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-a-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 outpost.example.com. IN A 120 192.168.2.1 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='outpost.example.com.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-hinfo/expected_result: -------------------------------------------------------------------------------- 1 | 0 hwinfo.example.com. IN HINFO 120 "abc" "def" 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='hwinfo.example.com.', qtype=HINFO 4 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-wildcard/expected_result: -------------------------------------------------------------------------------- 1 | 0 www.something.wtest.com. IN A 3600 4.3.2.1 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='www.something.wtest.com.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/mx-to-cname/expected_result: -------------------------------------------------------------------------------- 1 | 0 mail.example.com. IN MX 120 25 smtp1.example.com. 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='mail.example.com.', qtype=MX 4 | -------------------------------------------------------------------------------- /regression-tests/tests/rp/expected_result: -------------------------------------------------------------------------------- 1 | 0 server1.test.com. IN RP 3600 ahu.ds9a.nl. counter.test.com. 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='server1.test.com.', qtype=RP 4 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-key-mismatch/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | dig -t ixfr=2000081501 tsig.com @$nameserver -p $port -y $ALGORITHM:test:ZmFpbGZhaWxmYWlsZmFpbGZhaWxmYWlsZmFpbGZhaWxmYWlsZmFpbA== | grep -i 'failed' 3 | -------------------------------------------------------------------------------- /regression-tests/zones/.gitignore: -------------------------------------------------------------------------------- 1 | /test.dyndns 2 | /*.bind 3 | /*.com-slave 4 | /*.dyndns-slave 5 | /*.signed 6 | /*.nsd 7 | /ixfr.state 8 | /nsd.db 9 | /ixfr-slave.db 10 | /ixfr-slave.state 11 | /nsd-slave.db 12 | -------------------------------------------------------------------------------- /pdns/ext/polarssl/.gitignore: -------------------------------------------------------------------------------- 1 | CMakeCache.txt 2 | CMakeFiles 3 | CTestTestfile.cmake 4 | cmake_install.cmake 5 | Testing 6 | Coverage 7 | *.gcno 8 | *.gcda 9 | library/polarssl.info 10 | Makefile 11 | Makefile.in 12 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui48/expected_result: -------------------------------------------------------------------------------- 1 | 0 host-0.example.com. IN EUI48 120 00-50-56-9b-00-e7 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='host-0.example.com.', qtype=EUI48 4 | -------------------------------------------------------------------------------- /regression-tests/tests/bind-add-zone/stress/README: -------------------------------------------------------------------------------- 1 | Requires: dnsperf, pdns_server, pdns_control 2 | 3 | Stress test for bind-add-zone command. Uses dnsperf. 4 | 5 | Start from regression-tests folder having pdns build. 6 | -------------------------------------------------------------------------------- /regression-tests/tests/multi-txt-escape-resolution/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a TXT record that is directly available in 2 | the database, and has multiple parts, one of which has embedded escaped 3 | quotes. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/one-step-cname-resolution/description: -------------------------------------------------------------------------------- 1 | Tries to resolve the A for www.example.com, which is a CNAME to 2 | outpost.example.com, which has an A record, and which should appear in the 3 | answer section. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation-ds-ns/description: -------------------------------------------------------------------------------- 1 | This test checks the DS/NS response for a secure referral. 2 | It was written specifically to verify that we do not sign NS records 3 | at secure delegations. 4 | 5 | -------------------------------------------------------------------------------- /debian/pdns.prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | if [ "$1" = "remove" ] ; then 6 | if command -v invoke-rc.d >/dev/null 2>&1; then 7 | invoke-rc.d pdns stop 8 | else 9 | /etc/init.d/pdns stop 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-eui64/expected_result: -------------------------------------------------------------------------------- 1 | 0 host-1.example.com. IN EUI64 120 00-50-56-9b-00-e7-7e-57 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='host-1.example.com.', qtype=EUI64 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-txt-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 text.example.com. IN TXT 120 "Hi, this is some text" 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='text.example.com.', qtype=TXT 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-but-no-correct-type/description: -------------------------------------------------------------------------------- 1 | Tries to resolve the AAAA for www.example.com, which is a CNAME to 2 | outpost.example.com, which has an A record, but no AAAA record. Should show 3 | CNAME and SOA. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-referral/description: -------------------------------------------------------------------------------- 1 | A CNAME to a record that we have NS records for. This is to verify ticket 2 | 123 does not return. This ticket was addressed by commit 992, but the fix 3 | looks a bit scary. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/double/expected_result: -------------------------------------------------------------------------------- 1 | 0 double.example.com. IN A 120 192.168.5.1 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='double.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-secure-delegation/description: -------------------------------------------------------------------------------- 1 | This test tries to resolve a DS question at a secure delegation. 2 | It was written specifically to verify that we do not sign NS records 3 | at secure delegations. 4 | 5 | -------------------------------------------------------------------------------- /regression-tests/tests/multi-step-cname-resolution/description: -------------------------------------------------------------------------------- 1 | CNAMEs can be chained and an authoritative nameserver should follow an 2 | arbitrary number of CNAME chains internally. This test uses 3 chains for 3 | four records. 4 | -------------------------------------------------------------------------------- /regression-tests/totar: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | [ -z "$context" ] && context="global" 3 | 4 | # let ls sort our filenames 5 | tar cf testresults-${context}.tar $(ls ${testsdir}/*/real_result ${testsdir}/*/*.out testresults-${context}.xml) 6 | -------------------------------------------------------------------------------- /modules/randombackend/Makefile.am: -------------------------------------------------------------------------------- 1 | pkglib_LTLIBRARIES = librandombackend.la 2 | 3 | EXTRA_DIST = OBJECTFILES OBJECTLIBS 4 | 5 | librandombackend_la_SOURCES = randombackend.cc 6 | librandombackend_la_LDFLAGS = -module -avoid-version 7 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-a-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 outpost.example.com. IN A 120 192.168.2.1 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='outpost.example.com.', qtype=A 4 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/crypto_verify_32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_verify_32_H 2 | #define crypto_verify_32_H 3 | 4 | #define crypto_verify_32_ref_BYTES 32 5 | extern int crypto_verify_32(const unsigned char *,const unsigned char *); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/fe_invert.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | void fe_invert(fe out,const fe z) 4 | { 5 | fe t0; 6 | fe t1; 7 | fe t2; 8 | fe t3; 9 | int i; 10 | 11 | #include "pow225521.h" 12 | 13 | return; 14 | } 15 | -------------------------------------------------------------------------------- /regression-tests/tests/0dyndns-prereq-all/description: -------------------------------------------------------------------------------- 1 | This test checks section 3.2.1 and 3.2.3 of RFC2136, which is the prerequisite 2 | section. This test also checks to see what happens when a backend does NOT 3 | support RFC2136. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cross-domain-cname-to-wildcard/description: -------------------------------------------------------------------------------- 1 | If we CNAME to another locally-hosted domain, while following the chain, 2 | we should make sure to update the left hand side too, even when hitting 3 | a wildcard. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/naptr/expected_result: -------------------------------------------------------------------------------- 1 | 0 enum.test.com. IN NAPTR 3600 100 50 "u" "e2u+sip" "" testuser.domain.com. 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='enum.test.com.', qtype=NAPTR 4 | -------------------------------------------------------------------------------- /regression-tests/tests/root-mx/expected_result: -------------------------------------------------------------------------------- 1 | 0 test.com. IN MX 3600 10 . 2 | 0 test.com. IN MX 3600 15 smtp-servers.test.com. 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='test.com.', qtype=MX 5 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr/expected_result: -------------------------------------------------------------------------------- 1 | tsig.com. 120 IN SOA ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | tsig.com. 120 IN SOA ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 3 | -------------------------------------------------------------------------------- /debian/pdns.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | update_init() { 6 | update-rc.d pdns remove > /dev/null 7 | } 8 | 9 | 10 | if [ "$1" = "purge" ] ; then 11 | update_init 12 | rmdir /etc/powerdns || true 13 | fi 14 | 15 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-aaaa-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 outpost.example.com. IN AAAA 120 fe80::1 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='outpost.example.com.', qtype=AAAA 4 | -------------------------------------------------------------------------------- /pdns/base64.hh: -------------------------------------------------------------------------------- 1 | #ifndef PDNS_BASE64_HH 2 | #define PDNS_BASE64_HH 3 | 4 | #include 5 | 6 | int B64Decode(const std::string& src, std::string& dst); 7 | std::string Base64Encode (const std::string& src); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_p3_to_p2.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | extern void ge_p3_to_p2(ge_p2 *r,const ge_p3 *p) 8 | { 9 | fe_copy(r->X,p->X); 10 | fe_copy(r->Y,p->Y); 11 | fe_copy(r->Z,p->Z); 12 | } 13 | -------------------------------------------------------------------------------- /pdns/secpoll-auth.hh: -------------------------------------------------------------------------------- 1 | #ifndef PDNS_SECPOLL_AUTH_HH 2 | #define PDNS_SECPOLL_AUTH_HH 3 | #include 4 | #include "namespaces.hh" 5 | 6 | void doSecPoll(bool first); 7 | extern std::string g_security_message; 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-multi-add-host/description: -------------------------------------------------------------------------------- 1 | This test performs a delete without a record type (which removes all the items 2 | with that name). It then adds the records again. Also contains an 'add' to the TXT 3 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-nsec3params/skip.narrow: -------------------------------------------------------------------------------- 1 | This test is skipped in narrow mode as we cannot set narrow via nsec3param. 2 | So, this test could impact other tests, as after this test has run, narrow mode would be off. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-srv/expected_result: -------------------------------------------------------------------------------- 1 | 0 _ldap._tcp.dc.test.com. IN SRV 3600 0 100 389 server2.example.net. 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='_ldap._tcp.dc.test.com.', qtype=SRV 4 | -------------------------------------------------------------------------------- /regression-tests/tests/external-cname-pointer/description: -------------------------------------------------------------------------------- 1 | A series of CNAME pointers can lead to an outside reference, which should be 2 | passed in the Answer section. PowerDNS sends an unauthoritative NOERROR, 3 | bind sends a SERVFAIL. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-invalid-record/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig host-invalid.test.dyndns ANY hidesoadetails 3 | tests/$testname/sendupdate.pl $nameserver $port 4 | cleandig host-invalid.test.dyndns ANY hidesoadetails 5 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-aaaa-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 ipv6.example.com. IN AAAA 120 2001:6a8:0:1:210:4bff:fe4b:4c61 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='ipv6.example.com.', qtype=AAAA 4 | -------------------------------------------------------------------------------- /regression-tests/tests/mx-to-cname/description: -------------------------------------------------------------------------------- 1 | MX records cannot point to CNAMEs, according to the RFC. Yet when this 2 | happens, a nameserver should not fall over, but let the mailserver process 3 | the CNAME further (all do, even qmail). 4 | -------------------------------------------------------------------------------- /regression-tests.recursor/direct-cname/expected_result: -------------------------------------------------------------------------------- 1 | 0 www-d.prefect.example.net. IN CNAME 3600 www.arthur.example.net. 2 | Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0 3 | Reply to question for qname='www-d.prefect.example.net.', qtype=CNAME 4 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-nsec3params-with-others/skip.narrow: -------------------------------------------------------------------------------- 1 | This test is skipped in narrow mode as we cannot set narrow via nsec3param. 2 | So, this test could impact other tests, as after this test has run, narrow mode would be off. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/dname-self/expected_result: -------------------------------------------------------------------------------- 1 | 1 test.com. IN SOA 3600 ns1.test.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='d.test.com.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nxdomain-for-unknown-record/description: -------------------------------------------------------------------------------- 1 | When authoritative for a domain and sure that the entire record does not 2 | exist, an no referral NS is available, send an empty packet with 'NXDOMAIN' 3 | in the flags ('data error'). 4 | -------------------------------------------------------------------------------- /regression-tests/tests/wildcard-overlaps-delegation/expected_result: -------------------------------------------------------------------------------- 1 | 1 sub.test.test.com. IN NS 3600 ns-test.example.net.test.com. 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0 3 | Reply to question for qname='www.sub.test.test.com.', qtype=A 4 | -------------------------------------------------------------------------------- /docs/markdown/theme/content.html: -------------------------------------------------------------------------------- 1 | {% if source %} 2 | 7 | {% endif %} 8 | 9 | {{ content }} 10 | -------------------------------------------------------------------------------- /modules/luabackend/lua_functions.hh: -------------------------------------------------------------------------------- 1 | #ifndef LUABACKEND_EXTERN_F_HH 2 | #define LUABACKEND_EXTERN_F_HH 3 | 4 | //extern LUABackend* lb; 5 | extern int my_lua_panic(lua_State* lua); 6 | extern void register_lua_functions(lua_State* lua); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_p1p1_to_p2.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | extern void ge_p1p1_to_p2(ge_p2 *r,const ge_p1p1 *p) 8 | { 9 | fe_mul(r->X,p->X,p->T); 10 | fe_mul(r->Y,p->Y,p->Z); 11 | fe_mul(r->Z,p->Z,p->T); 12 | } 13 | -------------------------------------------------------------------------------- /regression-tests.api/runtests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ ! -d .venv ]; then 4 | virtualenv .venv 5 | fi 6 | . .venv/bin/activate 7 | python -V 8 | pip install -r requirements.txt 9 | 10 | set -e 11 | set -x 12 | exec ./runtests.py "$@" 13 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-mx/description: -------------------------------------------------------------------------------- 1 | A test to see if RFC2136 add and delete record works properly on an MX record, 2 | this is interesting because the priority is stored separately in powerdns and 3 | it is part of the RDATA. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-replace-mx/description: -------------------------------------------------------------------------------- 1 | A test for RFC2136 which checks section 3.4.2.2 - Replacing a record. In this 2 | test, we specifically use MX record, to see if the TTL changes of the MX record 3 | with the correct priority. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/8bit-txt-unescaped/expected_result: -------------------------------------------------------------------------------- 1 | 0 hightxt.test.com. IN TXT 3600 "v=spf1 mx ip4:78.46.192.210 \226\128\147all" 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='hightxt.test.com.', qtype=TXT 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-nxdomain-any/expected_result: -------------------------------------------------------------------------------- 1 | 0 nxd.example.com. IN CNAME 120 nxdomain.example.com. 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='nxd.example.com.', qtype=ANY 5 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-wildcard-below-ent/expected_result: -------------------------------------------------------------------------------- 1 | 0 something.a.b.c.test.com. IN A 3600 8.7.6.5 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='something.a.b.c.test.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests.recursor/hijack-1/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . vars 3 | cleandig hijacker.example.net ns | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 4 | cleandig www.hijackme.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/' 5 | sleep 5 -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-in-between/description: -------------------------------------------------------------------------------- 1 | This test checks if we add a record correctly in between two other records. 2 | This requires us to correct ENT records. The test is also focussed on checking 3 | if we purge our cache correctly. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-a-but-no-a/expected_result: -------------------------------------------------------------------------------- 1 | 1 test.com. IN SOA 3600 ns1.test.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='test.com.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard-at-root/description: -------------------------------------------------------------------------------- 1 | If a CNAME wildcard is present, but there is also a direct hit for the qname 2 | but not for the qtype, a NODATA response should ensue. This test runs at the 3 | root of the domain (the 'apex') 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ns-with-identical-glue/expected_result: -------------------------------------------------------------------------------- 1 | 1 blah.test.com. IN NS 3600 blah.test.com. 2 | 2 blah.test.com. IN A 3600 192.168.6.1 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0 4 | Reply to question for qname='blah.test.com.', qtype=MX 5 | -------------------------------------------------------------------------------- /pdns/mkpubsuffixcc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | (echo "const char* g_pubsuffix[]={"; 4 | for a in $(grep -v "//" effective_tld_names.dat | grep \\. | egrep "^[.0-9a-z-]*$" ; echo "co.za" ; echo "co.il" ) 5 | do 6 | echo \"$a\", 7 | done 8 | echo "0};") > pubsuffix.cc -------------------------------------------------------------------------------- /regression-tests.recursor/direct-cname-to-nxdomain/expected_result: -------------------------------------------------------------------------------- 1 | 0 www-a.prefect.example.net. IN CNAME 3600 www-a-2.prefect.example.net. 2 | Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0 3 | Reply to question for qname='www-a.prefect.example.net.', qtype=CNAME 4 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-nsec3params-with-others/description: -------------------------------------------------------------------------------- 1 | This test checks if adding/updating an NSEC3PARAM with other records in one go works. 2 | When adding/updating the NSEC3PARAM, the new values must also be used on the other records as well. 3 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard/expected_result: -------------------------------------------------------------------------------- 1 | 1 test.com. IN SOA 3600 ns1.test.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='www.test.test.com.', qtype=MX 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ent/expected_result: -------------------------------------------------------------------------------- 1 | 1 test.com. IN SOA 3600 ns1.test.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='c.test.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/root-ns/expected_result: -------------------------------------------------------------------------------- 1 | 0 wtest.com. IN NS 3600 . 2 | 0 wtest.com. IN NS 3600 ns1.wtest.com. 3 | 2 ns1.wtest.com. IN A 3600 2.3.4.5 4 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 5 | Reply to question for qname='wtest.com.', qtype=NS 6 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation-ds-ns/expected_result: -------------------------------------------------------------------------------- 1 | 1 dsdelegation.example.com. IN NS 120 ns.example.com. 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0 4 | Reply to question for qname='www.dsdelegation.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /m4/pdns_with_geo.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([PDNS_CHECK_GEOIP], [ 2 | PKG_CHECK_MODULES([GEOIP], [geoip],[], 3 | AC_MSG_ERROR([Could not find libGeoIP]) 4 | ) 5 | PKG_CHECK_MODULES([YAML], [yaml-cpp >= 0.5],[], 6 | AC_MSG_ERROR([Could not find yaml-cpp]) 7 | ) 8 | ]) 9 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/dnssec-keys/expected_result: -------------------------------------------------------------------------------- 1 | 0 example.com. IN DNSKEY 120 256 3 8 ... 2 | 0 example.com. IN DNSKEY 120 257 3 8 ... 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='example.com.', qtype=DNSKEY 5 | -------------------------------------------------------------------------------- /regression-tests.nobackend/tinydns-data-check/command: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | for zone in `cat ../regression-tests/named.conf | grep 'zone ' | cut -f 2 -d \"` 4 | do 5 | md5sum ../regression-tests/zones/$zone 6 | done 7 | md5sum ../modules/tinydnsbackend/data.cdb 8 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-soa-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 example.com. IN SOA 100000 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='example.com.', qtype=SOA 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-any/expected_result: -------------------------------------------------------------------------------- 1 | 1 test.com. IN SOA 3600 ns1.test.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='c.test.com.', qtype=ANY 5 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-soa/expected_result: -------------------------------------------------------------------------------- 1 | 1 test.com. IN SOA 3600 ns1.test.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='c.test.com.', qtype=SOA 5 | -------------------------------------------------------------------------------- /regression-tests/tests/glue-referral/description: -------------------------------------------------------------------------------- 1 | When something.example.com is delegated to NS records that reside *within* 2 | something.example.com, glue is needed. The IP addresses of the relevant NS 3 | records should then be provided in the additional section. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/multi-txt-escape-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 escapedtext.example.com. IN TXT 120 "begin" "the \"middle\" p\\art" "the end" 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='escapedtext.example.com.', qtype=TXT 4 | -------------------------------------------------------------------------------- /regression-tests/tests/multi-txt-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 multitext.example.com. IN TXT 120 "text part one" "text part two" "text part three" 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='multitext.example.com.', qtype=TXT 4 | -------------------------------------------------------------------------------- /regression-tests/tests/secure-delegation/expected_result: -------------------------------------------------------------------------------- 1 | 0 secure-delegated.dnssec-parent.com. IN A 3600 9.9.9.9 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='secure-delegated.dnssec-parent.com.', qtype=A 5 | -------------------------------------------------------------------------------- /contrib/upstart-recursor.conf: -------------------------------------------------------------------------------- 1 | # recursor - the PowerDNS Recursor 2 | # for in /etc/init/recursor.conf 3 | description "PowerDNS Recursor" 4 | 5 | start on runlevel [2345] 6 | stop on runlevel [!2345] 7 | respawn 8 | 9 | exec /usr/sbin/pdns_recursor --daemon=no 10 | -------------------------------------------------------------------------------- /m4/pdns_check_curl_program.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([PDNS_CHECK_CURL_PROGRAM], [ 2 | AC_CHECK_PROG([CURL], [curl], [curl], [no]) 3 | 4 | AS_IF([test "x$CURL" = "xno"], [ 5 | AC_MSG_ERROR([curl program is missing, required for running remotebackend unit tests]) 6 | ]) 7 | ]) 8 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard-at-root/expected_result: -------------------------------------------------------------------------------- 1 | 1 wtest.com. IN SOA 3600 ns1.wtest.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='secure.wtest.com.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-and-wildcard-but-no-correct-type/description: -------------------------------------------------------------------------------- 1 | If a CNAME wildcard is present, and it matches, but points to a record that 2 | does not have the requested type, a CNAME should be emitted plus a SOA to 3 | indicate no match with the right record 4 | -------------------------------------------------------------------------------- /regression-tests/tests/long-name/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cleandig aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.test.com TXT 3 | 4 | -------------------------------------------------------------------------------- /regression-tests/tests/obscured-wildcard/expected_result: -------------------------------------------------------------------------------- 1 | 1 wtest.com. IN SOA 3600 ns1.wtest.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='www.a.something.wtest.com.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/uppercase-nsec/description: -------------------------------------------------------------------------------- 1 | Make sure we lowercase the next name in an NSEC because validators 2 | do not (RFC6840 5.1). 3 | Also, make sure our NSEC3 apex bitmap includes DNSKEY and NSEC3PARAM 4 | if the zone name part of the query includes uppercase. 5 | -------------------------------------------------------------------------------- /regression-tests/tests/wrong-type-wildcard/expected_result: -------------------------------------------------------------------------------- 1 | 1 wtest.com. IN SOA 3600 ns1.wtest.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='www.something.wtest.com.', qtype=TXT 4 | -------------------------------------------------------------------------------- /pdns/ext/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = \ 2 | $(POLARSSL_SUBDIR) \ 3 | $(ED25519_SUBDIR) \ 4 | yahttp \ 5 | rapidjson 6 | 7 | DIST_SUBDIRS = \ 8 | polarssl \ 9 | ed25519 \ 10 | yahttp \ 11 | rapidjson 12 | 13 | EXTRA_DIST = \ 14 | luawrapper/include/LuaContext.hpp 15 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delegate-in-between/description: -------------------------------------------------------------------------------- 1 | This tests adds a delegate between two (existing) records. The test validates 2 | that we set our ordername correctly. It also validates that our cache is 3 | correctly purged (when we are selective about it). 4 | -------------------------------------------------------------------------------- /regression-tests/tests/one-step-cname-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 outpost.example.com. IN A 120 192.168.2.1 2 | 0 www.example.com. IN CNAME 120 outpost.example.com. 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='www.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/too-big-for-udp-query/description: -------------------------------------------------------------------------------- 1 | UDP dns packets can only be 512 bytes long - when they are longer, they need 2 | to get truncated, and have the 'TC' bit set, to inform the client that they 3 | need to requery over TCP. This query should get truncated. 4 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/sha512.h: -------------------------------------------------------------------------------- 1 | extern int crypto_hashblocks(unsigned char *statebytes,const unsigned char *in,unsigned long long inlen); 2 | extern int crypto_hash_sha512(unsigned char *out,const unsigned char *in,unsigned long long inlen); 3 | 4 | #define crypto_hash_sha512_BYTES 64 5 | -------------------------------------------------------------------------------- /regression-tests/tests/direct-dnskey/expected_result: -------------------------------------------------------------------------------- 1 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='example.com.', qtype=DNSKEY 5 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-rr-enclosed-in-ent/expected_result: -------------------------------------------------------------------------------- 1 | 1 test.com. IN SOA 3600 ns1.test.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='b.c.test.com.', qtype=TXT 5 | -------------------------------------------------------------------------------- /regression-tests/tests/internal-referral/description: -------------------------------------------------------------------------------- 1 | When something.example.com is delegated to NS records that reside *within* 2 | example.com, additional processing should place the A for the NS records in 3 | the additional section. NS records should come in the authority section. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nxdomain-for-unknown-record/expected_result: -------------------------------------------------------------------------------- 1 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='no-such-host.example.com.', qtype=A 4 | -------------------------------------------------------------------------------- /modules/geobackend/Makefile.am: -------------------------------------------------------------------------------- 1 | pkglib_LTLIBRARIES = libgeobackend.la 2 | 3 | EXTRA_DIST = OBJECTFILES OBJECTLIBS 4 | 5 | libgeobackend_la_SOURCES = \ 6 | geobackend.cc geobackend.hh \ 7 | ippreftree.cc ippreftree.hh 8 | 9 | libgeobackend_la_LDFLAGS = -module -avoid-version 10 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/fe_0.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = 0 5 | */ 6 | 7 | void fe_0(fe h) 8 | { 9 | h[0] = 0; 10 | h[1] = 0; 11 | h[2] = 0; 12 | h[3] = 0; 13 | h[4] = 0; 14 | h[5] = 0; 15 | h[6] = 0; 16 | h[7] = 0; 17 | h[8] = 0; 18 | h[9] = 0; 19 | } 20 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/fe_1.c: -------------------------------------------------------------------------------- 1 | #include "fe.h" 2 | 3 | /* 4 | h = 1 5 | */ 6 | 7 | void fe_1(fe h) 8 | { 9 | h[0] = 1; 10 | h[1] = 0; 11 | h[2] = 0; 12 | h[3] = 0; 13 | h[4] = 0; 14 | h[5] = 0; 15 | h[6] = 0; 16 | h[7] = 0; 17 | h[8] = 0; 18 | h[9] = 0; 19 | } 20 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_p1p1_to_p3.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | /* 4 | r = p 5 | */ 6 | 7 | extern void ge_p1p1_to_p3(ge_p3 *r,const ge_p1p1 *p) 8 | { 9 | fe_mul(r->X,p->X,p->T); 10 | fe_mul(r->Y,p->Y,p->Z); 11 | fe_mul(r->Z,p->Z,p->T); 12 | fe_mul(r->T,p->X,p->Y); 13 | } 14 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-delete-cname/description: -------------------------------------------------------------------------------- 1 | A test to see if RFC2136 add and delete record works properly on a cname record. 2 | This is important because CNAME's have a special function when they are 3 | replaced. This test aims to check add/delete of the cname. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/any-nxdomain/expected_result: -------------------------------------------------------------------------------- 1 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='nxdomain.example.com.', qtype=ANY 5 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-apex-noerror/expected_result: -------------------------------------------------------------------------------- 1 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='example.com.', qtype=DS 5 | -------------------------------------------------------------------------------- /regression-tests/tests/same-level-referral/expected_result: -------------------------------------------------------------------------------- 1 | 1 france.example.com. IN NS 120 ns1.otherprovider.net. 2 | 1 france.example.com. IN NS 120 ns2.otherprovider.net. 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0 4 | Reply to question for qname='france.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-asterisk/expected_result: -------------------------------------------------------------------------------- 1 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='sub.host.sub.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/non-existing-record-other-types-exist-ns/expected_result: -------------------------------------------------------------------------------- 1 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='ns1.example.com.', qtype=AAAA 4 | -------------------------------------------------------------------------------- /regression-tests/tests/non-existing-record-other-types-exist/description: -------------------------------------------------------------------------------- 1 | When asking for a record/type combination which does not exist, but the 2 | record in question does have other types available, a nameserver should 3 | return an authoritative empty no-error packet, and NOT set NXDOMAIN. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/non-existing-record-other-types-exist/expected_result: -------------------------------------------------------------------------------- 1 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='outpost.example.com.', qtype=AAAA 4 | -------------------------------------------------------------------------------- /regression-tests/tests/nsec3-hash-query/expected_result: -------------------------------------------------------------------------------- 1 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 2 | Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='vtnq6ocn2vkuiv3nju14oqtaen2mt5sk.example.com.', qtype=A 4 | -------------------------------------------------------------------------------- /regression-tests/tests/same-level-referral-soa/expected_result: -------------------------------------------------------------------------------- 1 | 1 france.example.com. IN NS 120 ns1.otherprovider.net. 2 | 1 france.example.com. IN NS 120 ns2.otherprovider.net. 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0 4 | Reply to question for qname='france.example.com.', qtype=SOA 5 | -------------------------------------------------------------------------------- /modules/luabackend/test/pdns: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ../../../pdns/pdns_server --daemon=no --local-port=5300 --socket-dir=./ \ 4 | --no-shuffle --launch=lua --send-root-referral --loglevel=9 \ 5 | --config-dir=./ --cache-ttl=0 --negquery-cache-ttl=0 --query-cache-ttl=0 --recursive-cache-ttl=0 6 | -------------------------------------------------------------------------------- /pdns/testrunner.cc: -------------------------------------------------------------------------------- 1 | #define BOOST_TEST_DYN_LINK 2 | #define BOOST_TEST_MAIN 3 | #define BOOST_TEST_MODULE unit 4 | 5 | #ifdef HAVE_CONFIG_H 6 | #include "config.h" 7 | #endif 8 | #include "packetcache.hh" 9 | StatBag S; 10 | PacketCache PC; 11 | 12 | #include 13 | -------------------------------------------------------------------------------- /regression-tests.recursor/simple-cname-to-a/expected_result: -------------------------------------------------------------------------------- 1 | 0 www-d.prefect.example.net. IN CNAME 3600 www.arthur.example.net. 2 | 0 www.arthur.example.net. IN A 3600 192.0.2.2 3 | Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0 4 | Reply to question for qname='www-d.prefect.example.net.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-deep-add-delete/description: -------------------------------------------------------------------------------- 1 | This test performs a simple add and delete of an A-record on a very deep level, 2 | which should cause ENT's to be inserted. This test also validates if the cache 3 | is cleaned properly and NSEC(3) records are returned correctly. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/ds-at-secure-delegation/expected_result: -------------------------------------------------------------------------------- 1 | 0 dsdelegation.example.com. IN DS 120 28129 8 1 caf1eaaecdabe7616670788f9022454bf5fd9fda 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='dsdelegation.example.com.', qtype=DS 5 | -------------------------------------------------------------------------------- /regression-tests/tests/mx-with-simple-additional-processing/description: -------------------------------------------------------------------------------- 1 | Example.com has two MX records, one of which is out-of-bailiwick and should 2 | not receive additional processing. The other is internal to the zone and has 3 | three A records, which should all be in the additional section. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/out-of-bailiwick-referral/expected_result: -------------------------------------------------------------------------------- 1 | 1 france.example.com. IN NS 120 ns1.otherprovider.net. 2 | 1 france.example.com. IN NS 120 ns2.otherprovider.net. 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0 4 | Reply to question for qname='www.france.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/pretty-big-packet/description: -------------------------------------------------------------------------------- 1 | DNS employs label compression to fit big answers in a small packet. This 2 | test performs a query that without proper compression would not fit. Runs 3 | dig in debug mode which makes proper operation very dependent on your 4 | version of dig. 5 | -------------------------------------------------------------------------------- /pdns/ext/yahttp/yahttp/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libyahttp.la 2 | 3 | libyahttp_la_SOURCES = \ 4 | cookie.hpp \ 5 | exception.hpp \ 6 | reqresp.cpp \ 7 | reqresp.hpp \ 8 | router.cpp \ 9 | router.hpp \ 10 | url.hpp \ 11 | utility.hpp \ 12 | yahttp-config.h \ 13 | yahttp.hpp 14 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-add-invalid-record/description: -------------------------------------------------------------------------------- 1 | This test tries to add a bogus record. It's an invalid record because not all the 2 | specifications have been met. (no type, etc). The test is using DNS::Update from perl 3 | because nsupdate does not allow you to send bogus records. 4 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-nonzone/expected_result: -------------------------------------------------------------------------------- 1 | 0 nztest.com. IN A 3600 127.0.0.1 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='nztest.com.', qtype=A 4 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0 5 | Reply to question for qname='testnz.com.', qtype=A 6 | -------------------------------------------------------------------------------- /regression-tests/zones/stest.com: -------------------------------------------------------------------------------- 1 | $TTL 120 2 | $ORIGIN stest.com. 3 | @ IN SOA ns1.example.com. ahu.example.com. ( 4 | 2000081501 5 | 8H ; refresh 6 | 2H ; retry 7 | 1W ; expire 8 | 1D ; default_ttl 9 | ) 10 | 11 | @ IN NS ns1.example.com. 12 | @ IN NS ns2.example.com. 13 | -------------------------------------------------------------------------------- /regression-tests/zones/tsig.com: -------------------------------------------------------------------------------- 1 | $TTL 120 2 | $ORIGIN tsig.com. 3 | @ IN SOA ns1.example.com. ahu.example.com. ( 4 | 2000081501 5 | 8H ; refresh 6 | 2H ; retry 7 | 1W ; expire 8 | 1D ; default_ttl 9 | ) 10 | 11 | @ IN NS ns1.example.com. 12 | @ IN NS ns2.example.com. 13 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/region-a-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 oc.service.geo.example.com. IN A 30 62.236.200.4 2 | 0 www.geo.example.com. IN CNAME 30 oc.service.geo.example.com. 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='www.geo.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/cross-domain-cname-to-wildcard/expected_result: -------------------------------------------------------------------------------- 1 | 0 bla.something.wtest.com. IN A 3600 4.3.2.1 2 | 0 semi-external.example.com. IN CNAME 120 bla.something.wtest.com. 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='semi-external.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/zones/minimal.com: -------------------------------------------------------------------------------- 1 | $TTL 120 2 | $ORIGIN minimal.com. 3 | @ IN SOA ns1.example.com. ahu.example.com. ( 4 | 2000081501 5 | 8H ; refresh 6 | 2H ; retry 7 | 1W ; expire 8 | 1D ; default_ttl 9 | ) 10 | 11 | @ IN NS ns1.example.com. 12 | @ IN NS ns2.example.com. 13 | -------------------------------------------------------------------------------- /m4/pdns_check_sqlite3.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([PDNS_CHECK_SQLITE3], [ 2 | AS_IF([test "x$needsqlite3" = "xyes"], [ 3 | PKG_CHECK_MODULES([SQLITE3], [sqlite3], 4 | [AC_DEFINE([HAVE_SQLITE3], [1], [Define to 1 if you have sqlite3])], 5 | [AC_MSG_ERROR([Could not find libsqlite3])] 6 | ) 7 | ]) 8 | ]) 9 | -------------------------------------------------------------------------------- /modules/geoipbackend/regression-tests/basic-a-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 unknown.service.geo.example.com. IN A 30 127.0.0.1 2 | 0 www.geo.example.com. IN CNAME 30 unknown.service.geo.example.com. 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='www.geo.example.com.', qtype=A 5 | -------------------------------------------------------------------------------- /pdns/secpoll-recursor.hh: -------------------------------------------------------------------------------- 1 | #ifndef PDNS_SECPOLL_RECURSOR_HH 2 | #define PDNS_SECPOLL_RECURSOR_HH 3 | #include 4 | #include "namespaces.hh" 5 | #include 6 | 7 | void doSecPoll(time_t* ); 8 | extern uint32_t g_security_status; 9 | extern std::string g_security_message; 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /regression-tests.recursor/cross-zone-cname-bogus-nxdomain/expected_result: -------------------------------------------------------------------------------- 1 | 0 www.trillian.example.net. IN CNAME 3600 www2.arthur.example.net. 2 | 0 www2.arthur.example.net. IN A 3600 192.0.2.6 3 | Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0 4 | Reply to question for qname='www.trillian.example.net.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests.recursor/in-zone-cname-bogus-nxdomain/expected_result: -------------------------------------------------------------------------------- 1 | 0 android.marvin.example.net. IN A 3600 192.0.2.5 2 | 0 www.marvin.example.net. IN CNAME 3600 android.marvin.example.net. 3 | Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0 4 | Reply to question for qname='www.marvin.example.net.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/apex-level-ns/expected_result: -------------------------------------------------------------------------------- 1 | 0 test.com. IN NS 3600 ns1.test.com. 2 | 0 test.com. IN NS 3600 ns2.test.com. 3 | 2 ns1.test.com. IN A 3600 1.1.1.1 4 | 2 ns2.test.com. IN A 3600 2.2.2.2 5 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 6 | Reply to question for qname='test.com.', qtype=NS 7 | -------------------------------------------------------------------------------- /m4/pdns_check_mkdocs.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([PDNS_CHECK_MKDOCS], [ 2 | AC_CHECK_PROG([MKDOCS], [mkdocs], [yes], [no]) 3 | 4 | AS_IF([test "x$MKDOCS" = "xno"], [ 5 | AS_IF([test ! -d "$scrdir/docs/html" ], 6 | [AC_MSG_WARN([mkdocs is missing, unable to build documentation.])] 7 | ) 8 | ]) 9 | ]) 10 | -------------------------------------------------------------------------------- /m4/pdns_with_lmdb.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([PDNS_WITH_LMDB],[ 2 | AC_CHECK_HEADERS([lmdb.h], , [AC_MSG_ERROR([lmdb header (lmdb.h) not found])]) 3 | AC_SUBST([LMDB_LIBS]) 4 | AC_CHECK_LIB( 5 | [lmdb], [mdb_env_create], 6 | [AC_DEFINE([HAVE_LIBLMDB], 1, [Have -llmdb]) LMDB_LIBS="-llmdb"] 7 | ) 8 | ]) 9 | -------------------------------------------------------------------------------- /modules/remotebackend/TODO: -------------------------------------------------------------------------------- 1 | - detect jsoncpp and libcurl in configure 2 | - move coprocess from pipebackend to core so remotebackend can run without pipebackend 3 | - make ruby scripts compatible with 1.8 4 | - Improve error handling and reply validation 5 | - Code coverage 6 | - move calls that change things to POST 7 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_tobytes.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_tobytes(unsigned char *s,const ge_p2 *h) 4 | { 5 | fe recip; 6 | fe x; 7 | fe y; 8 | 9 | fe_invert(recip,h->Z); 10 | fe_mul(x,h->X,recip); 11 | fe_mul(y,h->Y,recip); 12 | fe_tobytes(s,y); 13 | s[31] ^= fe_isnegative(x) << 7; 14 | } 15 | -------------------------------------------------------------------------------- /regression-tests/check_stest_source: -------------------------------------------------------------------------------- 1 | function prequery ( dnspacket ) 2 | qname, qtype = dnspacket:getQuestion() 3 | remote = dnspacket:getRemote() 4 | if qname == "stest.com" and remote ~= "127.0.0.2" then 5 | dnspacket:setRcode(pdns.NXDOMAIN) 6 | return true 7 | end 8 | return false 9 | end 10 | -------------------------------------------------------------------------------- /regression-tests/tests/ent-unsigned-delegation/expected_result: -------------------------------------------------------------------------------- 1 | 1 dnssec-parent.com. IN SOA 3600 ns1.dnssec-parent.com. ahu.example.com. 2005092501 28800 7200 604800 86400 2 | 2 . IN OPT 32768 3 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 4 | Reply to question for qname='ent.ent.auth-ent.dnssec-parent.com.', qtype=A 5 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-axfr-algorithm-mismatch/command: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if [ $ALGORITHM == "hmac-md5" ] 3 | then 4 | dig -t axfr tsig.com @$nameserver -p $port -y hmac-sha1:test:$KEY | grep -i 'failed' 5 | else 6 | dig -t axfr tsig.com @$nameserver -p $port -y hmac-md5:test:$KEY | grep -i 'failed' 7 | fi 8 | -------------------------------------------------------------------------------- /pdns/ext/ed25519/ge_p3_tobytes.c: -------------------------------------------------------------------------------- 1 | #include "ge.h" 2 | 3 | void ge_p3_tobytes(unsigned char *s,const ge_p3 *h) 4 | { 5 | fe recip; 6 | fe x; 7 | fe y; 8 | 9 | fe_invert(recip,h->Z); 10 | fe_mul(x,h->X,recip); 11 | fe_mul(y,h->Y,recip); 12 | fe_tobytes(s,y); 13 | s[31] ^= fe_isnegative(x) << 7; 14 | } 15 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-mx-prio/description: -------------------------------------------------------------------------------- 1 | This test checks to see if deleting a MX record with a specific Priority works 2 | correctly. This is interesting because the gsql-backends store priority in a 3 | separate field, where other backends probably store it together with the content 4 | (or RDATA). 5 | -------------------------------------------------------------------------------- /regression-tests/tests/1dyndns-update-delete-soa/command: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cleandig test.dyndns SOA hidesoadetails 4 | 5 | cleannsupdate <&1 | grep -o 'constraint failed' 5 | 6 | exit 0 7 | -------------------------------------------------------------------------------- /regression-tests/tests/basic-ns-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 example.com. IN NS 120 ns1.example.com. 2 | 0 example.com. IN NS 120 ns2.example.com. 3 | 2 ns1.example.com. IN A 120 192.168.1.1 4 | 2 ns2.example.com. IN A 120 192.168.1.2 5 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 6 | Reply to question for qname='example.com.', qtype=NS 7 | -------------------------------------------------------------------------------- /regression-tests/tests/tsig-ixfr-algorithm-mismatch/command: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if [ $ALGORITHM == "hmac-md5" ] 3 | then 4 | dig -t ixfr=2000081501 tsig.com @$nameserver -p $port -y hmac-sha1:test:$KEY | grep -i 'failed' 5 | else 6 | dig -t ixfr=2000081501 tsig.com @$nameserver -p $port -y hmac-md5:test:$KEY | grep -i 'failed' 7 | fi 8 | -------------------------------------------------------------------------------- /modules/lmdbbackend/Makefile.am: -------------------------------------------------------------------------------- 1 | pkglib_LTLIBRARIES = liblmdbbackend.la 2 | 3 | EXTRA_DIST = \ 4 | lmdb-example.pl \ 5 | OBJECTFILES \ 6 | OBJECTLIBS 7 | 8 | liblmdbbackend_la_SOURCES = \ 9 | lmdbbackend.cc lmdbbackend.hh 10 | 11 | liblmdbbackend_la_LDFLAGS = -module -avoid-version 12 | liblmdbbackend_la_LIBADD = $(LMDB_LIBS) 13 | 14 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/basic-a-dnssec/expected_result: -------------------------------------------------------------------------------- 1 | 0 outpost.example.com. IN A 120 192.168.2.1 2 | 0 outpost.example.com. IN RRSIG 120 A 8 3 120 [expiry] [inception] [keytag] example.com. ... 3 | 2 . IN OPT 32768 4 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 5 | Reply to question for qname='outpost.example.com.', qtype=A 6 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/long-txt-resolution/expected_result: -------------------------------------------------------------------------------- 1 | 0 jump.up.example.com. IN TXT 120 "a very very long indeed text string that should pass out clean and proper thru the entire chain of powerdns processing" 2 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 3 | Reply to question for qname='jump.up.example.com.', qtype=TXT 4 | -------------------------------------------------------------------------------- /regression-tests.recursor/stop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | set -x 4 | 5 | . ./vars 6 | 7 | if [ -z "$PREFIX" ] 8 | then 9 | echo "config not found or PREFIX not set" 10 | exit 1 11 | fi 12 | 13 | cd configs 14 | 15 | for dir in $PREFIX.* recursor-service 16 | do 17 | svc -d $dir 18 | svc -k $dir 19 | svc -x $dir 20 | done 21 | -------------------------------------------------------------------------------- /regression-tests/tests/2dyndns-update-replace-soa/description: -------------------------------------------------------------------------------- 1 | A test for RFC2136 which checks section 3.4.2.2 - Replacing a SOA record. This 2 | is special because we can 'set' the soa serial. This test also does not use the 3 | hidesoaserial option because we want to compare that serial. It's also the 4 | reason why the test is run only once. 5 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-nxdomain/expected_result: -------------------------------------------------------------------------------- 1 | 0 nxd.example.com. IN CNAME 120 nxdomain.example.com. 2 | 1 example.com. IN SOA 86400 ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 3 | 2 . IN OPT 32768 4 | Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 5 | Reply to question for qname='nxd.example.com.', qtype=A 6 | -------------------------------------------------------------------------------- /modules/ldapbackend/Makefile.am: -------------------------------------------------------------------------------- 1 | pkglib_LTLIBRARIES = libldapbackend.la 2 | 3 | EXTRA_DIST = OBJECTFILES OBJECTLIBS 4 | 5 | libldapbackend_la_SOURCES = \ 6 | ldapbackend.cc ldapbackend.hh \ 7 | powerldap.cc powerldap.hh \ 8 | utils.hh 9 | 10 | libldapbackend_la_LDFLAGS = -module -avoid-version 11 | libldapbackend_la_LIBADD = $(LDAP_LIBS) 12 | -------------------------------------------------------------------------------- /modules/remotebackend/regression-tests/nsec-sibling-test/expected_result: -------------------------------------------------------------------------------- 1 | 0 jump.up.example.com. IN A 120 192.168.3.1 2 | 0 jump.up.example.com. IN RRSIG 120 A 8 4 120 [expiry] [inception] [keytag] up.example.com. ... 3 | 2 . IN OPT 32768 4 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 5 | Reply to question for qname='jump.up.example.com.', qtype=A 6 | -------------------------------------------------------------------------------- /pdns/sysdeps-recursor/Darwin.inc: -------------------------------------------------------------------------------- 1 | CXXFLAGS+=-D_XOPEN_SOURCE -DHAVE_STRCASESTR -D__APPLE_USE_RFC_3542 -Wno-deprecated-declarations 2 | 3 | LUA_CPPFLAGS_CONFIG ?= -I/usr/include/lua5.1 4 | LUA_LIBS_CONFIG ?= -llua5.1 -rdynamic 5 | 6 | # Lua 5.0 settings 7 | #LUA_CPPFLAGS_CONFIG=-I/usr/include/lua50 8 | #LUA_LIBS_CONFIG=-llua50 -llualib50 9 | 10 | -------------------------------------------------------------------------------- /regression-tests/tests/cname-to-nxdomain-any/expected_result.dnssec: -------------------------------------------------------------------------------- 1 | 0 nxd.example.com. IN CNAME 120 nxdomain.example.com. 2 | 0 nxd.example.com. IN RRSIG 120 CNAME 8 3 120 [expiry] [inception] [keytag] example.com. ... 3 | 2 . IN OPT 32768 4 | Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0 5 | Reply to question for qname='nxd.example.com.', qtype=ANY 6 | --------------------------------------------------------------------------------