BSD Ports

dns/powerdns 5.1.4_3 FreeBSD

Advanced DNS server with multiple backends including SQL

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
85ba298b7e
License
GPLv2
Categories
dns
Package size
2612.9 KiB, 12396.5 KiB installed

Description

The PowerDNS Authoritative Server is a versatile nameserver which supports a large number of backends. These backends can either be plain zone files or be more dynamic in nature.

PowerDNS has the concepts of 'backends'. A backend is a datastore that the server will consult that contains DNS records (and some metadata). The backends range from database backends (MySQL, PostgreSQL) and BIND zone files to co-processes and JSON API's.

Multiple backends can be enabled in the configuration by using the launch option. Each backend can be configured separately.

In the other systems

SystemPortVersion
FreeBSDdns/powerdns5.1.4_3
OpenBSDnet/powerdns5.1.4p0
NetBSDnet/powerdns5.1.4nb1
MidnightBSDdns/powerdns5.1.4

Install

Binary package:

pkg install powerdns

From the ports tree:

cd /usr/ports/dns/powerdns/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	powerdns>0:dns/powerdns

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest5.1.4_25.1.4_24.7.34.9.8-
FreeBSD:14:quarterly5.1.4_25.1.4_2n/a4.9.7-
FreeBSD:15:latest5.1.4_25.1.4_2n/a4.9.8-
FreeBSD:15:quarterly5.1.4_25.1.4_2n/an/an/a
FreeBSD:16:latest5.1.4_25.1.4_2n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 1

Library 3

The full lists below include those, and their dependencies in turn.

Build dependencies 42
Run dependencies 33

No port depends on this one.

Configuration

Options name: dns_powerdns

OptionDefaultDescription
DOCSoffBuild and/or install documentation
EXAMPLESoffBuild and/or install examples
GEOIPoffGeoIP backend (GeoIP2 DB)
GNUTLSoffDoT support via GnuTLS (sdig only)
IXFRDISToffBuild ixfrdist
LMDBonLMDB backend
LUAonUse lang/lua (enables Lua records)
LUABACKENDoffLua2 backend module (launch=lua2)
LUAJIToffUse LuaJIT (enables Lua records)
MYSQLonMySQL backend
OPENLDAPoffOpenLDAP backend
PGSQLonPostgreSQL backend
REMOTEoffRemote backend
SQLITE3onSQLite 3 backend
TINYDNSoffTinyDNS backend
TOOLSoffBuild extra tools
UNIXODBCoffODBC backend via unixODBC
ZEROMQoffEnable ZeroMQ connector (Implies REMOTE enabled)
USES
compiler:c++17-lang cpe libtool localbase meson pkgconfig python:build ssl tar:bzip2
Service scripts
pdns

Message after installing

Enable PowerDNS in /etc/rc.conf(.local) or in /etc/rc.conf.d/pdns
with the following line:

    pdns_enable="YES"

A configuration template is available in /usr/local/etc/pdns as
pdns.conf-dist.

A pdns.conf with all possible options is available in
/usr/local/share/examples/powerdns.

Initialization file(s) for your database backend(s) are available
in /usr/local/share/doc/pdns as "schema.X.sql".

This version needs a mandatory schema change for the gmysql, gpgsql,
and gsqlite3 backends. SQL statements are available in
/usr/local/share/doc/pdns or at https://doc.powerdns.com/.

Autoserial support has been removed. The change_date column has been
removed from the records table in all gsql backends, but leaving it
in is harmless.

The Generic PostgreSQL backend schema has changed: the notified_serial
column type in the domains table has been changed from INT DEFAULT NULL
to BIGINT DEFAULT NULL:

    ALTER TABLE domains ALTER notified_serial TYPE bigint USING CASE
      WHEN notified_serial >= 0 THEN notified_serial::bigint END;

This version needs a mandatory schema change for the gmsyql, godbc
(mssql), gpgsql, and gsqlite3 backends. SQL statements are available
in /usr/local/share/doc/pdns or at https://doc.powerdns.com/.

MyDNS and OpenDBX backends had been removed per https://Blog.PowerDNS.com/2019/10/17/backend-removals-in-the-upcoming-authoritative-server-release/.

The new "unpublished DNSSEC keys" feature comes with a mandatory schema
change for all database backends (including BIND with a DNSSEC database).

This version needs a mandatory schema change for the gmsyql, godbc(mssql),
gpgsql, and gsqlite3 backends. SQL statements are available in
/usr/local/share/doc/pdns or at https://doc.powerdns.com/.

For the LMDB backend, please review lmdb-schema-version (https://doc.powerdns.com/authoritative/backends/lmdb.html#setting-lmdb-schema-version).

This version needs a mandatory schema change for gmysql, godbc (mssql),
gpsql, and gsqlite3 backends.

SQL statements are available at https://github.com/PowerDNS/pdns/blob/master/modules in their respective subfolders as "4.3.0_to_4.7.0_schema.xxsql.sql".

Files

Manual pages 25
  • calidns(1)
  • dnsbulktest(1)
  • dnsgram(1)
  • dnspcap2calidns(1)
  • dnspcap2protobuf(1)
  • dnsreplay(1)
  • dnsscan(1)
  • dnsscope(1)
  • dnstcpbench(1)
  • dnswasher(1)
  • dumresp(1)
  • ixfrdist(1)
  • ixfrdist.yml(5)
  • ixplore(1)
  • nproxy(1)
  • nsec3dig(1)
  • pdns_control(1)
  • pdns_notify(1)
  • pdns_server(1)
  • pdnsutil(1)
  • saxfr(1)
  • sdig(1)
  • zone2json(1)
  • zone2ldap(1)
  • zone2sql(1)
pkg-plist 98
  • bin/pdns_control
  • bin/pdnsutil
  • bin/zone2json
  • bin/zone2sql
  • sbin/pdns_server
  • bin/dnspcap2protobuf
  • bin/calidns
  • bin/dnsbulktest
  • bin/dnsgram
  • bin/dnspcap2calidns
  • bin/dnsreplay
  • bin/dnsscan
  • bin/dnsscope
  • bin/dnstcpbench
  • bin/dnswasher
  • bin/dumresp
  • bin/ixfrdist
  • bin/ixplore
  • bin/nproxy
  • bin/nsec3dig
  • bin/pdns_notify
  • bin/saxfr
  • bin/sdig
  • bin/stubquery
  • lib/pdns/libbindbackend.so
  • lib/pdns/libpipebackend.so
  • lib/pdns/libgeoipbackend.so
  • lib/pdns/liblmdbbackend.so
  • lib/pdns/liblua2backend.so
  • lib/pdns/libgmysqlbackend.so
  • lib/pdns/libldapbackend.so
  • bin/zone2ldap
  • lib/pdns/libgpgsqlbackend.so
  • lib/pdns/libremotebackend.so
  • lib/pdns/libgsqlite3backend.so
  • lib/pdns/libtinydnsbackend.so
  • lib/pdns/libgodbcbackend.so
  • share/man/man1/calidns.1.gz
  • share/man/man1/dnsbulktest.1.gz
  • share/man/man1/dnsgram.1.gz
  • share/man/man1/dnspcap2calidns.1.gz
  • share/man/man1/dnsscan.1.gz
  • share/man/man1/dumresp.1.gz
  • share/man/man1/ixfrdist.1.gz
  • share/man/man1/ixplore.1.gz
  • share/man/man1/nproxy.1.gz
  • share/man/man1/nsec3dig.1.gz
  • share/man/man1/pdns_notify.1.gz
  • share/man/man1/pdnsutil.1.gz
  • share/man/man1/saxfr.1.gz
  • share/man/man1/sdig.1.gz
  • share/man/man1/pdns_control.1.gz
  • share/man/man1/pdns_server.1.gz
  • share/man/man1/zone2json.1.gz
  • share/man/man1/zone2ldap.1.gz
  • share/man/man1/zone2sql.1.gz
  • share/man/man1/dnspcap2protobuf.1.gz
  • share/man/man1/dnstcpbench.1.gz
  • share/man/man1/dnsreplay.1.gz
  • share/man/man1/dnsscope.1.gz
  • share/man/man1/dnswasher.1.gz
  • share/man/man5/ixfrdist.yml.5.gz
  • etc/pdns/ixfrdist.example.yml
  • @sample etc/pdns/pdns.conf-dist etc/pdns/pdns.conf
  • share/examples/powerdns/pdns.conf
  • @dir share/examples/powerdns
  • share/doc/powerdns/3.4.0_to_4.1.0_schema.mysql.sql
  • share/doc/powerdns/3.4.0_to_4.1.0_schema.pgsql.sql
  • share/doc/powerdns/3.4.0_to_4.0.0_schema.sqlite3.sql
  • share/doc/powerdns/4.0.0_to_4.2.0_schema.mssql.sql
  • share/doc/powerdns/4.0.0_to_4.2.0_schema.sqlite3.sql
  • share/doc/powerdns/4.1.0_to_4.2.0_schema.mysql.sql
  • share/doc/powerdns/4.1.0_to_4.2.0_schema.pgsql.sql
  • share/doc/powerdns/4.2.0_to_4.3.0_schema.mssql.sql
  • share/doc/powerdns/4.2.0_to_4.3.0_schema.mysql.sql
  • share/doc/powerdns/4.2.0_to_4.3.0_schema.pgsql.sql
  • share/doc/powerdns/4.2.0_to_4.3.0_schema.sqlite3.sql
  • share/doc/powerdns/4.3.0_to_4.3.1_schema.sqlite3.sql
  • share/doc/powerdns/4.3.0_to_4.7.0_schema.mysql.sql
  • share/doc/powerdns/4.3.0_to_4.7.0_schema.pgsql.sql
  • share/doc/powerdns/4.3.1_to_4.7.0_schema.sqlite3.sql
  • share/doc/powerdns/4.3.0_to_4.7.0_schema.mssql.sql
  • share/doc/powerdns/bind-dnssec.4.2.0_to_4.3.0_schema.sqlite3.sql
  • share/doc/powerdns/bind-dnssec.schema.sqlite3.sql
  • share/doc/powerdns/dnssec-3.x_to_3.4.0_schema.mysql.sql
  • share/doc/powerdns/dnssec-3.x_to_3.4.0_schema.pgsql.sql
  • share/doc/powerdns/dnssec-3.x_to_3.4.0_schema.sqlite3.sql
  • share/doc/powerdns/enable-foreign-keys.mysql.sql
  • share/doc/powerdns/nodnssec-3.x_to_3.4.0_schema.mysql.sql
  • share/doc/powerdns/nodnssec-3.x_to_3.4.0_schema.pgsql.sql
  • share/doc/powerdns/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql
  • share/doc/powerdns/dnsdomain2.schema
  • share/doc/powerdns/pdns-domaininfo.schema
  • share/doc/powerdns/schema.mysql.sql
  • share/doc/powerdns/schema.pgsql.sql
  • share/doc/powerdns/schema.sqlite3.sql
  • share/doc/powerdns/schema.mssql.sql
  • @dir(root,wheel,0755) /var/run/pdns
distinfo 1
FileSizeSHA256
pdns-5.1.4.tar.bz21.536977e+06f8a10edbf60e49d8c160e93121989d5ebcdad838d0e0b747f26ef7e89fd220c0
Master sites 1
  • https://downloads.powerdns.com/releases/

Commit history 5

DateCommitCreditsLog message
85ba298b7e Baptiste Daroussin databases/lmdb: allow to install both 0.x and 1.x together
LMDB 1.0 and the legacy 0.9 ABI cannot be mixed, the datanase format are incompatibles as well. Rename or relocate everything databases/lmdb0 installs so that it no longer overlaps with databases/lmdb: - the utilities are now mdb_copy0, mdb_dump0, mdb_load0 and mdb_stat0 - the header is include/lmdb0/lmdb.h - the linker name is liblmdb0.so, the shared object keeps its ABI name liblmdb.so.0 so already linked programs are unaffected - the pkg-config file is lmdb0.pc A compatibility prefix holding the previous layout is also installed under ${PREFIX}/lmdb0/ (include/, lib/ and libdata/pkgconfig/) so that build systems which expect to find lmdb.h and -llmdb relative to a single directory only need a path change. Now all ports should migrate to lmdb 1.X and use the lmdb 0.9 port to ease …
97a84ef467 Dima Panov */*: update boost consumers after boost-1.92
213840c151 Dima Panov */*: bump consumers after devel/boost update
c8c63f720c Jordan Ostreff dns/powernds: Update 5.1.3 => 5.1.4
Changelog: https://doc.powerdns.com/authoritative/changelog/5.1.html#change-5.1.4 PR: 297321 Reported by: Jordan Ostreff <[email protected]> (author) Approved by: Ralf van der Enden <[email protected]> (maintainer) Approved by: osa, vvd (Mentors, implicit) Security: CVE-2026-52682 MFH: 2026Q3
5f9d389f29 Xin LI databases/lmdb0: Add port for LMDB 0.9.x legacy ABI
LMDB 1.0 introduced an incompatible on-disk format change and subtle API breakage: applications that compiled cleanly against 1.0 headers could fail silently at run time. Known affected ports include dns/knot3, mail/bogofilter, and mail/postfix; the postfix issue has been confirmed upstream. Linux distributions such as Arch Linux have observed the same breakage. Samba can also be affected in certain configurations. Because the regression is not detectable in an -exp build run -- the postfix failure only manifests at run time, and bogofilter was caught only because post-build self-tests happen to exercise this path -- we cannot rely on package builds to validate the 1.0 upgrade. This commit introduces databases/lmdb0 as a holding port for the 0.9.35 …