diff --git a/GIDs b/GIDs --- a/GIDs +++ b/GIDs @@ -677,7 +677,7 @@ # free: 733 # free: 734 c-lightning:*:735: -# free: 736 +zonemaster:*:736: # free: 737 # free: 738 # free: 739 diff --git a/UIDs b/UIDs --- a/UIDs +++ b/UIDs @@ -683,7 +683,7 @@ # free: 733 # free: 734 c-lightning:*:735:735::0:0:c-lightning Daemon:/var/db/c-lightning:/usr/sbin/nologin -# free: 736 +zonemaster:*:736:736::0:0:Zonemaster Daemon:/nonexistent:/usr/sbin/nologin # free: 737 # free: 738 # free: 739 diff --git a/dns/Makefile b/dns/Makefile --- a/dns/Makefile +++ b/dns/Makefile @@ -162,6 +162,9 @@ SUBDIR += p5-POE-Filter-DNS-TCP SUBDIR += p5-Tie-DNS SUBDIR += p5-URBL-Prepare + SUBDIR += p5-Zonemaster-Backend + SUBDIR += p5-Zonemaster-CLI + SUBDIR += p5-Zonemaster-Engine SUBDIR += p5-Zonemaster-LDNS SUBDIR += packetq SUBDIR += pdnsd diff --git a/dns/p5-Zonemaster-Backend/Makefile b/dns/p5-Zonemaster-Backend/Makefile new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-Backend/Makefile @@ -0,0 +1,66 @@ +PORTNAME= Zonemaster-Backend +DISTVERSION= 11.3.0 +CATEGORIES= dns perl5 +MASTER_SITES= CPAN +MASTER_SITE_SUBDIR= CPAN:ZNMSTR +PKGNAMEPREFIX= p5- + +MAINTAINER= dch@FreeBSD.org +COMMENT= Perl backend for Zonemaster DNS testing +WWW= https://zonemaster.net/en + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE +BUILD_DEPENDS= p5-Devel-CheckLib>0:devel/p5-Devel-CheckLib \ + p5-Module-Install>0:devel/p5-Module-Install +RUN_DEPENDS= jq>0:textproc/jq \ + p5-Class-Method-Modifiers>=0:devel/p5-Class-Method-Modifiers \ + p5-Config-IniFiles>=0:devel/p5-Config-IniFiles \ + p5-Module-CoreList>=0:devel/p5-Module-CoreList \ + p5-Daemon-Control>=0:devel/p5-Daemon-Control \ + p5-DBD-SQLite>=0:databases/p5-DBD-SQLite \ + p5-DBI>=0:databases/p5-DBI \ + p5-File-ShareDir>=0:devel/p5-File-ShareDir \ + p5-File-Slurp>=0:devel/p5-File-Slurp \ + p5-HTML-Parser>=0:www/p5-HTML-Parser \ + p5-JSON-RPC>=0:devel/p5-JSON-RPC \ + p5-JSON-Validator>=0:textproc/p5-JSON-Validator \ + p5-Locale-libintl>=0:devel/p5-Locale-libintl \ + p5-Log-Any-Adapter-Dispatch>=0:devel/p5-Log-Any-Adapter-Dispatch \ + p5-Log-Any>=0:devel/p5-Log-Any \ + p5-Log-Dispatch>=0:devel/p5-Log-Dispatch \ + p5-Mojolicious>=0:www/p5-Mojolicious \ + p5-Moose>=0:devel/p5-Moose \ + p5-Parallel-ForkManager>=0:devel/p5-Parallel-ForkManager \ + p5-Plack-Middleware-ReverseProxy>=0:www/p5-Plack-Middleware-ReverseProxy \ + p5-Plack>=0:www/p5-Plack \ + p5-Role-Tiny>=0:devel/p5-Role-Tiny \ + p5-Router-Simple>=0:www/p5-Router-Simple \ + p5-Starman>=0:www/p5-Starman \ + p5-YAML-LibYAML>=0:textproc/p5-YAML-LibYAML + +USES= gmake localbase perl5 +USE_PERL5= configure + +USERS= zonemaster +GROUPS= zonemaster + +post-extract: + ${REINPLACE_CMD} -i '' \ + -e '/[[:<:]]database_file[[:>:]]/ s:=.*:= /var/db/zonemaster/db.sqlite:' \ + -e '/[[:<:]]log_file[[:>:]]/ s:=.*:= /var/log/zonemaster/backend.log:' \ + ${WRKSRC}/share/backend_config.ini + ${REINPLACE_CMD} -i '' -e 's:/usr/local:${LOCALBASE}:g' \ + ${WRKSRC}/share/zm_rpcapi-bsd \ + ${WRKSRC}/share/zm_testagent-bsd + +post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/zonemaster \ + ${STAGEDIR}/var/db/zonemaster \ + ${STAGEDIR}/var/log/zonemaster \ + ${STAGEDIR}/var/run/zonemaster + ${INSTALL_DATA} ${WRKSRC}/share/backend_config.ini ${STAGEDIR}${PREFIX}/etc/zonemaster/backend_config.ini.sample + ${INSTALL_SCRIPT} ${WRKSRC}/share/zm_rpcapi-bsd ${STAGEDIR}${PREFIX}/etc/rc.d/zm_rpcapi + ${INSTALL_SCRIPT} ${WRKSRC}/share/zm_testagent-bsd ${STAGEDIR}${PREFIX}/etc/rc.d/zm_testagent + +.include diff --git a/dns/p5-Zonemaster-Backend/distinfo b/dns/p5-Zonemaster-Backend/distinfo new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-Backend/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1735472550 +SHA256 (Zonemaster-Backend-11.3.0.tar.gz) = 694d13ae41aeb62e92a55bd34a3cc7e046d6d0c0550ab9d2e6e93594e652d22d +SIZE (Zonemaster-Backend-11.3.0.tar.gz) = 141739 diff --git a/dns/p5-Zonemaster-Backend/pkg-descr b/dns/p5-Zonemaster-Backend/pkg-descr new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-Backend/pkg-descr @@ -0,0 +1,10 @@ +Zonemaster is a software package that validates the quality of a DNS +delegation. The ambition of the Zonemaster project is to develop and +maintain an open source DNS validation tool. + +This module provides the backend infrastructure for Zonemaster, +implementing a JSON-RPC API server and test agent daemon. It manages +test scheduling, result storage, and system configuration through +multiple database backends (MySQL, PostgreSQL, SQLite). The Backend +enables integration with web interfaces and automation tools while +maintaining a persistent history of test results. diff --git a/dns/p5-Zonemaster-Backend/pkg-message b/dns/p5-Zonemaster-Backend/pkg-message new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-Backend/pkg-message @@ -0,0 +1,12 @@ +[ +{ type: install + message: <0:devel/p5-Devel-CheckLib \ + p5-Module-Install>0:devel/p5-Module-Install +RUN_DEPENDS= p5-JSON-XS>=0:converters/p5-JSON-XS \ + p5-Locale-libintl>0:devel/p5-Locale-libintl \ + p5-MooseX-Getopt>=0:devel/p5-MooseX-Getopt \ + p5-Net-IP>=0:net-mgmt/p5-Net-IP \ + p5-Text-Reflow>0:textproc/p5-Text-Reflow \ + p5-Try-Tiny>0:lang/p5-Try-Tiny \ + p5-Zonemaster-Engine>0:dns/p5-Zonemaster-Engine \ + p5-Zonemaster-LDNS>0:dns/p5-Zonemaster-LDNS + +USES= gmake localbase perl5 +USE_PERL5= configure + +.include diff --git a/dns/p5-Zonemaster-CLI/distinfo b/dns/p5-Zonemaster-CLI/distinfo new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-CLI/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1735472491 +SHA256 (Zonemaster-CLI-v7.1.0.tar.gz) = 82ecd2ef8f01a3f45b64cdcc876359546ac39069481d9a351cd7fd8453d0be3f +SIZE (Zonemaster-CLI-v7.1.0.tar.gz) = 81499 diff --git a/dns/p5-Zonemaster-CLI/pkg-descr b/dns/p5-Zonemaster-CLI/pkg-descr new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-CLI/pkg-descr @@ -0,0 +1,9 @@ +Zonemaster is a software package that validates the quality of a DNS +delegation. The ambition of the Zonemaster project is to develop and +maintain an open source DNS validation tool. + +This module provides a feature-rich command-line interface to the +Zonemaster Engine. It supports multiple output formats including +plain text, JSON, and structured formats suitable for integration +with other tools. The CLI allows for detailed DNS delegation testing +with customizable test profiles and verbosity levels. diff --git a/dns/p5-Zonemaster-CLI/pkg-plist b/dns/p5-Zonemaster-CLI/pkg-plist new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-CLI/pkg-plist @@ -0,0 +1,11 @@ +bin/zonemaster-cli +%%SITE_PERL%%/Zonemaster/CLI.pm +%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/GNUmakefile +%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/da/LC_MESSAGES/Zonemaster-CLI.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/es/LC_MESSAGES/Zonemaster-CLI.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/fi/LC_MESSAGES/Zonemaster-CLI.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/fr/LC_MESSAGES/Zonemaster-CLI.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/nb/LC_MESSAGES/Zonemaster-CLI.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/sv/LC_MESSAGES/Zonemaster-CLI.mo +%%PERL5_MAN1%%/zonemaster-cli.1.gz +%%PERL5_MAN3%%/Zonemaster::CLI.3.gz diff --git a/dns/p5-Zonemaster-Engine/Makefile b/dns/p5-Zonemaster-Engine/Makefile new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-Engine/Makefile @@ -0,0 +1,50 @@ +PORTNAME= Zonemaster-Engine +DISTVERSIONPREFIX= v +DISTVERSION= 7.0.0 +CATEGORIES= dns perl5 +MASTER_SITES= CPAN +MASTER_SITE_SUBDIR= CPAN:ZNMSTR +PKGNAMEPREFIX= p5- + +MAINTAINER= dch@FreeBSD.org +COMMENT= Perl backend for Zonemaster DNS testing +WWW= https://zonemaster.net/en + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= p5-Devel-CheckLib>0:devel/p5-Devel-CheckLib \ + p5-Module-Install>0:devel/p5-Module-Install +RUN_DEPENDS= p5-Class-Accessor>=0:devel/p5-Class-Accessor \ + p5-Clone>=0:devel/p5-Clone \ + p5-Devel-CheckLib>=0:devel/p5-Devel-CheckLib \ + p5-Email-Valid>=0:mail/p5-Email-Valid \ + p5-File-ShareDir>=0:devel/p5-File-ShareDir \ + p5-File-Slurp>=0:devel/p5-File-Slurp \ + p5-IO-Socket-INET6>=0:net/p5-IO-Socket-INET6 \ + p5-JSON-XS>=0:converters/p5-JSON-XS \ + p5-List-Compare>=0:misc/p5-List-Compare \ + p5-List-MoreUtils>=0:lang/p5-List-MoreUtils \ + p5-Locale-libintl>0:devel/p5-Locale-libintl \ + p5-Locale-libintl>=0:devel/p5-Locale-libintl \ + p5-Locale-PO>=0:devel/p5-Locale-PO \ + p5-Log-Any>=0:devel/p5-Log-Any \ + p5-Mail-SPF>=0:mail/p5-Mail-SPF \ + p5-MIME-Base32>=0:converters/p5-MIME-Base32 \ + p5-Module-Find>=0:devel/p5-Module-Find \ + p5-Moose>=0:devel/p5-Moose \ + p5-MooseX-Getopt>=0:devel/p5-MooseX-Getopt \ + p5-MooseX-Singleton>=0:devel/p5-MooseX-Singleton \ + p5-Net-DNS>=0:dns/p5-Net-DNS \ + p5-Net-IP-XS>=0:net-mgmt/p5-Net-IP-XS \ + p5-Readonly>=0:devel/p5-Readonly \ + p5-Text-CSV>=0:textproc/p5-Text-CSV \ + p5-Text-Reflow>0:textproc/p5-Text-Reflow \ + p5-Try-Tiny>0:lang/p5-Try-Tiny \ + p5-YAML-LibYAML>=0:textproc/p5-YAML-LibYAML \ + p5-Zonemaster-LDNS>0:dns/p5-Zonemaster-LDNS + +USES= gmake localbase perl5 +USE_PERL5= configure + +.include diff --git a/dns/p5-Zonemaster-Engine/distinfo b/dns/p5-Zonemaster-Engine/distinfo new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-Engine/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1735472533 +SHA256 (Zonemaster-Engine-v7.0.0.tar.gz) = ac4baf26f2395ca237718eed4daa0db30d89a0ccbc6ffda9fd8784ff1a364580 +SIZE (Zonemaster-Engine-v7.0.0.tar.gz) = 11963637 diff --git a/dns/p5-Zonemaster-Engine/pkg-descr b/dns/p5-Zonemaster-Engine/pkg-descr new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-Engine/pkg-descr @@ -0,0 +1,8 @@ +Zonemaster is a software package that validates the quality of a DNS +delegation. The ambition of the Zonemaster project is to develop and +maintain an open source DNS validation tool. + +This module is the core engine of Zonemaster, implementing all DNS tests +and validation rules. It performs comprehensive checks on domain name +delegation, including DNSSEC, IPv6 readiness, and compliance with +relevant RFCs and industry best practices. diff --git a/dns/p5-Zonemaster-Engine/pkg-plist b/dns/p5-Zonemaster-Engine/pkg-plist new file mode 100644 --- /dev/null +++ b/dns/p5-Zonemaster-Engine/pkg-plist @@ -0,0 +1,83 @@ +%%PERL5_MAN3%%/Zonemaster::Engine.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::ASNLookup.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Constants.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::DNSName.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Exception.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Logger.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Logger::Entry.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::NSArray.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Nameserver.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Nameserver::Cache.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Nameserver::Cache::LocalCache.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Nameserver::Cache::RedisCache.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Normalization.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Normalization::Error.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Overview.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Packet.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Profile.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Recursor.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::Address.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::Basic.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::Connectivity.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::Consistency.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::DNSSEC.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::Delegation.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::Nameserver.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::Syntax.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Test::Zone.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::TestMethods.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::TestMethodsV2.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Translator.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Util.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Validation.3.gz +%%PERL5_MAN3%%/Zonemaster::Engine::Zone.3.gz +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/GNUmakefile +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/iana-ipv4-special-registry.csv +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/iana-ipv6-special-registry.csv +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/json2yaml.pl +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/da/LC_MESSAGES/Zonemaster-Engine.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/es/LC_MESSAGES/Zonemaster-Engine.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/fi/LC_MESSAGES/Zonemaster-Engine.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/fr/LC_MESSAGES/Zonemaster-Engine.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/nb/LC_MESSAGES/Zonemaster-Engine.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/sv/LC_MESSAGES/Zonemaster-Engine.mo +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/modules.txt +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/named.root +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/profile_additional_properties.json +%%SITE_PERL%%/Zonemaster/Engine.pm +%%SITE_PERL%%/Zonemaster/Engine/ASNLookup.pm +%%SITE_PERL%%/Zonemaster/Engine/Constants.pm +%%SITE_PERL%%/Zonemaster/Engine/DNSName.pm +%%SITE_PERL%%/Zonemaster/Engine/Exception.pm +%%SITE_PERL%%/Zonemaster/Engine/Logger.pm +%%SITE_PERL%%/Zonemaster/Engine/Logger/Entry.pm +%%SITE_PERL%%/Zonemaster/Engine/NSArray.pm +%%SITE_PERL%%/Zonemaster/Engine/Nameserver.pm +%%SITE_PERL%%/Zonemaster/Engine/Nameserver/Cache.pm +%%SITE_PERL%%/Zonemaster/Engine/Nameserver/Cache/LocalCache.pm +%%SITE_PERL%%/Zonemaster/Engine/Nameserver/Cache/RedisCache.pm +%%SITE_PERL%%/Zonemaster/Engine/Normalization.pm +%%SITE_PERL%%/Zonemaster/Engine/Normalization/Error.pm +%%SITE_PERL%%/Zonemaster/Engine/Overview.pod +%%SITE_PERL%%/Zonemaster/Engine/Packet.pm +%%SITE_PERL%%/Zonemaster/Engine/Profile.pm +%%SITE_PERL%%/Zonemaster/Engine/Recursor.pm +%%SITE_PERL%%/Zonemaster/Engine/Test.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/Address.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/Basic.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/Connectivity.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/Consistency.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/DNSSEC.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/Delegation.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/Nameserver.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/Syntax.pm +%%SITE_PERL%%/Zonemaster/Engine/Test/Zone.pm +%%SITE_PERL%%/Zonemaster/Engine/TestMethods.pm +%%SITE_PERL%%/Zonemaster/Engine/TestMethodsV2.pm +%%SITE_PERL%%/Zonemaster/Engine/Translator.pm +%%SITE_PERL%%/Zonemaster/Engine/Util.pm +%%SITE_PERL%%/Zonemaster/Engine/Validation.pm +%%SITE_PERL%%/Zonemaster/Engine/Zone.pm +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/profile.json +%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/profile.yaml