Index: head/dns/powerdns/Makefile =================================================================== --- head/dns/powerdns/Makefile (revision 420207) +++ head/dns/powerdns/Makefile (revision 420208) @@ -1,130 +1,129 @@ # $FreeBSD$ PORTNAME= powerdns -PORTVERSION= 3.4.9 +PORTVERSION= 4.0.1 CATEGORIES= dns ipv6 MASTER_SITES= http://downloads.powerdns.com/releases/ DISTNAME= pdns-${PORTVERSION} MAINTAINER= tremere@cainites.net COMMENT= Advanced DNS server with multiple backends including SQL LICENSE= GPLv2 LIB_DEPENDS= libboost_serialization.so:devel/boost-libs BROKEN_powerpc64= Does not build +BROKEN_FreeBSD_9= Does not link -USES= cpe gmake libtool lua pkgconfig tar:bzip2 +USES= compiler:c++11-lib cpe gmake libtool pathfix pkgconfig ssl \ + tar:bzip2 USE_LDCONFIG= YES USE_SUBMAKE= YES GNU_CONFIGURE= YES INSTALL_TARGET= install-strip CXXFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -CONFIGURE_ENV= LUA_CFLAGS="-I${LUA_INCDIR}" \ - LUA_LIBS="-L${LUA_LIBDIR} -llua-${LUA_VER}" CONFIGURE_ARGS= --disable-static \ --with-modules="" \ --with-dynmodules="pipe bind ${MODULES}" \ --docdir="${PREFIX}/share/doc/powerdns" \ --sysconfdir="${PREFIX}/etc/pdns" \ --with-boost="${LOCALBASE}" SCRIPTS_ENV= WRKDIRPREFIX="${WRKDIRPREFIX}" \ CURDIR2="${.CURDIR}" \ MKDIR="${MKDIR}" \ DISTNAME="${DISTNAME}" \ POWERDNS_OPTIONS="${POWERDNS_OPTIONS}" SUB_FILES= pkg-message USE_RC_SUBR= pdns -OPTIONS_DEFINE= GEO GEOIP LMDB MYSQL OPENDBX OPENLDAP PGSQL POLARSSL REMOTE SQLITE3 TOOLS -OPTIONS_GROUP= DNSSEC EXPERIMENTAL REMOTEOPT -OPTIONS_GROUP_DNSSEC= BOTAN110 -OPTIONS_GROUP_EXPERIMENTAL= LUA MYDNS TINYDNS +OPTIONS_DEFINE= GEOIP MYDNS MYSQL OPENDBX OPENLDAP PGSQL PROTOBUF REMOTE SQLITE3 TINYDNS TOOLS UNIXODBC +OPTIONS_GROUP= EXPERIMENTAL REMOTEOPT +OPTIONS_GROUP_EXPERIMENTAL= LUABACKEND OPTIONS_GROUP_REMOTEOPT= ZEROMQ +OPTIONS_SINGLE= LUASG +OPTIONS_SINGLE_LUASG= LUA LUAJIT ZEROMQ_IMPLIES= REMOTE -OPTIONS_DEFAULT= PGSQL DNSSEC BOTAN110 POLARSSL +OPTIONS_DEFAULT= LUA PGSQL OPTIONS_SUB= yes -BOTAN110_CONFIGURE_ON= --enable-botan1.10 -BOTAN110_LIB_DEPENDS= libbotan-1.10.so:security/botan110 - -GEO_VARS= MODULES+=geo - GEOIP_LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp \ libGeoIP.so:net/GeoIP GEOIP_VARS= MODULES+=geoip -LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb -LMDB_VARS= MODULES+=lmdb +LUA_CONFIGURE_WITH= lua +LUA_USES= lua -LUA_VARS= MODULES+=lua +LUABACKEND_VARS= MODULES+=lua +LUAJIT_CONFIGURE_WITH= luajit +LUAJIT_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit + MYDNS_CONFIGURE_ON= --with-mysql=${LOCALBASE} MYDNS_USE= MYSQL=YES MYDNS_VARS= MODULES+=mydns MYSQL_CONFIGURE_ON= --with-mysql=${LOCALBASE} MYSQL_CONFIGURE_OFF= --without-mysql MYSQL_USE= MYSQL=YES MYSQL_VARS= MODULES+=gmysql OPENDBX_LIB_DEPENDS= libopendbx.so:databases/opendbx OPENDBX_VARS= MODULES+=opendbx OPENLDAP_CXXFLAGS= -DLDAP_DEPRECATED=1 OPENLDAP_USE= OPENLDAP=YES OPENLDAP_VARS= MODULES+=ldap PGSQL_CONFIGURE_ON= --with-pgsql=${LOCALBASE} PGSQL_CONFIGURE_OFF= --without-pgsql PGSQL_USES= pgsql PGSQL_VARS= MODULES+=gpgsql -POLARSSL_CONFIGURE_ARGS= --without-system-polarssl -POLARSSL_LIB_DEPENDS_OFF= libmbedtls.so:security/polarssl13 +PROTOBUF_CONFIGURE_WITH= protobuf +PROTOBUF_LIB_DEPENDS= libprotobuf.so:devel/protobuf REMOTE_VARS= MODULES+=remote SQLITE3_USES= sqlite:3 SQLITE3_VARS= MODULES+=gsqlite3 TINYDNS_CONFIGURE_ON= CDB_LIBS="-L${LOCALBASE}/lib -lcdb" CDB_CFLAGS="-I${LOCALBASE}/include" TINYDNS_LIB_DEPENDS= libcdb.so:databases/tinycdb TINYDNS_VARS= MODULES+=tinydns +TOOLS_CONFIGURE_ENABLE= tools + +UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC +UNIXODBC_VARS= MODULES+=godbc + ZEROMQ_CONFIGURE_ARGS= --enable-remotebackend-zeromq ZEROMQ_LIB_DEPENDS= libzmq.so:net/libzmq4 -TOOLS_CONFIGURE_ENABLE= tools - -PGSQL_DESC= PostgreSQL backend +GEOIP_DESC= GeoIP backend +LUASG_DESC= Lua Engine +LUABACKEND_DESC= Lua backend +LUAJIT_DESC= Enable LuaJIT +MYDNS_DESC= MyDNS backend MYSQL_DESC= MySQL backend OPENDBX_DESC= OpenDBX backend OPENLDAP_DESC= OpenLDAP backend -SQLITE3_DESC= SQLite 3 backend -GEO_DESC= Geo backend -GEOIP_DESC= GeoIP backend -DNSSEC_DESC= Extra DNSSEC options -BOTAN110_DESC= Faster signing + ECDSA & GOST algorithms -POLARSSL_DESC= Use embedded PolarSSL -LMDB_DESC= LMDB backend -LUA_DESC= Lua backend -MYDNS_DESC= MyDNS backend +PGSQL_DESC= PostgreSQL backend +PROTOBUF_DESC= Protobuf support REMOTE_DESC= Remote backend +REMOTEOPT_DESC= Remote backend connectors +SQLITE3_DESC= SQLite 3 backend TINYDNS_DESC= TinyDNS backend TOOLS_DESC= Build extra tools -REMOTEOPT_DESC= Remote backend connectors ZEROMQ_DESC= Enable ZeroMQ connector (Implies REMOTE enabled) -post-install: +post-stage:: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} -.for i in pdns.conf - ${INSTALL_DATA} ${FILESDIR}/$i ${STAGEDIR}${EXAMPLESDIR}/ -.endfor + @${STAGEDIR}${LOCALBASE}/sbin/pdns_server --module-dir=${STAGEDIR}${LOCALBASE}/lib/pdns --launch="pipe bind ${MODULES}" --config > ${STAGEDIR}${EXAMPLESDIR}/pdns.conf + @${REINPLACE_CMD} -e 's;${STAGEDIR};;' -i '' ${STAGEDIR}${EXAMPLESDIR}/pdns.conf .include Index: head/dns/powerdns/distinfo =================================================================== --- head/dns/powerdns/distinfo (revision 420207) +++ head/dns/powerdns/distinfo (revision 420208) @@ -1,3 +1,3 @@ -TIMESTAMP = 1463481727 -SHA256 (pdns-3.4.9.tar.bz2) = 2b1124db2d937ed6666525b9fc60a5dd55cb82f4cae58116cb986de53faa5dff -SIZE (pdns-3.4.9.tar.bz2) = 1351434 +TIMESTAMP = 1470038374 +SHA256 (pdns-4.0.1.tar.bz2) = d191eed4a6664430e85969f49835c59e810ecbb7b3eb506e64c6b2734091edd7 +SIZE (pdns-4.0.1.tar.bz2) = 1304788 Index: head/dns/powerdns/files/pdns.conf =================================================================== --- head/dns/powerdns/files/pdns.conf (revision 420207) +++ head/dns/powerdns/files/pdns.conf (nonexistent) @@ -1,1827 +0,0 @@ -# Autogenerated configuration file template -################################# -# allow-axfr-ips Allow zonetransfers only to these subnets -# -# allow-axfr-ips=127.0.0.0/8,::1 - -################################# -# allow-dnsupdate-from A global setting to allow DNS updates from these IP ranges. -# -# allow-dnsupdate-from=127.0.0.0/8,::1 - -################################# -# allow-recursion List of subnets that are allowed to recurse -# -# allow-recursion=0.0.0.0/0 - -################################# -# also-notify When notifying a domain, also notify these nameservers -# -# also-notify= - -################################# -# any-to-tcp Answer ANY queries with tc=1, shunting to TCP -# -# any-to-tcp=no - -################################# -# bind-check-interval Interval for zonefile changes -# -# bind-check-interval=0 - -################################# -# bind-config Location of named.conf -# -# bind-config= - -################################# -# bind-dnssec-db Filename to store & access our DNSSEC metadatabase, empty for none -# -# bind-dnssec-db= - -################################# -# bind-hybrid Store DNSSEC metadata in other backend -# -# bind-hybrid=no - -################################# -# bind-ignore-broken-records Ignore records that are out-of-bound for the zone. -# -# bind-ignore-broken-records=no - -################################# -# bind-supermaster-config Location of (part of) named.conf where pdns can write zone-statements to -# -# bind-supermaster-config= - -################################# -# bind-supermaster-destdir Destination directory for newly added slave zones -# -# bind-supermaster-destdir=/usr/local/etc/pdns - -################################# -# bind-supermasters List of IP-addresses of supermasters -# -# bind-supermasters= - -################################# -# cache-ttl Seconds to store packets in the PacketCache -# -# cache-ttl=20 - -################################# -# carbon-interval Number of seconds between carbon (graphite) updates -# -# carbon-interval=30 - -################################# -# carbon-ourname If set, overrides our reported hostname for carbon stats -# -# carbon-ourname= - -################################# -# carbon-server If set, send metrics in carbon (graphite) format to this server -# -# carbon-server= - -################################# -# chroot If set, chroot to this directory for more security -# -# chroot= - -################################# -# config-dir Location of configuration directory (pdns.conf) -# -# config-dir=/usr/local/etc/pdns - -################################# -# config-name Name of this virtual configuration - will rename the binary image -# -# config-name= - -################################# -# control-console Debugging switch - don't use -# -# control-console=no - -################################# -# daemon Operate as a daemon -# -# daemon=no - -################################# -# default-ksk-algorithms Default KSK algorithms -# -# default-ksk-algorithms=rsasha256 - -################################# -# default-ksk-size Default KSK size (0 means default) -# -# default-ksk-size=0 - -################################# -# default-soa-mail mail address to insert in the SOA record if none set in the backend -# -# default-soa-mail= - -################################# -# default-soa-name name to insert in the SOA record if none set in the backend -# -# default-soa-name=a.misconfigured.powerdns.server - -################################# -# default-ttl Seconds a result is valid if not set otherwise -# -# default-ttl=3600 - -################################# -# default-zsk-algorithms Default ZSK algorithms -# -# default-zsk-algorithms=rsasha256 - -################################# -# default-zsk-size Default ZSK size (0 means default) -# -# default-zsk-size=0 - -################################# -# direct-dnskey Fetch DNSKEY RRs from backend during DNSKEY synthesis -# -# direct-dnskey=no - -################################# -# disable-axfr Disable zonetransfers but do allow TCP queries -# -# disable-axfr=no - -################################# -# disable-axfr-rectify Disable the rectify step during an outgoing AXFR. Only required for regression testing. -# -# disable-axfr-rectify=no - -################################# -# disable-tcp Do not listen to TCP queries -# -# disable-tcp=no - -################################# -# distributor-threads Default number of Distributor (backend) threads to start -# -# distributor-threads=3 - -################################# -# do-ipv6-additional-processing Do AAAA additional processing -# -# do-ipv6-additional-processing=yes - -################################# -# edns-subnet-processing If we should act on EDNS Subnet options -# -# edns-subnet-processing=no - -################################# -# entropy-source If set, read entropy from this file -# -# entropy-source=/dev/urandom - -################################# -# experimental-api-readonly If the JSON API should disallow data modification -# -# experimental-api-readonly=no - -################################# -# experimental-dname-processing If we should support DNAME records -# -# experimental-dname-processing=no - -################################# -# experimental-dnsupdate Enable/Disable DNS update (RFC2136) support. Default is no. -# -# experimental-dnsupdate=no - -################################# -# experimental-json-interface If the webserver should serve JSON data -# -# experimental-json-interface=no - -################################# -# experimental-logfile Filename of the log file for JSON parser -# -# experimental-logfile=/var/log/pdns.log - -################################# -# forward-dnsupdate A global setting to allow DNS update packages that are for a Slave domain, to be forwarded to the master. -# -# forward-dnsupdate=yes - -################################# -# geo-ip-map-zonefile path to the rbldnsd format zonefile -# -# geo-ip-map-zonefile=zz.countries.nerd.dk.rbldnsd - -################################# -# geo-maps list of paths to director maps or directories containing director map files -# -# geo-maps= - -################################# -# geo-ns-records targets of the NS records, comma separated. -# -# geo-ns-records= - -################################# -# geo-ns-ttl TTL value for NS records -# -# geo-ns-ttl=86400 - -################################# -# geo-soa-values values of the SOA master nameserver and hostmaster fields, comma separated -# -# geo-soa-values= - -################################# -# geo-ttl TTL value for geo records -# -# geo-ttl=3600 - -################################# -# geo-zone zonename to be served -# -# geo-zone= - -################################# -# geoip-database-cache Cache mode (standard, memory, index, mmap) -# -# geoip-database-cache=standard - -################################# -# geoip-database-file File to load IPv4 geoip data from -# -# geoip-database-file=/usr/share/GeoIP/GeoIP.dat - -################################# -# geoip-database-file6 File to load IPv6 geoip data from -# -# geoip-database-file6=/usr/share/GeoIP/GeoIPv6.dat - -################################# -# geoip-dnssec-keydir Directory to hold dnssec keys (also turns DNSSEC on) -# -# geoip-dnssec-keydir= - -################################# -# geoip-zones-file YAML file to load zone(s) configuration -# -# geoip-zones-file= - -################################# -# gmysql-activate-domain-key-query -# -# gmysql-activate-domain-key-query=update cryptokeys set active=1 where domain_id=(select id from domains where name='%s') and cryptokeys.id=%d - -################################# -# gmysql-add-domain-key-query -# -# gmysql-add-domain-key-query=insert into cryptokeys (domain_id, flags, active, content) select id, %d, %d, '%s' from domains where name='%s' - -################################# -# gmysql-any-id-query Any with ID query -# -# gmysql-any-id-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and name='%s' and domain_id=%d - -################################# -# gmysql-any-query Any query -# -# gmysql-any-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and name='%s' - -################################# -# gmysql-basic-query Basic query -# -# gmysql-basic-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and type='%s' and name='%s' - -################################# -# gmysql-clear-domain-all-keys-query -# -# gmysql-clear-domain-all-keys-query=delete from cryptokeys where domain_id=(select id from domains where name='%s') - -################################# -# gmysql-clear-domain-all-metadata-query -# -# gmysql-clear-domain-all-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name='%s') - -################################# -# gmysql-clear-domain-metadata-query -# -# gmysql-clear-domain-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name='%s') and domainmetadata.kind='%s' - -################################# -# gmysql-dbname Pdns backend database name to connect to -# -# gmysql-dbname=powerdns - -################################# -# gmysql-deactivate-domain-key-query -# -# gmysql-deactivate-domain-key-query=update cryptokeys set active=0 where domain_id=(select id from domains where name='%s') and cryptokeys.id=%d - -################################# -# gmysql-delete-comment-rrset-query -# -# gmysql-delete-comment-rrset-query=DELETE FROM comments WHERE domain_id=%d AND name='%s' AND type='%s' - -################################# -# gmysql-delete-comments-query -# -# gmysql-delete-comments-query=DELETE FROM comments WHERE domain_id=%d - -################################# -# gmysql-delete-domain-query -# -# gmysql-delete-domain-query=delete from domains where name='%s' - -################################# -# gmysql-delete-empty-non-terminal-query delete empty non-terminal from zone -# -# gmysql-delete-empty-non-terminal-query=delete from records where domain_id='%d' and name='%s' and type is null - -################################# -# gmysql-delete-names-query -# -# gmysql-delete-names-query=delete from records where domain_id = %d and name='%s' - -################################# -# gmysql-delete-rrset-query -# -# gmysql-delete-rrset-query=delete from records where domain_id=%d and name='%s' and type='%s' - -################################# -# gmysql-delete-tsig-key-query -# -# gmysql-delete-tsig-key-query=delete from tsigkeys where name='%s' - -################################# -# gmysql-delete-zone-query -# -# gmysql-delete-zone-query=delete from records where domain_id=%d - -################################# -# gmysql-dnssec Enable DNSSEC processing -# -# gmysql-dnssec=no - -################################# -# gmysql-get-all-domain-metadata-query -# -# gmysql-get-all-domain-metadata-query=select kind,content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s' - -################################# -# gmysql-get-all-domains-query Retrieve all domains -# -# gmysql-get-all-domains-query=select domains.id, domains.name, records.content, domains.type, domains.master, domains.notified_serial, domains.last_check from domains LEFT JOIN records ON records.domain_id=domains.id AND records.type='SOA' AND records.name=domains.name WHERE records.disabled=0 OR %d - -################################# -# gmysql-get-domain-metadata-query -# -# gmysql-get-domain-metadata-query=select content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s' and domainmetadata.kind='%s' - -################################# -# gmysql-get-order-after-query DNSSEC Ordering Query, after -# -# gmysql-get-order-after-query=select min(ordername) from records where ordername > '%s' and domain_id=%d and disabled=0 and ordername is not null - -################################# -# gmysql-get-order-before-query DNSSEC Ordering Query, before -# -# gmysql-get-order-before-query=select ordername, name from records where ordername <= '%s' and domain_id=%d and disabled=0 and ordername is not null order by 1 desc limit 1 - -################################# -# gmysql-get-order-first-query DNSSEC Ordering Query, first -# -# gmysql-get-order-first-query=select ordername, name from records where domain_id=%d and disabled=0 and ordername is not null order by 1 asc limit 1 - -################################# -# gmysql-get-order-last-query DNSSEC Ordering Query, last -# -# gmysql-get-order-last-query=select ordername, name from records where ordername != '' and domain_id=%d and disabled=0 and ordername is not null order by 1 desc limit 1 - -################################# -# gmysql-get-tsig-key-query -# -# gmysql-get-tsig-key-query=select algorithm, secret from tsigkeys where name='%s' - -################################# -# gmysql-get-tsig-keys-query -# -# gmysql-get-tsig-keys-query=select name,algorithm, secret from tsigkeys - -################################# -# gmysql-group Pdns backend MySQL 'group' to connect as -# -# gmysql-group=client - -################################# -# gmysql-host Database backend host to connect to -# -# gmysql-host= - -################################# -# gmysql-id-query Basic with ID query -# -# gmysql-id-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and type='%s' and name='%s' and domain_id=%d - -################################# -# gmysql-info-all-master-query -# -# gmysql-info-all-master-query=select id,name,master,last_check,notified_serial,type from domains where type='MASTER' - -################################# -# gmysql-info-all-slaves-query -# -# gmysql-info-all-slaves-query=select id,name,master,last_check,type from domains where type='SLAVE' - -################################# -# gmysql-info-zone-query -# -# gmysql-info-zone-query=select id,name,master,last_check,notified_serial,type from domains where name='%s' - -################################# -# gmysql-innodb-read-committed Use InnoDB READ-COMMITTED transaction isolation level -# -# gmysql-innodb-read-committed=yes - -################################# -# gmysql-insert-comment-query -# -# gmysql-insert-comment-query=INSERT INTO comments (domain_id, name, type, modified_at, account, comment) VALUES (%d, '%s', '%s', %d, '%s', '%s') - -################################# -# gmysql-insert-empty-non-terminal-query insert empty non-terminal in zone -# -# gmysql-insert-empty-non-terminal-query=insert into records (domain_id,name,type,disabled,auth) values ('%d','%s',null,0,'1') - -################################# -# gmysql-insert-ent-order-query insert empty non-terminal in zone -# -# gmysql-insert-ent-order-query=insert into records (type,domain_id,disabled,name,ordername,auth) values (null,'%d',0,'%s','%s','%d') - -################################# -# gmysql-insert-ent-query insert empty non-terminal in zone -# -# gmysql-insert-ent-query=insert into records (type,domain_id,disabled,name,auth) values (null,'%d',0,'%s','%d') - -################################# -# gmysql-insert-record-order-query -# -# gmysql-insert-record-order-query=insert into records (content,ttl,prio,type,domain_id,disabled,name,ordername,auth) values ('%s',%d,%d,'%s',%d,%d,'%s','%s','%d') - -################################# -# gmysql-insert-record-query -# -# gmysql-insert-record-query=insert into records (content,ttl,prio,type,domain_id,disabled,name,auth) values ('%s',%d,%d,'%s',%d,%d,'%s','%d') - -################################# -# gmysql-insert-slave-query -# -# gmysql-insert-slave-query=insert into domains (type,name,master,account) values('SLAVE','%s','%s','%s') - -################################# -# gmysql-insert-zone-query -# -# gmysql-insert-zone-query=insert into domains (type,name) values('NATIVE','%s') - -################################# -# gmysql-list-comments-query -# -# gmysql-list-comments-query=SELECT domain_id,name,type,modified_at,account,comment FROM comments WHERE domain_id=%d - -################################# -# gmysql-list-domain-keys-query -# -# gmysql-list-domain-keys-query=select cryptokeys.id, flags, active, content from domains, cryptokeys where cryptokeys.domain_id=domains.id and name='%s' - -################################# -# gmysql-list-query AXFR query -# -# gmysql-list-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE (disabled=0 OR %d) and domain_id='%d' order by name, type - -################################# -# gmysql-list-subzone-query Subzone listing -# -# gmysql-list-subzone-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and (name='%s' OR name like '%s') and domain_id='%d' - -################################# -# gmysql-master-zone-query Data -# -# gmysql-master-zone-query=select master from domains where name='%s' and type='SLAVE' - -################################# -# gmysql-nullify-ordername-and-auth-query DNSSEC nullify ordername and auth query -# -# gmysql-nullify-ordername-and-auth-query=update records set ordername=NULL,auth=0 where name='%s' and type='%s' and domain_id='%d' and disabled=0 - -################################# -# gmysql-nullify-ordername-and-update-auth-query DNSSEC nullify ordername and update auth query -# -# gmysql-nullify-ordername-and-update-auth-query=update records set ordername=NULL,auth=%d where domain_id='%d' and name='%s' and disabled=0 - -################################# -# gmysql-password Pdns backend password to connect with -# -# gmysql-password= - -################################# -# gmysql-port Database backend port to connect to -# -# gmysql-port=0 - -################################# -# gmysql-remove-domain-key-query -# -# gmysql-remove-domain-key-query=delete from cryptokeys where domain_id=(select id from domains where name='%s') and cryptokeys.id=%d - -################################# -# gmysql-remove-empty-non-terminals-from-zone-query remove all empty non-terminals from zone -# -# gmysql-remove-empty-non-terminals-from-zone-query=delete from records where domain_id='%d' and type is null - -################################# -# gmysql-set-auth-on-ds-record-query DNSSEC set auth on a DS record -# -# gmysql-set-auth-on-ds-record-query=update records set auth=1 where domain_id='%d' and name='%s' and type='DS' and disabled=0 - -################################# -# gmysql-set-domain-metadata-query -# -# gmysql-set-domain-metadata-query=insert into domainmetadata (domain_id, kind, content) select id, '%s', '%s' from domains where name='%s' - -################################# -# gmysql-set-order-and-auth-query DNSSEC set ordering query -# -# gmysql-set-order-and-auth-query=update records set ordername='%s',auth=%d where name='%s' and domain_id='%d' and disabled=0 - -################################# -# gmysql-set-tsig-key-query -# -# gmysql-set-tsig-key-query=replace into tsigkeys (name,algorithm,secret) values('%s','%s','%s') - -################################# -# gmysql-socket Pdns backend socket to connect to -# -# gmysql-socket= - -################################# -# gmysql-supermaster-name-to-ips -# -# gmysql-supermaster-name-to-ips=select ip,account from supermasters where nameserver='%s' and account='%s' - -################################# -# gmysql-supermaster-query -# -# gmysql-supermaster-query=select account from supermasters where ip='%s' and nameserver='%s' - -################################# -# gmysql-update-kind-query -# -# gmysql-update-kind-query=update domains set type='%s' where name='%s' - -################################# -# gmysql-update-lastcheck-query -# -# gmysql-update-lastcheck-query=update domains set last_check=%d where id=%d - -################################# -# gmysql-update-master-query -# -# gmysql-update-master-query=update domains set master='%s' where name='%s' - -################################# -# gmysql-update-serial-query -# -# gmysql-update-serial-query=update domains set notified_serial=%d where id=%d - -################################# -# gmysql-user Database backend user to connect as -# -# gmysql-user=powerdns - -################################# -# gmysql-zone-lastchange-query -# -# gmysql-zone-lastchange-query=select max(change_date) from records where domain_id=%d - -################################# -# gpgsql-activate-domain-key-query -# -# gpgsql-activate-domain-key-query=update cryptokeys set active=true where domain_id=(select id from domains where name=E'%s') and cryptokeys.id=%d - -################################# -# gpgsql-add-domain-key-query -# -# gpgsql-add-domain-key-query=insert into cryptokeys (domain_id, flags, active, content) select id, %d, (%d = 1), '%s' from domains where name=E'%s' - -################################# -# gpgsql-any-id-query Any with ID query -# -# gpgsql-any-id-query=SELECT content,ttl,prio,type,domain_id,disabled::int,name,auth::int FROM records WHERE disabled=false and name=E'%s' and domain_id=%d - -################################# -# gpgsql-any-query Any query -# -# gpgsql-any-query=SELECT content,ttl,prio,type,domain_id,disabled::int,name,auth::int FROM records WHERE disabled=false and name=E'%s' - -################################# -# gpgsql-basic-query Basic query -# -# gpgsql-basic-query=SELECT content,ttl,prio,type,domain_id,disabled::int,name,auth::int FROM records WHERE disabled=false and type='%s' and name=E'%s' - -################################# -# gpgsql-clear-domain-all-keys-query -# -# gpgsql-clear-domain-all-keys-query=delete from cryptokeys where domain_id=(select id from domains where name=E'%s') - -################################# -# gpgsql-clear-domain-all-metadata-query -# -# gpgsql-clear-domain-all-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name=E'%s') - -################################# -# gpgsql-clear-domain-metadata-query -# -# gpgsql-clear-domain-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name=E'%s') and domainmetadata.kind=E'%s' - -################################# -# gpgsql-dbname Pdns backend database name to connect to -# -# gpgsql-dbname= - -################################# -# gpgsql-deactivate-domain-key-query -# -# gpgsql-deactivate-domain-key-query=update cryptokeys set active=false where domain_id=(select id from domains where name=E'%s') and cryptokeys.id=%d - -################################# -# gpgsql-delete-comment-rrset-query -# -# gpgsql-delete-comment-rrset-query=DELETE FROM comments WHERE domain_id=%d AND name=E'%s' AND type=E'%s' - -################################# -# gpgsql-delete-comments-query -# -# gpgsql-delete-comments-query=DELETE FROM comments WHERE domain_id=%d - -################################# -# gpgsql-delete-domain-query -# -# gpgsql-delete-domain-query=delete from domains where name=E'%s' - -################################# -# gpgsql-delete-empty-non-terminal-query delete empty non-terminal from zone -# -# gpgsql-delete-empty-non-terminal-query=delete from records where domain_id='%d' and name='%s' and type is null - -################################# -# gpgsql-delete-names-query -# -# gpgsql-delete-names-query=delete from records where domain_id=%d and name=E'%s' - -################################# -# gpgsql-delete-rrset-query -# -# gpgsql-delete-rrset-query=delete from records where domain_id=%d and name=E'%s' and type=E'%s' - -################################# -# gpgsql-delete-tsig-key-query -# -# gpgsql-delete-tsig-key-query=delete from tsigkeys where name='%s' - -################################# -# gpgsql-delete-zone-query -# -# gpgsql-delete-zone-query=delete from records where domain_id=%d - -################################# -# gpgsql-dnssec Enable DNSSEC processing -# -# gpgsql-dnssec=no - -################################# -# gpgsql-get-all-domain-metadata-query -# -# gpgsql-get-all-domain-metadata-query=select kind,content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name=E'%s' - -################################# -# gpgsql-get-all-domains-query Retrieve all domains -# -# gpgsql-get-all-domains-query=select domains.id, domains.name, records.content, domains.type, domains.master, domains.notified_serial, domains.last_check from domains LEFT JOIN records ON records.domain_id=domains.id AND records.type='SOA' AND records.name=domains.name WHERE records.disabled=false OR %d::bool - -################################# -# gpgsql-get-domain-metadata-query -# -# gpgsql-get-domain-metadata-query=select content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name=E'%s' and domainmetadata.kind=E'%s' - -################################# -# gpgsql-get-order-after-query DNSSEC Ordering Query, after -# -# gpgsql-get-order-after-query=select ordername from records where disabled=false and ordername ~>~ E'%s' and domain_id=%d and ordername is not null order by 1 using ~<~ limit 1 - -################################# -# gpgsql-get-order-before-query DNSSEC Ordering Query, before -# -# gpgsql-get-order-before-query=select ordername, name from records where disabled=false and ordername ~<=~ E'%s' and domain_id=%d and ordername is not null order by 1 using ~>~ limit 1 - -################################# -# gpgsql-get-order-first-query DNSSEC Ordering Query, last -# -# gpgsql-get-order-first-query=select ordername, name from records where disabled=false and domain_id=%d and ordername is not null order by 1 using ~<~ limit 1 - -################################# -# gpgsql-get-order-last-query DNSSEC Ordering Query, last -# -# gpgsql-get-order-last-query=select ordername, name from records where disabled=false and ordername != '' and domain_id=%d and ordername is not null order by 1 using ~>~ limit 1 - -################################# -# gpgsql-get-tsig-key-query -# -# gpgsql-get-tsig-key-query=select algorithm, secret from tsigkeys where name=E'%s' - -################################# -# gpgsql-get-tsig-keys-query -# -# gpgsql-get-tsig-keys-query=select name,algorithm, secret from tsigkeys - -################################# -# gpgsql-host Pdns backend host to connect to -# -# gpgsql-host= - -################################# -# gpgsql-id-query Basic with ID query -# -# gpgsql-id-query=SELECT content,ttl,prio,type,domain_id,disabled::int,name,auth::int FROM records WHERE disabled=false and type='%s' and name=E'%s' and domain_id=%d - -################################# -# gpgsql-info-all-master-query -# -# gpgsql-info-all-master-query=select id,name,master,last_check,notified_serial,type from domains where type='MASTER' - -################################# -# gpgsql-info-all-slaves-query -# -# gpgsql-info-all-slaves-query=select id,name,master,last_check,type from domains where type='SLAVE' - -################################# -# gpgsql-info-zone-query -# -# gpgsql-info-zone-query=select id,name,master,last_check,notified_serial,type from domains where name=E'%s' - -################################# -# gpgsql-insert-comment-query -# -# gpgsql-insert-comment-query=INSERT INTO comments (domain_id, name, type, modified_at, account, comment) VALUES (%d, E'%s', E'%s', %d, E'%s', E'%s') - -################################# -# gpgsql-insert-empty-non-terminal-query insert empty non-terminal in zone -# -# gpgsql-insert-empty-non-terminal-query=insert into records (domain_id,name,type,disabled,auth) values ('%d','%s',null,false,true) - -################################# -# gpgsql-insert-ent-order-query insert empty non-terminal in zone -# -# gpgsql-insert-ent-order-query=insert into records (type,domain_id,disabled,name,ordername,auth) values (null,'%d',false,E'%s',E'%s','%d') - -################################# -# gpgsql-insert-ent-query insert empty non-terminal in zone -# -# gpgsql-insert-ent-query=insert into records (type,domain_id,disabled,name,auth) values (null,'%d',false,E'%s','%d') - -################################# -# gpgsql-insert-record-order-query -# -# gpgsql-insert-record-order-query=insert into records (content,ttl,prio,type,domain_id,disabled,name,ordername,auth) values (E'%s',%d,%d,'%s',%d,%d::bool,E'%s',E'%s','%d') - -################################# -# gpgsql-insert-record-query -# -# gpgsql-insert-record-query=insert into records (content,ttl,prio,type,domain_id,disabled,name,auth) values (E'%s',%d,%d,'%s',%d,%d::bool,E'%s','%d') - -################################# -# gpgsql-insert-slave-query -# -# gpgsql-insert-slave-query=insert into domains (type,name,master,account) values('SLAVE',E'%s',E'%s',E'%s') - -################################# -# gpgsql-insert-zone-query -# -# gpgsql-insert-zone-query=insert into domains (type,name) values('NATIVE',E'%s') - -################################# -# gpgsql-list-comments-query -# -# gpgsql-list-comments-query=SELECT domain_id,name,type,modified_at,account,comment FROM comments WHERE domain_id=%d - -################################# -# gpgsql-list-domain-keys-query -# -# gpgsql-list-domain-keys-query=select cryptokeys.id, flags, case when active then 1 else 0 end as active, content from domains, cryptokeys where cryptokeys.domain_id=domains.id and name=E'%s' - -################################# -# gpgsql-list-query AXFR query -# -# gpgsql-list-query=SELECT content,ttl,prio,type,domain_id,disabled::int,name,auth::int FROM records WHERE (disabled=false OR %d::bool) and domain_id='%d' order by name, type - -################################# -# gpgsql-list-subzone-query Subzone listing -# -# gpgsql-list-subzone-query=SELECT content,ttl,prio,type,domain_id,disabled::int,name,auth::int FROM records WHERE disabled=false and (name=E'%s' OR name like E'%s') and domain_id='%d' - -################################# -# gpgsql-master-zone-query Data -# -# gpgsql-master-zone-query=select master from domains where name=E'%s' and type='SLAVE' - -################################# -# gpgsql-nullify-ordername-and-auth-query DNSSEC nullify ordername and auth query -# -# gpgsql-nullify-ordername-and-auth-query=update records set ordername=NULL,auth=false where name=E'%s' and type=E'%s' and domain_id='%d' and disabled=false - -################################# -# gpgsql-nullify-ordername-and-update-auth-query DNSSEC nullify ordername and update auth query -# -# gpgsql-nullify-ordername-and-update-auth-query=update records set ordername=NULL,auth=%d::bool where domain_id='%d' and name='%s' and disabled=false - -################################# -# gpgsql-password Pdns backend password to connect with -# -# gpgsql-password= - -################################# -# gpgsql-port Database backend port to connect to -# -# gpgsql-port= - -################################# -# gpgsql-remove-domain-key-query -# -# gpgsql-remove-domain-key-query=delete from cryptokeys where domain_id=(select id from domains where name=E'%s') and cryptokeys.id=%d - -################################# -# gpgsql-remove-empty-non-terminals-from-zone-query remove all empty non-terminals from zone -# -# gpgsql-remove-empty-non-terminals-from-zone-query=delete from records where domain_id='%d' and type is null - -################################# -# gpgsql-set-auth-on-ds-record-query DNSSEC set auth on a DS record -# -# gpgsql-set-auth-on-ds-record-query=update records set auth=true where domain_id='%d' and name='%s' and type='DS' and disabled=false - -################################# -# gpgsql-set-domain-metadata-query -# -# gpgsql-set-domain-metadata-query=insert into domainmetadata (domain_id, kind, content) select id, '%s', '%s' from domains where name=E'%s' - -################################# -# gpgsql-set-order-and-auth-query DNSSEC set ordering query -# -# gpgsql-set-order-and-auth-query=update records set ordername=E'%s',auth=%d::bool where name=E'%s' and domain_id='%d' and disabled=false - -################################# -# gpgsql-set-tsig-key-query -# -# gpgsql-set-tsig-key-query=insert into tsigkeys (name,algorithm,secret) values('%s','%s','%s') - -################################# -# gpgsql-supermaster-name-to-ips -# -# gpgsql-supermaster-name-to-ips=select ip,account from supermasters where nameserver=E'%s' and account=E'%s' - -################################# -# gpgsql-supermaster-query -# -# gpgsql-supermaster-query=select account from supermasters where ip='%s' and nameserver=E'%s' - -################################# -# gpgsql-update-kind-query -# -# gpgsql-update-kind-query=update domains set type='%s' where name='%s' - -################################# -# gpgsql-update-lastcheck-query -# -# gpgsql-update-lastcheck-query=update domains set last_check=%d where id=%d - -################################# -# gpgsql-update-master-query -# -# gpgsql-update-master-query=update domains set master='%s' where name='%s' - -################################# -# gpgsql-update-serial-query -# -# gpgsql-update-serial-query=update domains set notified_serial=%d where id=%d - -################################# -# gpgsql-user Pdns backend user to connect as -# -# gpgsql-user= - -################################# -# gpgsql-zone-lastchange-query -# -# gpgsql-zone-lastchange-query=select max(change_date) from records where domain_id=%d - -################################# -# gsqlite3-activate-domain-key-query -# -# gsqlite3-activate-domain-key-query=update cryptokeys set active=1 where domain_id=(select id from domains where name='%s') and cryptokeys.id=%d - -################################# -# gsqlite3-add-domain-key-query -# -# gsqlite3-add-domain-key-query=insert into cryptokeys (domain_id, flags, active, content) select id, %d, %d, '%s' from domains where name='%s' - -################################# -# gsqlite3-any-id-query Any with ID query -# -# gsqlite3-any-id-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and name='%s' and domain_id=%d - -################################# -# gsqlite3-any-query Any query -# -# gsqlite3-any-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and name='%s' - -################################# -# gsqlite3-basic-query Basic query -# -# gsqlite3-basic-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and type='%s' and name='%s' - -################################# -# gsqlite3-clear-domain-all-keys-query -# -# gsqlite3-clear-domain-all-keys-query=delete from cryptokeys where domain_id=(select id from domains where name='%s') - -################################# -# gsqlite3-clear-domain-all-metadata-query -# -# gsqlite3-clear-domain-all-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name='%s') - -################################# -# gsqlite3-clear-domain-metadata-query -# -# gsqlite3-clear-domain-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name='%s') and domainmetadata.kind='%s' - -################################# -# gsqlite3-database Filename of the SQLite3 database -# -# gsqlite3-database=powerdns.sqlite - -################################# -# gsqlite3-deactivate-domain-key-query -# -# gsqlite3-deactivate-domain-key-query=update cryptokeys set active=0 where domain_id=(select id from domains where name='%s') and cryptokeys.id=%d - -################################# -# gsqlite3-delete-comment-rrset-query -# -# gsqlite3-delete-comment-rrset-query=DELETE FROM comments WHERE domain_id=%d AND name='%s' AND type='%s' - -################################# -# gsqlite3-delete-comments-query -# -# gsqlite3-delete-comments-query=DELETE FROM comments WHERE domain_id=%d - -################################# -# gsqlite3-delete-domain-query -# -# gsqlite3-delete-domain-query=delete from domains where name='%s' - -################################# -# gsqlite3-delete-empty-non-terminal-query delete empty non-terminal from zone -# -# gsqlite3-delete-empty-non-terminal-query=delete from records where domain_id='%d' and name='%s' and type is null - -################################# -# gsqlite3-delete-names-query -# -# gsqlite3-delete-names-query=delete from records where domain_id = %d and name='%s' - -################################# -# gsqlite3-delete-rrset-query -# -# gsqlite3-delete-rrset-query=delete from records where domain_id = %d and name='%s' and type='%s' - -################################# -# gsqlite3-delete-tsig-key-query -# -# gsqlite3-delete-tsig-key-query=delete from tsigkeys where name='%s' - -################################# -# gsqlite3-delete-zone-query -# -# gsqlite3-delete-zone-query=delete from records where domain_id=%d - -################################# -# gsqlite3-dnssec Enable DNSSEC processing -# -# gsqlite3-dnssec=no - -################################# -# gsqlite3-get-all-domain-metadata-query -# -# gsqlite3-get-all-domain-metadata-query=select kind,content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s' - -################################# -# gsqlite3-get-all-domains-query Retrieve all domains -# -# gsqlite3-get-all-domains-query=select domains.id, domains.name, records.content, domains.type, domains.master, domains.notified_serial, domains.last_check from domains LEFT JOIN records ON records.domain_id=domains.id AND records.type='SOA' AND records.name=domains.name WHERE records.disabled=0 OR %d - -################################# -# gsqlite3-get-domain-metadata-query -# -# gsqlite3-get-domain-metadata-query=select content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s' and domainmetadata.kind='%s' - -################################# -# gsqlite3-get-order-after-query DNSSEC Ordering Query, after -# -# gsqlite3-get-order-after-query=select min(ordername) from records where disabled=0 and ordername > '%s' and domain_id=%d and ordername is not null - -################################# -# gsqlite3-get-order-before-query DNSSEC Ordering Query, before -# -# gsqlite3-get-order-before-query=select ordername, name from records where disabled=0 and ordername <= '%s' and domain_id=%d and ordername is not null order by 1 desc limit 1 - -################################# -# gsqlite3-get-order-first-query DNSSEC Ordering Query, first -# -# gsqlite3-get-order-first-query=select ordername, name from records where disabled=0 and domain_id=%d and ordername is not null order by 1 asc limit 1 - -################################# -# gsqlite3-get-order-last-query DNSSEC Ordering Query, last -# -# gsqlite3-get-order-last-query=select ordername, name from records where disabled=0 and ordername != '' and domain_id=%d and ordername is not null order by 1 desc limit 1 - -################################# -# gsqlite3-get-tsig-key-query -# -# gsqlite3-get-tsig-key-query=select algorithm, secret from tsigkeys where name='%s' - -################################# -# gsqlite3-get-tsig-keys-query -# -# gsqlite3-get-tsig-keys-query=select name,algorithm, secret from tsigkeys - -################################# -# gsqlite3-id-query Basic with ID query -# -# gsqlite3-id-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and type='%s' and name='%s' and domain_id=%d - -################################# -# gsqlite3-info-all-master-query -# -# gsqlite3-info-all-master-query=select id,name,master,last_check,notified_serial,type from domains where type='MASTER' - -################################# -# gsqlite3-info-all-slaves-query -# -# gsqlite3-info-all-slaves-query=select id,name,master,last_check,type from domains where type='SLAVE' - -################################# -# gsqlite3-info-zone-query -# -# gsqlite3-info-zone-query=select id,name,master,last_check,notified_serial,type from domains where name='%s' - -################################# -# gsqlite3-insert-comment-query -# -# gsqlite3-insert-comment-query=INSERT INTO comments (domain_id, name, type, modified_at, account, comment) VALUES (%d, '%s', '%s', %d, '%s', '%s') - -################################# -# gsqlite3-insert-empty-non-terminal-query insert empty non-terminal in zone -# -# gsqlite3-insert-empty-non-terminal-query=insert into records (domain_id,name,type,disabled,auth) values ('%d','%s',null,0,'1') - -################################# -# gsqlite3-insert-ent-order-query insert empty non-terminal in zone -# -# gsqlite3-insert-ent-order-query=insert into records (type,domain_id,disabled,name,ordername,auth) values (null,'%d',0,'%s','%s','%d') - -################################# -# gsqlite3-insert-ent-query insert empty non-terminal in zone -# -# gsqlite3-insert-ent-query=insert into records (type,domain_id,disabled,name,auth) values (null,'%d',0,'%s','%d') - -################################# -# gsqlite3-insert-record-order-query -# -# gsqlite3-insert-record-order-query=insert into records (content,ttl,prio,type,domain_id,disabled,name,ordername,auth) values ('%s',%d,%d,'%s',%d,%d,'%s','%s','%d') - -################################# -# gsqlite3-insert-record-query -# -# gsqlite3-insert-record-query=insert into records (content,ttl,prio,type,domain_id,disabled,name,auth) values ('%s',%d,%d,'%s',%d,%d,'%s',%d) - -################################# -# gsqlite3-insert-slave-query -# -# gsqlite3-insert-slave-query=insert into domains (type,name,master,account) values('SLAVE','%s','%s','%s') - -################################# -# gsqlite3-insert-zone-query -# -# gsqlite3-insert-zone-query=insert into domains (type,name) values('NATIVE','%s') - -################################# -# gsqlite3-list-comments-query -# -# gsqlite3-list-comments-query=SELECT domain_id,name,type,modified_at,account,comment FROM comments WHERE domain_id=%d - -################################# -# gsqlite3-list-domain-keys-query -# -# gsqlite3-list-domain-keys-query=select cryptokeys.id, flags, active, content from domains, cryptokeys where cryptokeys.domain_id=domains.id and name='%s' - -################################# -# gsqlite3-list-query AXFR query -# -# gsqlite3-list-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE (disabled=0 OR %d) and domain_id='%d' order by name, type - -################################# -# gsqlite3-list-subzone-query Subzone listing -# -# gsqlite3-list-subzone-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and (name='%s' OR name like '%s') and domain_id=%d - -################################# -# gsqlite3-master-zone-query Data -# -# gsqlite3-master-zone-query=select master from domains where name='%s' and type='SLAVE' - -################################# -# gsqlite3-nullify-ordername-and-auth-query DNSSEC nullify ordername and auth query -# -# gsqlite3-nullify-ordername-and-auth-query=update records set ordername=NULL,auth=0 where name='%s' and type='%s' and domain_id='%d' and disabled=0 - -################################# -# gsqlite3-nullify-ordername-and-update-auth-query DNSSEC nullify ordername and update auth query -# -# gsqlite3-nullify-ordername-and-update-auth-query=update records set ordername=NULL,auth=%d where domain_id='%d' and name='%s' and disabled=0 - -################################# -# gsqlite3-pragma-synchronous Set this to 0 for blazing speed -# -# gsqlite3-pragma-synchronous= - -################################# -# gsqlite3-remove-domain-key-query -# -# gsqlite3-remove-domain-key-query=delete from cryptokeys where domain_id=(select id from domains where name='%s') and cryptokeys.id=%d - -################################# -# gsqlite3-remove-empty-non-terminals-from-zone-query remove all empty non-terminals from zone -# -# gsqlite3-remove-empty-non-terminals-from-zone-query=delete from records where domain_id='%d' and type is null - -################################# -# gsqlite3-set-auth-on-ds-record-query DNSSEC set auth on a DS record -# -# gsqlite3-set-auth-on-ds-record-query=update records set auth=1 where domain_id='%d' and name='%s' and type='DS' and disabled=0 - -################################# -# gsqlite3-set-domain-metadata-query -# -# gsqlite3-set-domain-metadata-query=insert into domainmetadata (domain_id, kind, content) select id, '%s', '%s' from domains where name='%s' - -################################# -# gsqlite3-set-order-and-auth-query DNSSEC set ordering query -# -# gsqlite3-set-order-and-auth-query=update records set ordername='%s',auth=%d where name='%s' and domain_id='%d' and disabled=0 - -################################# -# gsqlite3-set-tsig-key-query -# -# gsqlite3-set-tsig-key-query=replace into tsigkeys (name,algorithm,secret) values('%s','%s','%s') - -################################# -# gsqlite3-supermaster-name-to-ips -# -# gsqlite3-supermaster-name-to-ips=select ip,account from supermasters where nameserver='%s' and account='%s' - -################################# -# gsqlite3-supermaster-query -# -# gsqlite3-supermaster-query=select account from supermasters where ip='%s' and nameserver='%s' - -################################# -# gsqlite3-update-kind-query -# -# gsqlite3-update-kind-query=update domains set type='%s' where name='%s' - -################################# -# gsqlite3-update-lastcheck-query -# -# gsqlite3-update-lastcheck-query=update domains set last_check=%d where id=%d - -################################# -# gsqlite3-update-master-query -# -# gsqlite3-update-master-query=update domains set master='%s' where name='%s' - -################################# -# gsqlite3-update-serial-query -# -# gsqlite3-update-serial-query=update domains set notified_serial=%d where id=%d - -################################# -# gsqlite3-zone-lastchange-query -# -# gsqlite3-zone-lastchange-query=select max(change_date) from records where domain_id=%d - -################################# -# guardian Run within a guardian process -# -# guardian=no - -################################# -# include-dir Include *.conf files from this directory -# -# include-dir= - -################################# -# launch Which backends to launch and order to query them in -# -# launch=bind,geo,geoip,gmysql,gpgsql,gsqlite3,lmdb,lua,mydns,opendbx,pipe,tinydns - -################################# -# lmdb-datapath Path to the directory containing the lmdb files -# -# lmdb-datapath=/etc/pdns/data - -################################# -# lmdb-experimental-dnssec Enable experimental DNSSEC processing -# -# lmdb-experimental-dnssec=no - -################################# -# load-modules Load this module - supply absolute or relative path -# -# load-modules= - -################################# -# local-address Local IP addresses to which we bind -# -# local-address=0.0.0.0 - -################################# -# local-address-nonexist-fail Fail to start if one or more of the local-address's do not exist on this server -# -# local-address-nonexist-fail=yes - -################################# -# local-ipv6 Local IP address to which we bind -# -# local-ipv6= - -################################# -# local-ipv6-nonexist-fail Fail to start if one or more of the local-ipv6 addresses do not exist on this server -# -# local-ipv6-nonexist-fail=yes - -################################# -# local-port The port on which we listen -# -# local-port=53 - -################################# -# log-dns-details If PDNS should log DNS non-erroneous details -# -# log-dns-details=no - -################################# -# log-dns-queries If PDNS should log all incoming DNS queries -# -# log-dns-queries=no - -################################# -# logging-facility Log under a specific facility -# -# logging-facility= - -################################# -# loglevel Amount of logging. Higher is more. Do not set below 3 -# -# loglevel=4 - -################################# -# lua-filename Filename of the script for lua backend -# -# lua-filename=powerdns-luabackend.lua - -################################# -# lua-logging-query Logging of the LUA Backend -# -# lua-logging-query=no - -################################# -# lua-prequery-script Lua script with prequery handler -# -# lua-prequery-script= - -################################# -# master Act as a master -# -# master=no - -################################# -# max-cache-entries Maximum number of cache entries -# -# max-cache-entries=1000000 - -################################# -# max-ent-entries Maximum number of empty non-terminals in a zone -# -# max-ent-entries=100000 - -################################# -# max-nsec3-iterations Limit the number of NSEC3 hash iterations -# -# max-nsec3-iterations=500 - -################################# -# max-queue-length Maximum queuelength before considering situation lost -# -# max-queue-length=5000 - -################################# -# max-signature-cache-entries Maximum number of signatures cache entries -# -# max-signature-cache-entries= - -################################# -# max-tcp-connections Maximum number of TCP connections -# -# max-tcp-connections=10 - -################################# -# module-dir Default directory for modules -# -# module-dir=/usr/local/lib/pdns - -################################# -# mydns-dbname Pdns backend database name to connect to -# -# mydns-dbname=mydns - -################################# -# mydns-host Pdns backend host to connect to -# -# mydns-host= - -################################# -# mydns-password Pdns backend password to connect with -# -# mydns-password= - -################################# -# mydns-port Pdns backend host to connect to -# -# mydns-port= - -################################# -# mydns-rr-active Use the active column in the RR table -# -# mydns-rr-active=yes - -################################# -# mydns-rr-table Name of RR table to use -# -# mydns-rr-table=rr - -################################# -# mydns-rr-where Additional WHERE clause for RR -# -# mydns-rr-where=1 = 1 - -################################# -# mydns-soa-active Use the active column in the SOA table -# -# mydns-soa-active=yes - -################################# -# mydns-soa-table Name of SOA table to use -# -# mydns-soa-table=soa - -################################# -# mydns-soa-where Additional WHERE clause for SOA -# -# mydns-soa-where=1 = 1 - -################################# -# mydns-socket Pdns backend socket to connect to -# -# mydns-socket= - -################################# -# mydns-use-minimal-ttl Setting this to 'yes' will make the backend behave like MyDNS on the TTL values. Setting it to 'no' will make it ignore the minimal-ttl of the zone. -# -# mydns-use-minimal-ttl=yes - -################################# -# mydns-user Pdns backend user to connect as -# -# mydns-user=powerdns - -################################# -# negquery-cache-ttl Seconds to store negative query results in the QueryCache -# -# negquery-cache-ttl=60 - -################################# -# no-shuffle Set this to prevent random shuffling of answers - for regression testing -# -# no-shuffle=off - -################################# -# only-notify Only send AXFR NOTIFY to these IP addresses or netmasks -# -# only-notify=0.0.0.0/0,::/0 - -################################# -# opendbx-backend OpenDBX backend -# -# opendbx-backend=mysql - -################################# -# opendbx-database Database name containing the DNS records -# -# opendbx-database=powerdns - -################################# -# opendbx-host deprecated, use host-read and host-write instead -# -# opendbx-host= - -################################# -# opendbx-host-read Name or address of one or more DBMS server to read from -# -# opendbx-host-read=127.0.0.1 - -################################# -# opendbx-host-write Name or address of one or more DBMS server used for updates -# -# opendbx-host-write=127.0.0.1 - -################################# -# opendbx-password Password for connecting to the DBMS -# -# opendbx-password= - -################################# -# opendbx-port Port the DBMS server are listening to -# -# opendbx-port= - -################################# -# opendbx-sql-infomasters Get all updated masters -# -# opendbx-sql-infomasters=SELECT d."id", d."name", d."master", d."last_check", d."notified_serial", d."auto_serial", r."content" FROM "domains" d LEFT JOIN "records" r ON ( d."id"=r."domain_id" AND r."type"='SOA' ) WHERE d."status"='A' AND d."type"='MASTER' - -################################# -# opendbx-sql-infoslaves Get all unfresh slaves -# -# opendbx-sql-infoslaves=SELECT d."id", d."name", d."master", d."last_check", d."notified_serial", d."auto_serial", r."content" FROM "domains" d LEFT JOIN "records" r ON ( d."id"=r."domain_id" AND r."type"='SOA' ) WHERE d."status"='A' AND d."type"='SLAVE' - -################################# -# opendbx-sql-insert-record Feed record into table -# -# opendbx-sql-insert-record=INSERT INTO "records" ( "domain_id", "name", "type", "ttl", "prio", "content" ) VALUES ( %d, '%s', '%s', %d, %d, '%s' ) - -################################# -# opendbx-sql-insert-slave Add slave domain -# -# opendbx-sql-insert-slave=INSERT INTO "domains" ( "name", "type", "master", "account" ) VALUES ( '%s', 'SLAVE', '%s', '%s' ) - -################################# -# opendbx-sql-list AXFR query -# -# opendbx-sql-list=SELECT r."domain_id", r."name", r."type", r."ttl", r."prio", r."content" FROM "records" r WHERE r."domain_id"=:id - -################################# -# opendbx-sql-lookup Lookup query -# -# opendbx-sql-lookup=SELECT r."domain_id", r."name", r."type", r."ttl", r."prio", r."content" FROM "records" r WHERE r."name"=':name' - -################################# -# opendbx-sql-lookupid Lookup query with id -# -# opendbx-sql-lookupid=SELECT r."domain_id", r."name", r."type", r."ttl", r."prio", r."content" FROM "records" r WHERE r."domain_id"=:id AND r."name"=':name' - -################################# -# opendbx-sql-lookupsoa Lookup query for SOA record -# -# opendbx-sql-lookupsoa=SELECT d."id", d."auto_serial", r."ttl", r."content" FROM "records" r JOIN "domains" d ON r."domain_id"=d."id" WHERE r."name"=':name' AND r."type"='SOA' AND d."status"='A' - -################################# -# opendbx-sql-lookuptype Lookup query with type -# -# opendbx-sql-lookuptype=SELECT r."domain_id", r."name", r."type", r."ttl", r."prio", r."content" FROM "records" r WHERE r."name"=':name' AND r."type"=':type' - -################################# -# opendbx-sql-lookuptypeid Lookup query with type and id -# -# opendbx-sql-lookuptypeid=SELECT r."domain_id", r."name", r."type", r."ttl", r."prio", r."content" FROM "records" r WHERE r."domain_id"=:id AND r."name"=':name' AND r."type"=':type' - -################################# -# opendbx-sql-master Get master record for zone -# -# opendbx-sql-master=SELECT d."master" FROM "domains" d WHERE d."name"=':name' AND d."status"='A' AND d."type"='SLAVE' - -################################# -# opendbx-sql-supermaster Get supermaster info -# -# opendbx-sql-supermaster=SELECT s."account" FROM "supermasters" s WHERE s."ip"=':ip' AND s."nameserver"=':ns' - -################################# -# opendbx-sql-transactabort Abort transaction -# -# opendbx-sql-transactabort=ROLLBACK - -################################# -# opendbx-sql-transactbegin Start transaction -# -# opendbx-sql-transactbegin=BEGIN - -################################# -# opendbx-sql-transactend Finish transaction -# -# opendbx-sql-transactend=COMMIT - -################################# -# opendbx-sql-update-lastcheck Set time of last check -# -# opendbx-sql-update-lastcheck=UPDATE "domains" SET "last_check"=%d WHERE "id"=%d - -################################# -# opendbx-sql-update-serial Set zone to notified -# -# opendbx-sql-update-serial=UPDATE "domains" SET "notified_serial"=%d WHERE "id"=%d - -################################# -# opendbx-sql-zonedelete Delete all records for this zone -# -# opendbx-sql-zonedelete=DELETE FROM "records" WHERE "domain_id"=:id - -################################# -# opendbx-sql-zoneinfo Get domain info -# -# opendbx-sql-zoneinfo=SELECT d."id", d."name", d."type", d."master", d."last_check", d."auto_serial", r."content" FROM "domains" d LEFT JOIN "records" r ON ( d."id"=r."domain_id" AND r."type"='SOA' ) WHERE d."name"=':name' AND d."status"='A' - -################################# -# opendbx-username User for connecting to the DBMS -# -# opendbx-username=powerdns - -################################# -# out-of-zone-additional-processing Do out of zone additional processing -# -# out-of-zone-additional-processing=yes - -################################# -# overload-queue-length Maximum queuelength moving to packetcache only -# -# overload-queue-length=0 - -################################# -# pipe-command Command to execute for piping questions to -# -# pipe-command= - -################################# -# pipe-regex Regular exception of queries to pass to coprocess -# -# pipe-regex= - -################################# -# pipe-timeout Number of milliseconds to wait for an answer -# -# pipe-timeout=2000 - -################################# -# pipebackend-abi-version Version of the pipe backend ABI -# -# pipebackend-abi-version=1 - -################################# -# prevent-self-notification Don't send notifications to what we think is ourself -# -# prevent-self-notification=yes - -################################# -# query-cache-ttl Seconds to store query results in the QueryCache -# -# query-cache-ttl=20 - -################################# -# query-local-address Source IP address for sending queries -# -# query-local-address=0.0.0.0 - -################################# -# query-local-address6 Source IPv6 address for sending queries -# -# query-local-address6=:: - -################################# -# query-logging Hint backends that queries should be logged -# -# query-logging=no - -################################# -# queue-limit Maximum number of milliseconds to queue a query -# -# queue-limit=1500 - -################################# -# receiver-threads Default number of receiver threads to start -# -# receiver-threads=1 - -################################# -# recursive-cache-ttl Seconds to store packets for recursive queries in the PacketCache -# -# recursive-cache-ttl=10 - -################################# -# recursor If recursion is desired, IP address of a recursing nameserver -# -# recursor=no - -################################# -# retrieval-threads Number of AXFR-retrieval threads for slave operation -# -# retrieval-threads=2 - -################################# -# reuseport Enable higher performance on compliant kernels by using SO_REUSEPORT allowing each receiver thread to open its own socket -# -# reuseport=no - -################################# -# send-root-referral Send out old-fashioned root-referral instead of ServFail in case of no authority -# -# send-root-referral=no - -################################# -# server-id Returned when queried for 'server.id' TXT or NSID, defaults to hostname - disabled or custom -# -# server-id= - -################################# -# setgid If set, change group id to this gid for more security -# -# setgid= - -################################# -# setuid If set, change user id to this uid for more security -# -# setuid= - -################################# -# signing-threads Default number of signer threads to start -# -# signing-threads=3 - -################################# -# slave Act as a slave -# -# slave=no - -################################# -# slave-cycle-interval Reschedule failed SOA serial checks once every .. seconds -# -# slave-cycle-interval=60 - -################################# -# slave-renotify If we should send out notifications for slaved updates -# -# slave-renotify=no - -################################# -# soa-expire-default Default SOA expire -# -# soa-expire-default=604800 - -################################# -# soa-minimum-ttl Default SOA minimum ttl -# -# soa-minimum-ttl=3600 - -################################# -# soa-refresh-default Default SOA refresh -# -# soa-refresh-default=10800 - -################################# -# soa-retry-default Default SOA retry -# -# soa-retry-default=3600 - -################################# -# socket-dir Where the controlsocket will live -# -# socket-dir=/var/run - -################################# -# tcp-control-address If set, PowerDNS can be controlled over TCP on this address -# -# tcp-control-address= - -################################# -# tcp-control-port If set, PowerDNS can be controlled over TCP on this address -# -# tcp-control-port=53000 - -################################# -# tcp-control-range If set, remote control of PowerDNS is possible over these networks only -# -# tcp-control-range=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10 - -################################# -# tcp-control-secret If set, PowerDNS can be controlled over TCP after passing this secret -# -# tcp-control-secret= - -################################# -# tinydns-dbfile Location of the cdb data file -# -# tinydns-dbfile=data.cdb - -################################# -# tinydns-ignore-bogus-records The data.cdb file might have some wront record data, this causes PowerDNS to fail, where tinydns would send out truncated data. This option makes powerdns ignore that data! -# -# tinydns-ignore-bogus-records=no - -################################# -# tinydns-locations Enable or Disable location support in the backend. Changing the value to 'no' will make the backend ignore the locations. This then returns all records! -# -# tinydns-locations=yes - -################################# -# tinydns-notify-on-startup Tell the TinyDNSBackend to notify all the slave nameservers on startup. Default is no. -# -# tinydns-notify-on-startup=no - -################################# -# tinydns-tai-adjust This adjusts the TAI value if timestamps are used. These seconds will be added to the start point (1970) and will allow you to adjust for leap seconds. The default is 11. -# -# tinydns-tai-adjust=11 - -################################# -# traceback-handler Enable the traceback handler (Linux only) -# -# traceback-handler=yes - -################################# -# trusted-notification-proxy IP address of incoming notification proxy -# -# trusted-notification-proxy= - -################################# -# udp-truncation-threshold Maximum UDP response size before we truncate -# -# udp-truncation-threshold=1680 - -################################# -# version-string PowerDNS version in packets - full, anonymous, powerdns or custom -# -# version-string=full - -################################# -# webserver Start a webserver for monitoring -# -# webserver=no - -################################# -# webserver-address IP Address of webserver to listen on -# -# webserver-address=127.0.0.1 - -################################# -# webserver-allow-from Webserver access is only allowed from these subnets -# -# webserver-allow-from=0.0.0.0/0,::/0 - -################################# -# webserver-password Password required for accessing the webserver -# -# webserver-password= - -################################# -# webserver-port Port of webserver to listen on -# -# webserver-port=8081 - -################################# -# webserver-print-arguments If the webserver should print arguments -# -# webserver-print-arguments=no - - Property changes on: head/dns/powerdns/files/pdns.conf ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/dns/powerdns/files/patch-pdns_dnspacket.cc =================================================================== --- head/dns/powerdns/files/patch-pdns_dnspacket.cc (revision 420207) +++ head/dns/powerdns/files/patch-pdns_dnspacket.cc (nonexistent) @@ -1,15 +0,0 @@ ---- pdns/dnspacket.cc.orig 2015-11-02 10:33:21 UTC -+++ pdns/dnspacket.cc -@@ -641,9 +641,9 @@ bool checkForCorrectTSIG(const DNSPacket - string message; - - q->getTSIGDetails(trc, keyname, &message); -- uint64_t now = time(0); -- if(abs(trc->d_time - now) > trc->d_fudge) { -- L<qdomain<<"' denied: TSIG (key '"<<*keyname<<"') time delta "<< abs(trc->d_time - now)<<" > 'fudge' "<d_fudge<d_time - (int64_t)time(0)); -+ if(delta > trc->d_fudge) { -+ L<qdomain<<"' denied: TSIG (key '"<<*keyname<<"') time delta "<< delta <<" > 'fudge' "<d_fudge<