Index: Makefile =================================================================== --- Makefile (revision 418610) +++ Makefile (working copy) @@ -1,10 +1,11 @@ # $FreeBSD$ PORTNAME= powerdns -PORTVERSION= 3.4.9 +PORTVERSION= 4.0.0 CATEGORIES= dns ipv6 MASTER_SITES= http://downloads.powerdns.com/releases/ DISTNAME= pdns-${PORTVERSION} +#DISTNAME= pdns-${PORTVERSION:C/r([0-9]+)/-rc\1/} MAINTAINER= tremere@cainites.net COMMENT= Advanced DNS server with multiple backends including SQL @@ -15,7 +16,7 @@ BROKEN_powerpc64= Does not build -USES= cpe gmake libtool lua pkgconfig tar:bzip2 +USES= cpe gmake libtool pkgconfig ssl tar:bzip2 USE_LDCONFIG= YES USE_SUBMAKE= YES GNU_CONFIGURE= YES @@ -22,8 +23,6 @@ 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}" \ @@ -40,30 +39,29 @@ 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 @@ -85,8 +83,8 @@ 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 @@ -97,34 +95,34 @@ 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 +PGSQL_DESC= PostgreSQL backend +PROTOBUF_DESC= Protobuf support +REMOTE_DESC= Remote backend +REMOTEOPT_DESC= Remote backend connectors 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 -REMOTE_DESC= Remote 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: distinfo =================================================================== --- distinfo (revision 418610) +++ distinfo (working copy) @@ -1,3 +1,3 @@ -TIMESTAMP = 1463481727 -SHA256 (pdns-3.4.9.tar.bz2) = 2b1124db2d937ed6666525b9fc60a5dd55cb82f4cae58116cb986de53faa5dff -SIZE (pdns-3.4.9.tar.bz2) = 1351434 +TIMESTAMP = 1468309284 +SHA256 (pdns-4.0.0.tar.bz2) = 9f3ea273e11c898d9a91a2454eb7f2f38bdcc1ec4ea70a5e5de09c61b4ab65d5 +SIZE (pdns-4.0.0.tar.bz2) = 1302421 Index: files/patch-carbon_fix =================================================================== --- files/patch-carbon_fix (nonexistent) +++ files/patch-carbon_fix (working copy) @@ -0,0 +1,48 @@ +--- pdns/auth-carbon.cc.orig 2016-07-11 08:10:45 UTC ++++ pdns/auth-carbon.cc +@@ -46,11 +46,12 @@ try + + for (const auto& carbonServer : carbonServers) { + ComboAddress remote(carbonServer, 2003); +- Socket s(remote.sin4.sin_family, SOCK_STREAM); +- s.setNonBlocking(); +- s.connect(remote); // we do the connect so the attempt happens while we gather stats + + try { ++ Socket s(remote.sin4.sin_family, SOCK_STREAM); ++ s.setNonBlocking(); ++ s.connect(remote, 2); ++ + writen2WithTimeout(s.getHandle(), msg.c_str(), msg.length(), 2); + } catch (runtime_error &e){ + L< 0) { ++ /* if a timeout is provided, we wait until the connection has been established */ ++ int res = waitForRWData(d_socket, false, timeout, 0); ++ if (res == 0) { ++ throw NetworkError("timeout while connecting to "+ep.toStringWithPort()); ++ } else if (res < 0) { ++ throw NetworkError("while waiting to connect to "+ep.toStringWithPort()+": "+string(strerror(errno))); ++ } ++ } ++ } ++ else { ++ throw NetworkError("While connecting to "+ep.toStringWithPort()+": "+string(strerror(errno))); ++ } ++ } + } + + Property changes on: files/patch-carbon_fix ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-pdns_dnspacket.cc =================================================================== --- files/patch-pdns_dnspacket.cc (revision 418610) +++ 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< '%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: 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: pkg-plist =================================================================== --- pkg-plist (revision 418610) +++ pkg-plist (working copy) @@ -1,42 +1,60 @@ bin/pdns_control -bin/pdnssec +bin/pdnsutil bin/zone2json -bin/zone2ldap bin/zone2sql sbin/pdns_server +%%PROTOBUF%%bin/dnspcap2protobuf %%TOOLS%%bin/dnsbulktest +%%TOOLS%%bin/dnsgram %%TOOLS%%bin/dnsreplay %%TOOLS%%bin/dnsscan %%TOOLS%%bin/dnsscope %%TOOLS%%bin/dnstcpbench %%TOOLS%%bin/dnswasher +%%TOOLS%%bin/dumresp +%%TOOLS%%bin/ixplore %%TOOLS%%bin/nproxy %%TOOLS%%bin/nsec3dig +%%TOOLS%%bin/pdns_notify %%TOOLS%%bin/saxfr +%%TOOLS%%bin/sdig +%%TOOLS%%bin/stubquery +lib/pdns/libbindbackend.so +lib/pdns/libpipebackend.so +%%GEOIP%%lib/pdns/libgeoipbackend.so +%%LUA%%lib/pdns/libluabackend.so +%%MYDNS%%lib/pdns/libmydnsbackend.so +%%MYSQL%%lib/pdns/libgmysqlbackend.so +%%OPENDBX%%lib/pdns/libopendbxbackend.so +%%OPENLDAP%%lib/pdns/libldapbackend.so +%%OPENLDAP%%bin/zone2ldap %%PGSQL%%lib/pdns/libgpgsqlbackend.so -%%MYSQL%%lib/pdns/libgmysqlbackend.so +%%REMOTE%%lib/pdns/libremotebackend.so %%SQLITE3%%lib/pdns/libgsqlite3backend.so -%%OPENLDAP%%lib/pdns/libldapbackend.so -%%OPENDBX%%lib/pdns/libopendbxbackend.so -%%GEO%%lib/pdns/libgeobackend.so -%%GEOIP%%lib/pdns/libgeoipbackend.so %%TINYDNS%%lib/pdns/libtinydnsbackend.so -%%REMOTE%%lib/pdns/libremotebackend.so -%%MYDNS%%lib/pdns/libmydnsbackend.so -%%LUA%%lib/pdns/libluabackend.so -%%LMDB%%lib/pdns/liblmdbbackend.so -%%LMDB%%bin/zone2lmdb -lib/pdns/libbindbackend.so -lib/pdns/libpipebackend.so +%%UNIXODBC%%lib/pdns/libgodbcbackend.so +man/man1/calidns.1.gz +man/man1/dnsbulktest.1.gz +man/man1/dnsgram.1.gz +man/man1/dnsscan.1.gz +man/man1/dumresp.1.gz +man/man1/ixplore.1.gz +man/man1/nproxy.1.gz +man/man1/nsec3dig.1.gz +man/man1/pdns_notify.1.gz +man/man1/pdnsutil.1.gz +man/man1/saxfr.1.gz +man/man1/sdig.1.gz +man/man1/pdns_control.1.gz +man/man1/pdns_server.1.gz +man/man1/zone2json.1.gz +man/man1/zone2ldap.1.gz +man/man1/zone2sql.1.gz +%%PROTOBUF%%man/man1/dnspcap2protobuf.1.gz %%TOOLS%%man/man1/dnstcpbench.1.gz %%TOOLS%%man/man1/dnsreplay.1.gz %%TOOLS%%man/man1/dnsscope.1.gz %%TOOLS%%man/man1/dnswasher.1.gz -man/man1/pdns_control.1.gz -man/man1/pdns_server.1.gz -man/man1/pdnssec.1.gz -man/man1/zone2ldap.1.gz -man/man1/zone2sql.1.gz @sample etc/pdns/pdns.conf-dist etc/pdns/pdns.conf %%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdns.conf %%PORTEXAMPLES%%@dir %%EXAMPLESDIR%% @@ -50,3 +68,4 @@ %%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/schema.mysql.sql %%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/schema.pgsql.sql %%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/schema.sqlite3.sql +%%UNIXODBC%%%%PORTDOCS%%%%DOCSDIR%%/schema.mssql.sql