Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make root hints configurable, take 2 #1134

Merged
merged 23 commits into from
Oct 28, 2022
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a0dd42a
Adds a new root hints file
matsduf Sep 28, 2022
f94276d
Updates Recursor.pm to make it possible to adapt the root hints to ot…
matsduf Sep 28, 2022
da380f1
Updated Recursor.pm
matsduf Sep 28, 2022
ff6886c
Editorial updates after review comments
matsduf Sep 28, 2022
4bd33bf
Croak at load-time instead of at first call of root_servers()
mattias-p Sep 29, 2022
345436c
Revert exposure of JSON root hints file in public API
mattias-p Sep 29, 2022
dea0816
Make git ignore vim swap files
mattias-p Sep 29, 2022
8e89b08
Refactor: Clean up orphaned documentation
mattias-p Sep 30, 2022
974616c
Refactor: Sort some imports
mattias-p Sep 30, 2022
5aa4222
Refactor: Rename some variables
mattias-p Sep 29, 2022
e037501
Refactor: Be more explicit about class methods
mattias-p Sep 29, 2022
b90eff2
Refactor: Store root hints together with fake addresses
mattias-p Sep 29, 2022
272b548
Feature: Allow overriding root hints
mattias-p Sep 29, 2022
b22581c
Refactor: Make Util module more easily usable inside Engine
mattias-p Oct 3, 2022
68a429b
Feature: Add a root hints parser
mattias-p Sep 30, 2022
e081953
Refactor: Use IANA root hints file
mattias-p Oct 3, 2022
c57f01d
Clean up
mattias-p Oct 3, 2022
4672c5f
Add validation to parse_hints()
mattias-p Oct 5, 2022
b8aa422
Make perlcritic happy
mattias-p Oct 11, 2022
0aa7bf7
Make room for parse failure in Net::DNS::ZoneFile->parse
mattias-p Oct 11, 2022
93f13c8
Explicitly forbid the $GENERATE directive
mattias-p Oct 11, 2022
8b76ffa
Tighter precondition check
mattias-p Oct 27, 2022
c8cd514
Preclude directives before trying to parse hints file
mattias-p Oct 27, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Zonemaster-*.tar.gz
# Backup files from editor, by unknown and Emacs, respectively
*.bak
*~
.*.swp

# Unknown
dev.pl
Expand Down
9 changes: 5 additions & 4 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,20 @@ Makefile.PL
MANIFEST This list of files
META.yml
README.md
share/GNUmakefile
share/iana-ipv4-special-registry.csv
share/iana-ipv6-special-registry.csv
share/modules.txt
share/profile.json
share/profile_additional_properties.json
share/locale/da/LC_MESSAGES/Zonemaster-Engine.mo
share/locale/es/LC_MESSAGES/Zonemaster-Engine.mo
share/locale/fi/LC_MESSAGES/Zonemaster-Engine.mo
share/locale/fr/LC_MESSAGES/Zonemaster-Engine.mo
share/locale/nb/LC_MESSAGES/Zonemaster-Engine.mo
share/locale/sv/LC_MESSAGES/Zonemaster-Engine.mo
share/Makefile
share/GNUmakefile
share/modules.txt
share/named.root
share/profile.json
share/profile_additional_properties.json
t/00-load.t
t/asn.data
t/asn.t
Expand Down
1 change: 1 addition & 0 deletions Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ requires 'Locale::TextDomain' => 1.20;
requires 'Module::Find' => 0.10;
requires 'Moose' => 2.0401;
requires 'MooseX::Singleton' => 0.30;
requires 'Net::DNS' => 0;
requires 'Net::IP::XS' => 0.21;
requires 'Readonly' => 0;
requires 'Text::CSV' => 0;
Expand Down
8 changes: 4 additions & 4 deletions docs/Installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Zonemaster::Engine, see the [declaration of prerequisites].
3) Install binary packages:

```sh
sudo dnf --assumeyes install cpanminus gcc libidn2-devel openssl-devel perl-Class-Accessor perl-Clone perl-core perl-Devel-CheckLib perl-Email-Valid perl-File-ShareDir perl-File-Slurp perl-libintl perl-IO-Socket-INET6 perl-List-MoreUtils perl-Module-Find perl-Module-Install perl-Moose perl-Pod-Coverage perl-Readonly perl-Test-Differences perl-Test-Exception perl-Test-Fatal perl-Test-NoWarnings perl-Test-Pod perl-Text-CSV perl-Test-Simple perl-YAML
sudo dnf --assumeyes install cpanminus gcc libidn2-devel openssl-devel perl-Class-Accessor perl-Clone perl-core perl-Devel-CheckLib perl-Email-Valid perl-File-ShareDir perl-File-Slurp perl-libintl perl-IO-Socket-INET6 perl-List-MoreUtils perl-Module-Find perl-Module-Install perl-Moose perl-Net-DNS perl-Pod-Coverage perl-Readonly perl-Test-Differences perl-Test-Exception perl-Test-Fatal perl-Test-NoWarnings perl-Test-Pod perl-Text-CSV perl-Test-Simple perl-YAML
```

4) Install packages from CPAN:
Expand Down Expand Up @@ -108,7 +108,7 @@ Using pre-built packages is the preferred method for Debian and Ubuntu.
2) Install dependencies from binary packages:

```sh
sudo apt install autoconf automake build-essential cpanminus libclass-accessor-perl libclone-perl libdevel-checklib-perl libemail-valid-perl libfile-sharedir-perl libfile-slurp-perl libidn2-dev libintl-perl libio-socket-inet6-perl liblist-moreutils-perl libmodule-find-perl libmodule-install-perl libmodule-install-xsutil-perl libmoose-perl libmoosex-singleton-perl libnet-ip-xs-perl libpod-coverage-perl libreadonly-perl libssl-dev libldns3 libldns-dev libtest-differences-perl libtest-exception-perl libtest-fatal-perl libtest-nowarnings-perl libtest-pod-perl libtext-csv-perl libtool m4
sudo apt install autoconf automake build-essential cpanminus libclass-accessor-perl libclone-perl libdevel-checklib-perl libemail-valid-perl libfile-sharedir-perl libfile-slurp-perl libidn2-dev libintl-perl libio-socket-inet6-perl liblist-moreutils-perl libmodule-find-perl libmodule-install-perl libmodule-install-xsutil-perl libmoose-perl libmoosex-singleton-perl libnet-dns-perl libnet-ip-xs-perl libpod-coverage-perl libreadonly-perl libssl-dev libldns3 libldns-dev libtest-differences-perl libtest-exception-perl libtest-fatal-perl libtest-nowarnings-perl libtest-pod-perl libtext-csv-perl libtool m4
```

3) Install Zonemaster::LDNS and Zonemaster::Engine.
Expand Down Expand Up @@ -154,7 +154,7 @@ Using pre-built packages is the preferred method for Debian and Ubuntu.
5) Install dependencies from binary packages:

```sh
pkg install devel/gmake libidn2 p5-App-cpanminus p5-Class-Accessor p5-Clone p5-Devel-CheckLib p5-Email-Valid p5-File-ShareDir p5-File-Slurp p5-IO-Socket-INET6 p5-List-MoreUtils p5-Locale-libintl p5-Module-Find p5-Module-Install p5-Module-Install-XSUtil p5-Moose p5-MooseX-Singleton p5-Net-IP-XS p5-Pod-Coverage p5-Readonly p5-Test-Differences p5-Test-Exception p5-Test-Fatal p5-Test-NoWarnings p5-Test-Pod p5-Text-CSV dns/ldns
pkg install devel/gmake libidn2 p5-App-cpanminus p5-Class-Accessor p5-Clone p5-Devel-CheckLib p5-Email-Valid p5-File-ShareDir p5-File-Slurp p5-IO-Socket-INET6 p5-List-MoreUtils p5-Locale-libintl p5-Module-Find p5-Module-Install p5-Module-Install-XSUtil p5-Moose p5-MooseX-Singleton p5-Net-DNS p5-Net-IP-XS p5-Pod-Coverage p5-Readonly p5-Test-Differences p5-Test-Exception p5-Test-Fatal p5-Test-NoWarnings p5-Test-Pod p5-Text-CSV dns/ldns
```

6) Install Zonemaster::LDNS:
Expand Down Expand Up @@ -187,7 +187,7 @@ Using pre-built packages is the preferred method for Debian and Ubuntu.
2) Install binary packages:

```sh
sudo yum --assumeyes install cpanminus gcc libidn2-devel openssl-devel openssl11-devel perl-Class-Accessor perl-Clone perl-core perl-Devel-CheckLib perl-Email-Valid perl-File-ShareDir perl-File-Slurp perl-libintl perl-IO-Socket-INET6 perl-List-MoreUtils perl-Module-Find perl-Module-Install perl-Moose perl-Pod-Coverage perl-Readonly perl-Test-Differences perl-Test-Exception perl-Test-Fatal perl-Test-NoWarnings perl-Test-Pod perl-Text-CSV perl-Test-Simple perl-YAML
sudo yum --assumeyes install cpanminus gcc libidn2-devel openssl-devel openssl11-devel perl-Class-Accessor perl-Clone perl-core perl-Devel-CheckLib perl-Email-Valid perl-File-ShareDir perl-File-Slurp perl-libintl perl-IO-Socket-INET6 perl-List-MoreUtils perl-Module-Find perl-Module-Install perl-Moose perl-Net-DNS perl-Pod-Coverage perl-Readonly perl-Test-Differences perl-Test-Exception perl-Test-Fatal perl-Test-NoWarnings perl-Test-Pod perl-Text-CSV perl-Test-Simple perl-YAML
```

3) Install packages from CPAN:
Expand Down
Loading