View | Details | Raw Unified | Return to bug 211147 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-37 / +42 lines)
Lines 1-10 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	powerdns
3
PORTNAME=	powerdns
4
PORTVERSION=	3.4.9
4
PORTVERSION=	4.0.1
5
CATEGORIES=	dns ipv6
5
CATEGORIES=	dns ipv6
6
MASTER_SITES=	http://downloads.powerdns.com/releases/
6
MASTER_SITES=	http://downloads.powerdns.com/releases/
7
DISTNAME=	pdns-${PORTVERSION}
7
DISTNAME=	pdns-${PORTVERSION}
8
#DISTNAME=	pdns-${PORTVERSION:C/r([0-9]+)/-rc\1/}
8
9
9
MAINTAINER=	tremere@cainites.net
10
MAINTAINER=	tremere@cainites.net
10
COMMENT=	Advanced DNS server with multiple backends including SQL
11
COMMENT=	Advanced DNS server with multiple backends including SQL
Lines 15-21 Link Here
15
16
16
BROKEN_powerpc64=	Does not build
17
BROKEN_powerpc64=	Does not build
17
18
18
USES=		cpe gmake libtool lua pkgconfig tar:bzip2
19
USES=		cpe gmake libtool pathfix pkgconfig ssl tar:bzip2
20
USES+=		compiler:c++11-lib
19
USE_LDCONFIG=	YES
21
USE_LDCONFIG=	YES
20
USE_SUBMAKE=	YES
22
USE_SUBMAKE=	YES
21
GNU_CONFIGURE=	YES
23
GNU_CONFIGURE=	YES
Lines 22-29 Link Here
22
INSTALL_TARGET=	install-strip
24
INSTALL_TARGET=	install-strip
23
CXXFLAGS+=	-I${LOCALBASE}/include
25
CXXFLAGS+=	-I${LOCALBASE}/include
24
LDFLAGS+=	-L${LOCALBASE}/lib
26
LDFLAGS+=	-L${LOCALBASE}/lib
25
CONFIGURE_ENV=	LUA_CFLAGS="-I${LUA_INCDIR}" \
26
		LUA_LIBS="-L${LUA_LIBDIR} -llua-${LUA_VER}"
27
CONFIGURE_ARGS=	--disable-static \
27
CONFIGURE_ARGS=	--disable-static \
28
		--with-modules="" \
28
		--with-modules="" \
29
		--with-dynmodules="pipe bind ${MODULES}" \
29
		--with-dynmodules="pipe bind ${MODULES}" \
Lines 40-69 Link Here
40
40
41
USE_RC_SUBR=	pdns
41
USE_RC_SUBR=	pdns
42
42
43
OPTIONS_DEFINE=	GEO GEOIP LMDB MYSQL OPENDBX OPENLDAP PGSQL POLARSSL REMOTE SQLITE3 TOOLS
43
OPTIONS_DEFINE=	GEOIP MYDNS MYSQL OPENDBX OPENLDAP PGSQL PROTOBUF REMOTE SQLITE3 TINYDNS TOOLS UNIXODBC
44
OPTIONS_GROUP=	DNSSEC EXPERIMENTAL REMOTEOPT
44
OPTIONS_GROUP=	EXPERIMENTAL REMOTEOPT
45
OPTIONS_GROUP_DNSSEC=		BOTAN110
45
OPTIONS_GROUP_EXPERIMENTAL=	LUABACKEND
46
OPTIONS_GROUP_EXPERIMENTAL=	LUA MYDNS TINYDNS
47
OPTIONS_GROUP_REMOTEOPT=	ZEROMQ
46
OPTIONS_GROUP_REMOTEOPT=	ZEROMQ
47
OPTIONS_SINGLE=			LUASG
48
OPTIONS_SINGLE_LUASG=		LUA LUAJIT
48
ZEROMQ_IMPLIES=			REMOTE
49
ZEROMQ_IMPLIES=			REMOTE
49
50
50
OPTIONS_DEFAULT=	PGSQL DNSSEC BOTAN110 POLARSSL
51
OPTIONS_DEFAULT=	LUA PGSQL
51
OPTIONS_SUB=		yes
52
OPTIONS_SUB=		yes
52
53
53
BOTAN110_CONFIGURE_ON=	--enable-botan1.10
54
BOTAN110_LIB_DEPENDS=	libbotan-1.10.so:security/botan110
55
56
GEO_VARS=		MODULES+=geo
57
58
GEOIP_LIB_DEPENDS=	libyaml-cpp.so:devel/yaml-cpp \
54
GEOIP_LIB_DEPENDS=	libyaml-cpp.so:devel/yaml-cpp \
59
			libGeoIP.so:net/GeoIP
55
			libGeoIP.so:net/GeoIP
60
GEOIP_VARS=		MODULES+=geoip
56
GEOIP_VARS=		MODULES+=geoip
61
57
62
LMDB_LIB_DEPENDS=	liblmdb.so:databases/lmdb
58
LUA_CONFIGURE_WITH=	lua
63
LMDB_VARS=		MODULES+=lmdb
59
LUA_USES=		lua
64
60
65
LUA_VARS=		MODULES+=lua
61
LUABACKEND_VARS=	MODULES+=lua
66
62
63
LUAJIT_CONFIGURE_WITH=	luajit
64
LUAJIT_LIB_DEPENDS=	libluajit-5.1.so.2:lang/luajit
65
67
MYDNS_CONFIGURE_ON=	--with-mysql=${LOCALBASE}
66
MYDNS_CONFIGURE_ON=	--with-mysql=${LOCALBASE}
68
MYDNS_USE=		MYSQL=YES
67
MYDNS_USE=		MYSQL=YES
69
MYDNS_VARS=		MODULES+=mydns
68
MYDNS_VARS=		MODULES+=mydns
Lines 85-92 Link Here
85
PGSQL_USES=		pgsql
84
PGSQL_USES=		pgsql
86
PGSQL_VARS=		MODULES+=gpgsql
85
PGSQL_VARS=		MODULES+=gpgsql
87
86
88
POLARSSL_CONFIGURE_ARGS=	--without-system-polarssl
87
PROTOBUF_CONFIGURE_WITH=	protobuf
89
POLARSSL_LIB_DEPENDS_OFF=	libmbedtls.so:security/polarssl13
88
PROTOBUF_LIB_DEPENDS=	libprotobuf.so:devel/protobuf
90
89
91
REMOTE_VARS=		MODULES+=remote
90
REMOTE_VARS=		MODULES+=remote
92
91
Lines 97-130 Link Here
97
TINYDNS_LIB_DEPENDS=	libcdb.so:databases/tinycdb
96
TINYDNS_LIB_DEPENDS=	libcdb.so:databases/tinycdb
98
TINYDNS_VARS=		MODULES+=tinydns
97
TINYDNS_VARS=		MODULES+=tinydns
99
98
99
TOOLS_CONFIGURE_ENABLE=	tools
100
101
UNIXODBC_LIB_DEPENDS=	libodbc.so:databases/unixODBC
102
UNIXODBC_VARS=		MODULES+=godbc
103
100
ZEROMQ_CONFIGURE_ARGS=	--enable-remotebackend-zeromq
104
ZEROMQ_CONFIGURE_ARGS=	--enable-remotebackend-zeromq
101
ZEROMQ_LIB_DEPENDS=	libzmq.so:net/libzmq4
105
ZEROMQ_LIB_DEPENDS=	libzmq.so:net/libzmq4
102
106
103
TOOLS_CONFIGURE_ENABLE=	tools
107
GEOIP_DESC=		GeoIP backend
104
108
LUASG_DESC=		Lua Engine
105
PGSQL_DESC=		PostgreSQL backend
109
LUABACKEND_DESC=	Lua backend
110
LUAJIT_DESC=		Enable LuaJIT
111
MYDNS_DESC=		MyDNS backend
106
MYSQL_DESC=		MySQL backend
112
MYSQL_DESC=		MySQL backend
107
OPENDBX_DESC=		OpenDBX backend
113
OPENDBX_DESC=		OpenDBX backend
108
OPENLDAP_DESC=		OpenLDAP backend
114
OPENLDAP_DESC=		OpenLDAP backend
115
PGSQL_DESC=		PostgreSQL backend
116
PROTOBUF_DESC=		Protobuf support
117
REMOTE_DESC=		Remote backend
118
REMOTEOPT_DESC=		Remote backend connectors
109
SQLITE3_DESC=		SQLite 3 backend
119
SQLITE3_DESC=		SQLite 3 backend
110
GEO_DESC=		Geo backend
111
GEOIP_DESC=		GeoIP backend
112
DNSSEC_DESC=		Extra DNSSEC options
113
BOTAN110_DESC=		Faster signing + ECDSA & GOST algorithms
114
POLARSSL_DESC=		Use embedded PolarSSL
115
LMDB_DESC=		LMDB backend
116
LUA_DESC=		Lua backend
117
MYDNS_DESC=		MyDNS backend
118
REMOTE_DESC=		Remote backend
119
TINYDNS_DESC=		TinyDNS backend
120
TINYDNS_DESC=		TinyDNS backend
120
TOOLS_DESC=		Build extra tools
121
TOOLS_DESC=		Build extra tools
121
REMOTEOPT_DESC=		Remote backend connectors
122
ZEROMQ_DESC=		Enable ZeroMQ connector (Implies REMOTE enabled)
122
ZEROMQ_DESC=		Enable ZeroMQ connector (Implies REMOTE enabled)
123
123
124
post-install:
124
post-stage::
125
	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
125
	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
126
.for i in pdns.conf
126
	@${STAGEDIR}${LOCALBASE}/sbin/pdns_server --module-dir=${STAGEDIR}${LOCALBASE}/lib/pdns --launch="pipe bind ${MODULES}" --config > ${STAGEDIR}${EXAMPLESDIR}/pdns.conf
127
	${INSTALL_DATA} ${FILESDIR}/$i ${STAGEDIR}${EXAMPLESDIR}/
127
	@${REINPLACE_CMD} -e 's;${STAGEDIR};;' -i '' ${STAGEDIR}${EXAMPLESDIR}/pdns.conf
128
.endfor
129
128
130
.include <bsd.port.mk>
129
.include <bsd.port.pre.mk>
130
131
.if ${OSVERSION} < 1000000
132
CXXFLAGS+=		-D_GLIBCXX_USE_C99
133
.endif
134
135
.include <bsd.port.post.mk>
(-)distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1463481727
1
TIMESTAMP = 1470038374
2
SHA256 (pdns-3.4.9.tar.bz2) = 2b1124db2d937ed6666525b9fc60a5dd55cb82f4cae58116cb986de53faa5dff
2
SHA256 (pdns-4.0.1.tar.bz2) = d191eed4a6664430e85969f49835c59e810ecbb7b3eb506e64c6b2734091edd7
3
SIZE (pdns-3.4.9.tar.bz2) = 1351434
3
SIZE (pdns-4.0.1.tar.bz2) = 1304788
(-)files/patch-pdns_dnspacket.cc (-15 lines)
Lines 1-15 Link Here
1
--- pdns/dnspacket.cc.orig	2015-11-02 10:33:21 UTC
2
+++ pdns/dnspacket.cc
3
@@ -641,9 +641,9 @@ bool checkForCorrectTSIG(const DNSPacket
4
   string message;
5
 
6
   q->getTSIGDetails(trc, keyname, &message);
7
-  uint64_t now = time(0);
8
-  if(abs(trc->d_time - now) > trc->d_fudge) {
9
-    L<<Logger::Error<<"Packet for '"<<q->qdomain<<"' denied: TSIG (key '"<<*keyname<<"') time delta "<< abs(trc->d_time - now)<<" > 'fudge' "<<trc->d_fudge<<endl;
10
+  uint64_t delta = std::labs((int64_t)trc->d_time - (int64_t)time(0));
11
+  if(delta > trc->d_fudge) {
12
+    L<<Logger::Error<<"Packet for '"<<q->qdomain<<"' denied: TSIG (key '"<<*keyname<<"') time delta "<< delta <<" > 'fudge' "<<trc->d_fudge<<endl;
13
     return false;
14
   }
15
 
(-)files/pdns.conf (-1827 lines)
Lines 1-1827 Link Here
1
# Autogenerated configuration file template
2
#################################
3
# allow-axfr-ips	Allow zonetransfers only to these subnets
4
#
5
# allow-axfr-ips=127.0.0.0/8,::1
6
7
#################################
8
# allow-dnsupdate-from	A global setting to allow DNS updates from these IP ranges.
9
#
10
# allow-dnsupdate-from=127.0.0.0/8,::1
11
12
#################################
13
# allow-recursion	List of subnets that are allowed to recurse
14
#
15
# allow-recursion=0.0.0.0/0
16
17
#################################
18
# also-notify	When notifying a domain, also notify these nameservers
19
#
20
# also-notify=
21
22
#################################
23
# any-to-tcp	Answer ANY queries with tc=1, shunting to TCP
24
#
25
# any-to-tcp=no
26
27
#################################
28
# bind-check-interval	Interval for zonefile changes
29
#
30
# bind-check-interval=0
31
32
#################################
33
# bind-config	Location of named.conf
34
#
35
# bind-config=
36
37
#################################
38
# bind-dnssec-db	Filename to store & access our DNSSEC metadatabase, empty for none
39
#
40
# bind-dnssec-db=
41
42
#################################
43
# bind-hybrid	Store DNSSEC metadata in other backend
44
#
45
# bind-hybrid=no
46
47
#################################
48
# bind-ignore-broken-records	Ignore records that are out-of-bound for the zone.
49
#
50
# bind-ignore-broken-records=no
51
52
#################################
53
# bind-supermaster-config	Location of (part of) named.conf where pdns can write zone-statements to
54
#
55
# bind-supermaster-config=
56
57
#################################
58
# bind-supermaster-destdir	Destination directory for newly added slave zones
59
#
60
# bind-supermaster-destdir=/usr/local/etc/pdns
61
62
#################################
63
# bind-supermasters	List of IP-addresses of supermasters
64
#
65
# bind-supermasters=
66
67
#################################
68
# cache-ttl	Seconds to store packets in the PacketCache
69
#
70
# cache-ttl=20
71
72
#################################
73
# carbon-interval	Number of seconds between carbon (graphite) updates
74
#
75
# carbon-interval=30
76
77
#################################
78
# carbon-ourname	If set, overrides our reported hostname for carbon stats
79
#
80
# carbon-ourname=
81
82
#################################
83
# carbon-server	If set, send metrics in carbon (graphite) format to this server
84
#
85
# carbon-server=
86
87
#################################
88
# chroot	If set, chroot to this directory for more security
89
#
90
# chroot=
91
92
#################################
93
# config-dir	Location of configuration directory (pdns.conf)
94
#
95
# config-dir=/usr/local/etc/pdns
96
97
#################################
98
# config-name	Name of this virtual configuration - will rename the binary image
99
#
100
# config-name=
101
102
#################################
103
# control-console	Debugging switch - don't use
104
#
105
# control-console=no
106
107
#################################
108
# daemon	Operate as a daemon
109
#
110
# daemon=no
111
112
#################################
113
# default-ksk-algorithms	Default KSK algorithms
114
#
115
# default-ksk-algorithms=rsasha256
116
117
#################################
118
# default-ksk-size	Default KSK size (0 means default)
119
#
120
# default-ksk-size=0
121
122
#################################
123
# default-soa-mail	mail address to insert in the SOA record if none set in the backend
124
#
125
# default-soa-mail=
126
127
#################################
128
# default-soa-name	name to insert in the SOA record if none set in the backend
129
#
130
# default-soa-name=a.misconfigured.powerdns.server
131
132
#################################
133
# default-ttl	Seconds a result is valid if not set otherwise
134
#
135
# default-ttl=3600
136
137
#################################
138
# default-zsk-algorithms	Default ZSK algorithms
139
#
140
# default-zsk-algorithms=rsasha256
141
142
#################################
143
# default-zsk-size	Default ZSK size (0 means default)
144
#
145
# default-zsk-size=0
146
147
#################################
148
# direct-dnskey	Fetch DNSKEY RRs from backend during DNSKEY synthesis
149
#
150
# direct-dnskey=no
151
152
#################################
153
# disable-axfr	Disable zonetransfers but do allow TCP queries
154
#
155
# disable-axfr=no
156
157
#################################
158
# disable-axfr-rectify	Disable the rectify step during an outgoing AXFR. Only required for regression testing.
159
#
160
# disable-axfr-rectify=no
161
162
#################################
163
# disable-tcp	Do not listen to TCP queries
164
#
165
# disable-tcp=no
166
167
#################################
168
# distributor-threads	Default number of Distributor (backend) threads to start
169
#
170
# distributor-threads=3
171
172
#################################
173
# do-ipv6-additional-processing	Do AAAA additional processing
174
#
175
# do-ipv6-additional-processing=yes
176
177
#################################
178
# edns-subnet-processing	If we should act on EDNS Subnet options
179
#
180
# edns-subnet-processing=no
181
182
#################################
183
# entropy-source	If set, read entropy from this file
184
#
185
# entropy-source=/dev/urandom
186
187
#################################
188
# experimental-api-readonly	If the JSON API should disallow data modification
189
#
190
# experimental-api-readonly=no
191
192
#################################
193
# experimental-dname-processing	If we should support DNAME records
194
#
195
# experimental-dname-processing=no
196
197
#################################
198
# experimental-dnsupdate	Enable/Disable DNS update (RFC2136) support. Default is no.
199
#
200
# experimental-dnsupdate=no
201
202
#################################
203
# experimental-json-interface	If the webserver should serve JSON data
204
#
205
# experimental-json-interface=no
206
207
#################################
208
# experimental-logfile	Filename of the log file for JSON parser
209
#
210
# experimental-logfile=/var/log/pdns.log
211
212
#################################
213
# forward-dnsupdate	A global setting to allow DNS update packages that are for a Slave domain, to be forwarded to the master.
214
#
215
# forward-dnsupdate=yes
216
217
#################################
218
# geo-ip-map-zonefile	path to the rbldnsd format zonefile
219
#
220
# geo-ip-map-zonefile=zz.countries.nerd.dk.rbldnsd
221
222
#################################
223
# geo-maps	list of paths to director maps or directories containing director map files
224
#
225
# geo-maps=
226
227
#################################
228
# geo-ns-records	targets of the NS records, comma separated.
229
#
230
# geo-ns-records=
231
232
#################################
233
# geo-ns-ttl	TTL value for NS records
234
#
235
# geo-ns-ttl=86400
236
237
#################################
238
# geo-soa-values	values of the SOA master nameserver and hostmaster fields, comma separated
239
#
240
# geo-soa-values=
241
242
#################################
243
# geo-ttl	TTL value for geo records
244
#
245
# geo-ttl=3600
246
247
#################################
248
# geo-zone	zonename to be served
249
#
250
# geo-zone=
251
252
#################################
253
# geoip-database-cache	Cache mode (standard, memory, index, mmap)
254
#
255
# geoip-database-cache=standard
256
257
#################################
258
# geoip-database-file	File to load IPv4 geoip data from
259
#
260
# geoip-database-file=/usr/share/GeoIP/GeoIP.dat
261
262
#################################
263
# geoip-database-file6	File to load IPv6 geoip data from
264
#
265
# geoip-database-file6=/usr/share/GeoIP/GeoIPv6.dat
266
267
#################################
268
# geoip-dnssec-keydir	Directory to hold dnssec keys (also turns DNSSEC on)
269
#
270
# geoip-dnssec-keydir=
271
272
#################################
273
# geoip-zones-file	YAML file to load zone(s) configuration
274
#
275
# geoip-zones-file=
276
277
#################################
278
# gmysql-activate-domain-key-query	
279
#
280
# gmysql-activate-domain-key-query=update cryptokeys set active=1 where domain_id=(select id from domains where name='%s') and  cryptokeys.id=%d
281
282
#################################
283
# gmysql-add-domain-key-query	
284
#
285
# gmysql-add-domain-key-query=insert into cryptokeys (domain_id, flags, active, content) select id, %d, %d, '%s' from domains where name='%s'
286
287
#################################
288
# gmysql-any-id-query	Any with ID query
289
#
290
# 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
291
292
#################################
293
# gmysql-any-query	Any query
294
#
295
# gmysql-any-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and name='%s'
296
297
#################################
298
# gmysql-basic-query	Basic query
299
#
300
# gmysql-basic-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and type='%s' and name='%s'
301
302
#################################
303
# gmysql-clear-domain-all-keys-query	
304
#
305
# gmysql-clear-domain-all-keys-query=delete from cryptokeys where domain_id=(select id from domains where name='%s')
306
307
#################################
308
# gmysql-clear-domain-all-metadata-query	
309
#
310
# gmysql-clear-domain-all-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name='%s')
311
312
#################################
313
# gmysql-clear-domain-metadata-query	
314
#
315
# gmysql-clear-domain-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name='%s') and domainmetadata.kind='%s'
316
317
#################################
318
# gmysql-dbname	Pdns backend database name to connect to
319
#
320
# gmysql-dbname=powerdns
321
322
#################################
323
# gmysql-deactivate-domain-key-query	
324
#
325
# gmysql-deactivate-domain-key-query=update cryptokeys set active=0 where domain_id=(select id from domains where name='%s') and  cryptokeys.id=%d
326
327
#################################
328
# gmysql-delete-comment-rrset-query	
329
#
330
# gmysql-delete-comment-rrset-query=DELETE FROM comments WHERE domain_id=%d AND name='%s' AND type='%s'
331
332
#################################
333
# gmysql-delete-comments-query	
334
#
335
# gmysql-delete-comments-query=DELETE FROM comments WHERE domain_id=%d
336
337
#################################
338
# gmysql-delete-domain-query	
339
#
340
# gmysql-delete-domain-query=delete from domains where name='%s'
341
342
#################################
343
# gmysql-delete-empty-non-terminal-query	delete empty non-terminal from zone
344
#
345
# gmysql-delete-empty-non-terminal-query=delete from records where domain_id='%d' and name='%s' and type is null
346
347
#################################
348
# gmysql-delete-names-query	
349
#
350
# gmysql-delete-names-query=delete from records where domain_id = %d and name='%s'
351
352
#################################
353
# gmysql-delete-rrset-query	
354
#
355
# gmysql-delete-rrset-query=delete from records where domain_id=%d and name='%s' and type='%s'
356
357
#################################
358
# gmysql-delete-tsig-key-query	
359
#
360
# gmysql-delete-tsig-key-query=delete from tsigkeys where name='%s'
361
362
#################################
363
# gmysql-delete-zone-query	
364
#
365
# gmysql-delete-zone-query=delete from records where domain_id=%d
366
367
#################################
368
# gmysql-dnssec	Enable DNSSEC processing
369
#
370
# gmysql-dnssec=no
371
372
#################################
373
# gmysql-get-all-domain-metadata-query	
374
#
375
# gmysql-get-all-domain-metadata-query=select kind,content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s'
376
377
#################################
378
# gmysql-get-all-domains-query	Retrieve all domains
379
#
380
# 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
381
382
#################################
383
# gmysql-get-domain-metadata-query	
384
#
385
# gmysql-get-domain-metadata-query=select content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s' and domainmetadata.kind='%s'
386
387
#################################
388
# gmysql-get-order-after-query	DNSSEC Ordering Query, after
389
#
390
# 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
391
392
#################################
393
# gmysql-get-order-before-query	DNSSEC Ordering Query, before
394
#
395
# 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
396
397
#################################
398
# gmysql-get-order-first-query	DNSSEC Ordering Query, first
399
#
400
# 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
401
402
#################################
403
# gmysql-get-order-last-query	DNSSEC Ordering Query, last
404
#
405
# 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
406
407
#################################
408
# gmysql-get-tsig-key-query	
409
#
410
# gmysql-get-tsig-key-query=select algorithm, secret from tsigkeys where name='%s'
411
412
#################################
413
# gmysql-get-tsig-keys-query	
414
#
415
# gmysql-get-tsig-keys-query=select name,algorithm, secret from tsigkeys
416
417
#################################
418
# gmysql-group	Pdns backend MySQL 'group' to connect as
419
#
420
# gmysql-group=client
421
422
#################################
423
# gmysql-host	Database backend host to connect to
424
#
425
# gmysql-host=
426
427
#################################
428
# gmysql-id-query	Basic with ID query
429
#
430
# 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
431
432
#################################
433
# gmysql-info-all-master-query	
434
#
435
# gmysql-info-all-master-query=select id,name,master,last_check,notified_serial,type from domains where type='MASTER'
436
437
#################################
438
# gmysql-info-all-slaves-query	
439
#
440
# gmysql-info-all-slaves-query=select id,name,master,last_check,type from domains where type='SLAVE'
441
442
#################################
443
# gmysql-info-zone-query	
444
#
445
# gmysql-info-zone-query=select id,name,master,last_check,notified_serial,type from domains where name='%s'
446
447
#################################
448
# gmysql-innodb-read-committed	Use InnoDB READ-COMMITTED transaction isolation level
449
#
450
# gmysql-innodb-read-committed=yes
451
452
#################################
453
# gmysql-insert-comment-query	
454
#
455
# gmysql-insert-comment-query=INSERT INTO comments (domain_id, name, type, modified_at, account, comment) VALUES (%d, '%s', '%s', %d, '%s', '%s')
456
457
#################################
458
# gmysql-insert-empty-non-terminal-query	insert empty non-terminal in zone
459
#
460
# gmysql-insert-empty-non-terminal-query=insert into records (domain_id,name,type,disabled,auth) values ('%d','%s',null,0,'1')
461
462
#################################
463
# gmysql-insert-ent-order-query	insert empty non-terminal in zone
464
#
465
# gmysql-insert-ent-order-query=insert into records (type,domain_id,disabled,name,ordername,auth) values (null,'%d',0,'%s','%s','%d')
466
467
#################################
468
# gmysql-insert-ent-query	insert empty non-terminal in zone
469
#
470
# gmysql-insert-ent-query=insert into records (type,domain_id,disabled,name,auth) values (null,'%d',0,'%s','%d')
471
472
#################################
473
# gmysql-insert-record-order-query	
474
#
475
# 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')
476
477
#################################
478
# gmysql-insert-record-query	
479
#
480
# 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')
481
482
#################################
483
# gmysql-insert-slave-query	
484
#
485
# gmysql-insert-slave-query=insert into domains (type,name,master,account) values('SLAVE','%s','%s','%s')
486
487
#################################
488
# gmysql-insert-zone-query	
489
#
490
# gmysql-insert-zone-query=insert into domains (type,name) values('NATIVE','%s')
491
492
#################################
493
# gmysql-list-comments-query	
494
#
495
# gmysql-list-comments-query=SELECT domain_id,name,type,modified_at,account,comment FROM comments WHERE domain_id=%d
496
497
#################################
498
# gmysql-list-domain-keys-query	
499
#
500
# gmysql-list-domain-keys-query=select cryptokeys.id, flags, active, content from domains, cryptokeys where cryptokeys.domain_id=domains.id and name='%s'
501
502
#################################
503
# gmysql-list-query	AXFR query
504
#
505
# 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
506
507
#################################
508
# gmysql-list-subzone-query	Subzone listing
509
#
510
# 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'
511
512
#################################
513
# gmysql-master-zone-query	Data
514
#
515
# gmysql-master-zone-query=select master from domains where name='%s' and type='SLAVE'
516
517
#################################
518
# gmysql-nullify-ordername-and-auth-query	DNSSEC nullify ordername and auth query
519
#
520
# 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
521
522
#################################
523
# gmysql-nullify-ordername-and-update-auth-query	DNSSEC nullify ordername and update auth query
524
#
525
# gmysql-nullify-ordername-and-update-auth-query=update records set ordername=NULL,auth=%d where domain_id='%d' and name='%s' and disabled=0
526
527
#################################
528
# gmysql-password	Pdns backend password to connect with
529
#
530
# gmysql-password=
531
532
#################################
533
# gmysql-port	Database backend port to connect to
534
#
535
# gmysql-port=0
536
537
#################################
538
# gmysql-remove-domain-key-query	
539
#
540
# gmysql-remove-domain-key-query=delete from cryptokeys where domain_id=(select id from domains where name='%s') and cryptokeys.id=%d
541
542
#################################
543
# gmysql-remove-empty-non-terminals-from-zone-query	remove all empty non-terminals from zone
544
#
545
# gmysql-remove-empty-non-terminals-from-zone-query=delete from records where domain_id='%d' and type is null
546
547
#################################
548
# gmysql-set-auth-on-ds-record-query	DNSSEC set auth on a DS record
549
#
550
# 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
551
552
#################################
553
# gmysql-set-domain-metadata-query	
554
#
555
# gmysql-set-domain-metadata-query=insert into domainmetadata (domain_id, kind, content) select id, '%s', '%s' from domains where name='%s'
556
557
#################################
558
# gmysql-set-order-and-auth-query	DNSSEC set ordering query
559
#
560
# gmysql-set-order-and-auth-query=update records set ordername='%s',auth=%d where name='%s' and domain_id='%d' and disabled=0
561
562
#################################
563
# gmysql-set-tsig-key-query	
564
#
565
# gmysql-set-tsig-key-query=replace into tsigkeys (name,algorithm,secret) values('%s','%s','%s')
566
567
#################################
568
# gmysql-socket	Pdns backend socket to connect to
569
#
570
# gmysql-socket=
571
572
#################################
573
# gmysql-supermaster-name-to-ips	
574
#
575
# gmysql-supermaster-name-to-ips=select ip,account from supermasters where nameserver='%s' and account='%s'
576
577
#################################
578
# gmysql-supermaster-query	
579
#
580
# gmysql-supermaster-query=select account from supermasters where ip='%s' and nameserver='%s'
581
582
#################################
583
# gmysql-update-kind-query	
584
#
585
# gmysql-update-kind-query=update domains set type='%s' where name='%s'
586
587
#################################
588
# gmysql-update-lastcheck-query	
589
#
590
# gmysql-update-lastcheck-query=update domains set last_check=%d where id=%d
591
592
#################################
593
# gmysql-update-master-query	
594
#
595
# gmysql-update-master-query=update domains set master='%s' where name='%s'
596
597
#################################
598
# gmysql-update-serial-query	
599
#
600
# gmysql-update-serial-query=update domains set notified_serial=%d where id=%d
601
602
#################################
603
# gmysql-user	Database backend user to connect as
604
#
605
# gmysql-user=powerdns
606
607
#################################
608
# gmysql-zone-lastchange-query	
609
#
610
# gmysql-zone-lastchange-query=select max(change_date) from records where domain_id=%d
611
612
#################################
613
# gpgsql-activate-domain-key-query	
614
#
615
# 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
616
617
#################################
618
# gpgsql-add-domain-key-query	
619
#
620
# 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'
621
622
#################################
623
# gpgsql-any-id-query	Any with ID query
624
#
625
# 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
626
627
#################################
628
# gpgsql-any-query	Any query
629
#
630
# gpgsql-any-query=SELECT content,ttl,prio,type,domain_id,disabled::int,name,auth::int FROM records WHERE disabled=false and name=E'%s'
631
632
#################################
633
# gpgsql-basic-query	Basic query
634
#
635
# 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'
636
637
#################################
638
# gpgsql-clear-domain-all-keys-query	
639
#
640
# gpgsql-clear-domain-all-keys-query=delete from cryptokeys where domain_id=(select id from domains where name=E'%s')
641
642
#################################
643
# gpgsql-clear-domain-all-metadata-query	
644
#
645
# gpgsql-clear-domain-all-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name=E'%s')
646
647
#################################
648
# gpgsql-clear-domain-metadata-query	
649
#
650
# gpgsql-clear-domain-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name=E'%s') and domainmetadata.kind=E'%s'
651
652
#################################
653
# gpgsql-dbname	Pdns backend database name to connect to
654
#
655
# gpgsql-dbname=
656
657
#################################
658
# gpgsql-deactivate-domain-key-query	
659
#
660
# 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
661
662
#################################
663
# gpgsql-delete-comment-rrset-query	
664
#
665
# gpgsql-delete-comment-rrset-query=DELETE FROM comments WHERE domain_id=%d AND name=E'%s' AND type=E'%s'
666
667
#################################
668
# gpgsql-delete-comments-query	
669
#
670
# gpgsql-delete-comments-query=DELETE FROM comments WHERE domain_id=%d
671
672
#################################
673
# gpgsql-delete-domain-query	
674
#
675
# gpgsql-delete-domain-query=delete from domains where name=E'%s'
676
677
#################################
678
# gpgsql-delete-empty-non-terminal-query	delete empty non-terminal from zone
679
#
680
# gpgsql-delete-empty-non-terminal-query=delete from records where domain_id='%d' and name='%s' and type is null
681
682
#################################
683
# gpgsql-delete-names-query	
684
#
685
# gpgsql-delete-names-query=delete from records where domain_id=%d and name=E'%s'
686
687
#################################
688
# gpgsql-delete-rrset-query	
689
#
690
# gpgsql-delete-rrset-query=delete from records where domain_id=%d and name=E'%s' and type=E'%s'
691
692
#################################
693
# gpgsql-delete-tsig-key-query	
694
#
695
# gpgsql-delete-tsig-key-query=delete from tsigkeys where name='%s'
696
697
#################################
698
# gpgsql-delete-zone-query	
699
#
700
# gpgsql-delete-zone-query=delete from records where domain_id=%d
701
702
#################################
703
# gpgsql-dnssec	Enable DNSSEC processing
704
#
705
# gpgsql-dnssec=no
706
707
#################################
708
# gpgsql-get-all-domain-metadata-query	
709
#
710
# gpgsql-get-all-domain-metadata-query=select kind,content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name=E'%s'
711
712
#################################
713
# gpgsql-get-all-domains-query	Retrieve all domains
714
#
715
# 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
716
717
#################################
718
# gpgsql-get-domain-metadata-query	
719
#
720
# 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'
721
722
#################################
723
# gpgsql-get-order-after-query	DNSSEC Ordering Query, after
724
#
725
# 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
726
727
#################################
728
# gpgsql-get-order-before-query	DNSSEC Ordering Query, before
729
#
730
# 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
731
732
#################################
733
# gpgsql-get-order-first-query	DNSSEC Ordering Query, last
734
#
735
# 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
736
737
#################################
738
# gpgsql-get-order-last-query	DNSSEC Ordering Query, last
739
#
740
# 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
741
742
#################################
743
# gpgsql-get-tsig-key-query	
744
#
745
# gpgsql-get-tsig-key-query=select algorithm, secret from tsigkeys where name=E'%s'
746
747
#################################
748
# gpgsql-get-tsig-keys-query	
749
#
750
# gpgsql-get-tsig-keys-query=select name,algorithm, secret from tsigkeys
751
752
#################################
753
# gpgsql-host	Pdns backend host to connect to
754
#
755
# gpgsql-host=
756
757
#################################
758
# gpgsql-id-query	Basic with ID query
759
#
760
# 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
761
762
#################################
763
# gpgsql-info-all-master-query	
764
#
765
# gpgsql-info-all-master-query=select id,name,master,last_check,notified_serial,type from domains where type='MASTER'
766
767
#################################
768
# gpgsql-info-all-slaves-query	
769
#
770
# gpgsql-info-all-slaves-query=select id,name,master,last_check,type from domains where type='SLAVE'
771
772
#################################
773
# gpgsql-info-zone-query	
774
#
775
# gpgsql-info-zone-query=select id,name,master,last_check,notified_serial,type from domains where name=E'%s'
776
777
#################################
778
# gpgsql-insert-comment-query	
779
#
780
# 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')
781
782
#################################
783
# gpgsql-insert-empty-non-terminal-query	insert empty non-terminal in zone
784
#
785
# gpgsql-insert-empty-non-terminal-query=insert into records (domain_id,name,type,disabled,auth) values ('%d','%s',null,false,true)
786
787
#################################
788
# gpgsql-insert-ent-order-query	insert empty non-terminal in zone
789
#
790
# gpgsql-insert-ent-order-query=insert into records (type,domain_id,disabled,name,ordername,auth) values (null,'%d',false,E'%s',E'%s','%d')
791
792
#################################
793
# gpgsql-insert-ent-query	insert empty non-terminal in zone
794
#
795
# gpgsql-insert-ent-query=insert into records (type,domain_id,disabled,name,auth) values (null,'%d',false,E'%s','%d')
796
797
#################################
798
# gpgsql-insert-record-order-query	
799
#
800
# 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')
801
802
#################################
803
# gpgsql-insert-record-query	
804
#
805
# 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')
806
807
#################################
808
# gpgsql-insert-slave-query	
809
#
810
# gpgsql-insert-slave-query=insert into domains (type,name,master,account) values('SLAVE',E'%s',E'%s',E'%s')
811
812
#################################
813
# gpgsql-insert-zone-query	
814
#
815
# gpgsql-insert-zone-query=insert into domains (type,name) values('NATIVE',E'%s')
816
817
#################################
818
# gpgsql-list-comments-query	
819
#
820
# gpgsql-list-comments-query=SELECT domain_id,name,type,modified_at,account,comment FROM comments WHERE domain_id=%d
821
822
#################################
823
# gpgsql-list-domain-keys-query	
824
#
825
# 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'
826
827
#################################
828
# gpgsql-list-query	AXFR query
829
#
830
# 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
831
832
#################################
833
# gpgsql-list-subzone-query	Subzone listing
834
#
835
# 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'
836
837
#################################
838
# gpgsql-master-zone-query	Data
839
#
840
# gpgsql-master-zone-query=select master from domains where name=E'%s' and type='SLAVE'
841
842
#################################
843
# gpgsql-nullify-ordername-and-auth-query	DNSSEC nullify ordername and auth query
844
#
845
# 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
846
847
#################################
848
# gpgsql-nullify-ordername-and-update-auth-query	DNSSEC nullify ordername and update auth query
849
#
850
# 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
851
852
#################################
853
# gpgsql-password	Pdns backend password to connect with
854
#
855
# gpgsql-password=
856
857
#################################
858
# gpgsql-port	Database backend port to connect to
859
#
860
# gpgsql-port=
861
862
#################################
863
# gpgsql-remove-domain-key-query	
864
#
865
# gpgsql-remove-domain-key-query=delete from cryptokeys where domain_id=(select id from domains where name=E'%s') and cryptokeys.id=%d
866
867
#################################
868
# gpgsql-remove-empty-non-terminals-from-zone-query	remove all empty non-terminals from zone
869
#
870
# gpgsql-remove-empty-non-terminals-from-zone-query=delete from records where domain_id='%d' and type is null
871
872
#################################
873
# gpgsql-set-auth-on-ds-record-query	DNSSEC set auth on a DS record
874
#
875
# 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
876
877
#################################
878
# gpgsql-set-domain-metadata-query	
879
#
880
# gpgsql-set-domain-metadata-query=insert into domainmetadata (domain_id, kind, content) select id, '%s', '%s' from domains where name=E'%s'
881
882
#################################
883
# gpgsql-set-order-and-auth-query	DNSSEC set ordering query
884
#
885
# 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
886
887
#################################
888
# gpgsql-set-tsig-key-query	
889
#
890
# gpgsql-set-tsig-key-query=insert into tsigkeys (name,algorithm,secret) values('%s','%s','%s')
891
892
#################################
893
# gpgsql-supermaster-name-to-ips	
894
#
895
# gpgsql-supermaster-name-to-ips=select ip,account from supermasters where nameserver=E'%s' and account=E'%s'
896
897
#################################
898
# gpgsql-supermaster-query	
899
#
900
# gpgsql-supermaster-query=select account from supermasters where ip='%s' and nameserver=E'%s'
901
902
#################################
903
# gpgsql-update-kind-query	
904
#
905
# gpgsql-update-kind-query=update domains set type='%s' where name='%s'
906
907
#################################
908
# gpgsql-update-lastcheck-query	
909
#
910
# gpgsql-update-lastcheck-query=update domains set last_check=%d where id=%d
911
912
#################################
913
# gpgsql-update-master-query	
914
#
915
# gpgsql-update-master-query=update domains set master='%s' where name='%s'
916
917
#################################
918
# gpgsql-update-serial-query	
919
#
920
# gpgsql-update-serial-query=update domains set notified_serial=%d where id=%d
921
922
#################################
923
# gpgsql-user	Pdns backend user to connect as
924
#
925
# gpgsql-user=
926
927
#################################
928
# gpgsql-zone-lastchange-query	
929
#
930
# gpgsql-zone-lastchange-query=select max(change_date) from records where domain_id=%d
931
932
#################################
933
# gsqlite3-activate-domain-key-query	
934
#
935
# gsqlite3-activate-domain-key-query=update cryptokeys set active=1 where domain_id=(select id from domains where name='%s') and  cryptokeys.id=%d
936
937
#################################
938
# gsqlite3-add-domain-key-query	
939
#
940
# gsqlite3-add-domain-key-query=insert into cryptokeys (domain_id, flags, active, content) select id, %d, %d, '%s' from domains where name='%s'
941
942
#################################
943
# gsqlite3-any-id-query	Any with ID query
944
#
945
# 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
946
947
#################################
948
# gsqlite3-any-query	Any query
949
#
950
# gsqlite3-any-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and name='%s'
951
952
#################################
953
# gsqlite3-basic-query	Basic query
954
#
955
# gsqlite3-basic-query=SELECT content,ttl,prio,type,domain_id,disabled,name,auth FROM records WHERE disabled=0 and type='%s' and name='%s'
956
957
#################################
958
# gsqlite3-clear-domain-all-keys-query	
959
#
960
# gsqlite3-clear-domain-all-keys-query=delete from cryptokeys where domain_id=(select id from domains where name='%s')
961
962
#################################
963
# gsqlite3-clear-domain-all-metadata-query	
964
#
965
# gsqlite3-clear-domain-all-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name='%s')
966
967
#################################
968
# gsqlite3-clear-domain-metadata-query	
969
#
970
# gsqlite3-clear-domain-metadata-query=delete from domainmetadata where domain_id=(select id from domains where name='%s') and domainmetadata.kind='%s'
971
972
#################################
973
# gsqlite3-database	Filename of the SQLite3 database
974
#
975
# gsqlite3-database=powerdns.sqlite
976
977
#################################
978
# gsqlite3-deactivate-domain-key-query	
979
#
980
# gsqlite3-deactivate-domain-key-query=update cryptokeys set active=0 where domain_id=(select id from domains where name='%s') and  cryptokeys.id=%d
981
982
#################################
983
# gsqlite3-delete-comment-rrset-query	
984
#
985
# gsqlite3-delete-comment-rrset-query=DELETE FROM comments WHERE domain_id=%d AND name='%s' AND type='%s'
986
987
#################################
988
# gsqlite3-delete-comments-query	
989
#
990
# gsqlite3-delete-comments-query=DELETE FROM comments WHERE domain_id=%d
991
992
#################################
993
# gsqlite3-delete-domain-query	
994
#
995
# gsqlite3-delete-domain-query=delete from domains where name='%s'
996
997
#################################
998
# gsqlite3-delete-empty-non-terminal-query	delete empty non-terminal from zone
999
#
1000
# gsqlite3-delete-empty-non-terminal-query=delete from records where domain_id='%d' and name='%s' and type is null
1001
1002
#################################
1003
# gsqlite3-delete-names-query	
1004
#
1005
# gsqlite3-delete-names-query=delete from records where domain_id = %d and name='%s'
1006
1007
#################################
1008
# gsqlite3-delete-rrset-query	
1009
#
1010
# gsqlite3-delete-rrset-query=delete from records where domain_id = %d and name='%s' and type='%s'
1011
1012
#################################
1013
# gsqlite3-delete-tsig-key-query	
1014
#
1015
# gsqlite3-delete-tsig-key-query=delete from tsigkeys where name='%s'
1016
1017
#################################
1018
# gsqlite3-delete-zone-query	
1019
#
1020
# gsqlite3-delete-zone-query=delete from records where domain_id=%d
1021
1022
#################################
1023
# gsqlite3-dnssec	Enable DNSSEC processing
1024
#
1025
# gsqlite3-dnssec=no
1026
1027
#################################
1028
# gsqlite3-get-all-domain-metadata-query	
1029
#
1030
# gsqlite3-get-all-domain-metadata-query=select kind,content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s'
1031
1032
#################################
1033
# gsqlite3-get-all-domains-query	Retrieve all domains
1034
#
1035
# 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
1036
1037
#################################
1038
# gsqlite3-get-domain-metadata-query	
1039
#
1040
# gsqlite3-get-domain-metadata-query=select content from domains, domainmetadata where domainmetadata.domain_id=domains.id and name='%s' and domainmetadata.kind='%s'
1041
1042
#################################
1043
# gsqlite3-get-order-after-query	DNSSEC Ordering Query, after
1044
#
1045
# 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
1046
1047
#################################
1048
# gsqlite3-get-order-before-query	DNSSEC Ordering Query, before
1049
#
1050
# 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
1051
1052
#################################
1053
# gsqlite3-get-order-first-query	DNSSEC Ordering Query, first
1054
#
1055
# 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
1056
1057
#################################
1058
# gsqlite3-get-order-last-query	DNSSEC Ordering Query, last
1059
#
1060
# 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
1061
1062
#################################
1063
# gsqlite3-get-tsig-key-query	
1064
#
1065
# gsqlite3-get-tsig-key-query=select algorithm, secret from tsigkeys where name='%s'
1066
1067
#################################
1068
# gsqlite3-get-tsig-keys-query	
1069
#
1070
# gsqlite3-get-tsig-keys-query=select name,algorithm, secret from tsigkeys
1071
1072
#################################
1073
# gsqlite3-id-query	Basic with ID query
1074
#
1075
# 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
1076
1077
#################################
1078
# gsqlite3-info-all-master-query	
1079
#
1080
# gsqlite3-info-all-master-query=select id,name,master,last_check,notified_serial,type from domains where type='MASTER'
1081
1082
#################################
1083
# gsqlite3-info-all-slaves-query	
1084
#
1085
# gsqlite3-info-all-slaves-query=select id,name,master,last_check,type from domains where type='SLAVE'
1086
1087
#################################
1088
# gsqlite3-info-zone-query	
1089
#
1090
# gsqlite3-info-zone-query=select id,name,master,last_check,notified_serial,type from domains where name='%s'
1091
1092
#################################
1093
# gsqlite3-insert-comment-query	
1094
#
1095
# gsqlite3-insert-comment-query=INSERT INTO comments (domain_id, name, type, modified_at, account, comment) VALUES (%d, '%s', '%s', %d, '%s', '%s')
1096
1097
#################################
1098
# gsqlite3-insert-empty-non-terminal-query	insert empty non-terminal in zone
1099
#
1100
# gsqlite3-insert-empty-non-terminal-query=insert into records (domain_id,name,type,disabled,auth) values ('%d','%s',null,0,'1')
1101
1102
#################################
1103
# gsqlite3-insert-ent-order-query	insert empty non-terminal in zone
1104
#
1105
# gsqlite3-insert-ent-order-query=insert into records (type,domain_id,disabled,name,ordername,auth) values (null,'%d',0,'%s','%s','%d')
1106
1107
#################################
1108
# gsqlite3-insert-ent-query	insert empty non-terminal in zone
1109
#
1110
# gsqlite3-insert-ent-query=insert into records (type,domain_id,disabled,name,auth) values (null,'%d',0,'%s','%d')
1111
1112
#################################
1113
# gsqlite3-insert-record-order-query	
1114
#
1115
# 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')
1116
1117
#################################
1118
# gsqlite3-insert-record-query	
1119
#
1120
# 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)
1121
1122
#################################
1123
# gsqlite3-insert-slave-query	
1124
#
1125
# gsqlite3-insert-slave-query=insert into domains (type,name,master,account) values('SLAVE','%s','%s','%s')
1126
1127
#################################
1128
# gsqlite3-insert-zone-query	
1129
#
1130
# gsqlite3-insert-zone-query=insert into domains (type,name) values('NATIVE','%s')
1131
1132
#################################
1133
# gsqlite3-list-comments-query	
1134
#
1135
# gsqlite3-list-comments-query=SELECT domain_id,name,type,modified_at,account,comment FROM comments WHERE domain_id=%d
1136
1137
#################################
1138
# gsqlite3-list-domain-keys-query	
1139
#
1140
# gsqlite3-list-domain-keys-query=select cryptokeys.id, flags, active, content from domains, cryptokeys where cryptokeys.domain_id=domains.id and name='%s'
1141
1142
#################################
1143
# gsqlite3-list-query	AXFR query
1144
#
1145
# 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
1146
1147
#################################
1148
# gsqlite3-list-subzone-query	Subzone listing
1149
#
1150
# 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
1151
1152
#################################
1153
# gsqlite3-master-zone-query	Data
1154
#
1155
# gsqlite3-master-zone-query=select master from domains where name='%s' and type='SLAVE'
1156
1157
#################################
1158
# gsqlite3-nullify-ordername-and-auth-query	DNSSEC nullify ordername and auth query
1159
#
1160
# 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
1161
1162
#################################
1163
# gsqlite3-nullify-ordername-and-update-auth-query	DNSSEC nullify ordername and update auth query
1164
#
1165
# gsqlite3-nullify-ordername-and-update-auth-query=update records set ordername=NULL,auth=%d where domain_id='%d' and name='%s' and disabled=0
1166
1167
#################################
1168
# gsqlite3-pragma-synchronous	Set this to 0 for blazing speed
1169
#
1170
# gsqlite3-pragma-synchronous=
1171
1172
#################################
1173
# gsqlite3-remove-domain-key-query	
1174
#
1175
# gsqlite3-remove-domain-key-query=delete from cryptokeys where domain_id=(select id from domains where name='%s') and cryptokeys.id=%d
1176
1177
#################################
1178
# gsqlite3-remove-empty-non-terminals-from-zone-query	remove all empty non-terminals from zone
1179
#
1180
# gsqlite3-remove-empty-non-terminals-from-zone-query=delete from records where domain_id='%d' and type is null
1181
1182
#################################
1183
# gsqlite3-set-auth-on-ds-record-query	DNSSEC set auth on a DS record
1184
#
1185
# 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
1186
1187
#################################
1188
# gsqlite3-set-domain-metadata-query	
1189
#
1190
# gsqlite3-set-domain-metadata-query=insert into domainmetadata (domain_id, kind, content) select id, '%s', '%s' from domains where name='%s'
1191
1192
#################################
1193
# gsqlite3-set-order-and-auth-query	DNSSEC set ordering query
1194
#
1195
# gsqlite3-set-order-and-auth-query=update records set ordername='%s',auth=%d where name='%s' and domain_id='%d' and disabled=0
1196
1197
#################################
1198
# gsqlite3-set-tsig-key-query	
1199
#
1200
# gsqlite3-set-tsig-key-query=replace into tsigkeys (name,algorithm,secret) values('%s','%s','%s')
1201
1202
#################################
1203
# gsqlite3-supermaster-name-to-ips	
1204
#
1205
# gsqlite3-supermaster-name-to-ips=select ip,account from supermasters where nameserver='%s' and account='%s'
1206
1207
#################################
1208
# gsqlite3-supermaster-query	
1209
#
1210
# gsqlite3-supermaster-query=select account from supermasters where ip='%s' and nameserver='%s'
1211
1212
#################################
1213
# gsqlite3-update-kind-query	
1214
#
1215
# gsqlite3-update-kind-query=update domains set type='%s' where name='%s'
1216
1217
#################################
1218
# gsqlite3-update-lastcheck-query	
1219
#
1220
# gsqlite3-update-lastcheck-query=update domains set last_check=%d where id=%d
1221
1222
#################################
1223
# gsqlite3-update-master-query	
1224
#
1225
# gsqlite3-update-master-query=update domains set master='%s' where name='%s'
1226
1227
#################################
1228
# gsqlite3-update-serial-query	
1229
#
1230
# gsqlite3-update-serial-query=update domains set notified_serial=%d where id=%d
1231
1232
#################################
1233
# gsqlite3-zone-lastchange-query	
1234
#
1235
# gsqlite3-zone-lastchange-query=select max(change_date) from records where domain_id=%d
1236
1237
#################################
1238
# guardian	Run within a guardian process
1239
#
1240
# guardian=no
1241
1242
#################################
1243
# include-dir	Include *.conf files from this directory
1244
#
1245
# include-dir=
1246
1247
#################################
1248
# launch	Which backends to launch and order to query them in
1249
#
1250
# launch=bind,geo,geoip,gmysql,gpgsql,gsqlite3,lmdb,lua,mydns,opendbx,pipe,tinydns
1251
1252
#################################
1253
# lmdb-datapath	Path to the directory containing the lmdb files
1254
#
1255
# lmdb-datapath=/etc/pdns/data
1256
1257
#################################
1258
# lmdb-experimental-dnssec	Enable experimental DNSSEC processing
1259
#
1260
# lmdb-experimental-dnssec=no
1261
1262
#################################
1263
# load-modules	Load this module - supply absolute or relative path
1264
#
1265
# load-modules=
1266
1267
#################################
1268
# local-address	Local IP addresses to which we bind
1269
#
1270
# local-address=0.0.0.0
1271
1272
#################################
1273
# local-address-nonexist-fail	Fail to start if one or more of the local-address's do not exist on this server
1274
#
1275
# local-address-nonexist-fail=yes
1276
1277
#################################
1278
# local-ipv6	Local IP address to which we bind
1279
#
1280
# local-ipv6=
1281
1282
#################################
1283
# local-ipv6-nonexist-fail	Fail to start if one or more of the local-ipv6 addresses do not exist on this server
1284
#
1285
# local-ipv6-nonexist-fail=yes
1286
1287
#################################
1288
# local-port	The port on which we listen
1289
#
1290
# local-port=53
1291
1292
#################################
1293
# log-dns-details	If PDNS should log DNS non-erroneous details
1294
#
1295
# log-dns-details=no
1296
1297
#################################
1298
# log-dns-queries	If PDNS should log all incoming DNS queries
1299
#
1300
# log-dns-queries=no
1301
1302
#################################
1303
# logging-facility	Log under a specific facility
1304
#
1305
# logging-facility=
1306
1307
#################################
1308
# loglevel	Amount of logging. Higher is more. Do not set below 3
1309
#
1310
# loglevel=4
1311
1312
#################################
1313
# lua-filename	Filename of the script for lua backend
1314
#
1315
# lua-filename=powerdns-luabackend.lua
1316
1317
#################################
1318
# lua-logging-query	Logging of the LUA Backend
1319
#
1320
# lua-logging-query=no
1321
1322
#################################
1323
# lua-prequery-script	Lua script with prequery handler
1324
#
1325
# lua-prequery-script=
1326
1327
#################################
1328
# master	Act as a master
1329
#
1330
# master=no
1331
1332
#################################
1333
# max-cache-entries	Maximum number of cache entries
1334
#
1335
# max-cache-entries=1000000
1336
1337
#################################
1338
# max-ent-entries	Maximum number of empty non-terminals in a zone
1339
#
1340
# max-ent-entries=100000
1341
1342
#################################
1343
# max-nsec3-iterations	Limit the number of NSEC3 hash iterations
1344
#
1345
# max-nsec3-iterations=500
1346
1347
#################################
1348
# max-queue-length	Maximum queuelength before considering situation lost
1349
#
1350
# max-queue-length=5000
1351
1352
#################################
1353
# max-signature-cache-entries	Maximum number of signatures cache entries
1354
#
1355
# max-signature-cache-entries=
1356
1357
#################################
1358
# max-tcp-connections	Maximum number of TCP connections
1359
#
1360
# max-tcp-connections=10
1361
1362
#################################
1363
# module-dir	Default directory for modules
1364
#
1365
# module-dir=/usr/local/lib/pdns
1366
1367
#################################
1368
# mydns-dbname	Pdns backend database name to connect to
1369
#
1370
# mydns-dbname=mydns
1371
1372
#################################
1373
# mydns-host	Pdns backend host to connect to
1374
#
1375
# mydns-host=
1376
1377
#################################
1378
# mydns-password	Pdns backend password to connect with
1379
#
1380
# mydns-password=
1381
1382
#################################
1383
# mydns-port	Pdns backend host to connect to
1384
#
1385
# mydns-port=
1386
1387
#################################
1388
# mydns-rr-active	Use the active column in the RR table
1389
#
1390
# mydns-rr-active=yes
1391
1392
#################################
1393
# mydns-rr-table	Name of RR table to use
1394
#
1395
# mydns-rr-table=rr
1396
1397
#################################
1398
# mydns-rr-where	Additional WHERE clause for RR
1399
#
1400
# mydns-rr-where=1 = 1
1401
1402
#################################
1403
# mydns-soa-active	Use the active column in the SOA table
1404
#
1405
# mydns-soa-active=yes
1406
1407
#################################
1408
# mydns-soa-table	Name of SOA table to use
1409
#
1410
# mydns-soa-table=soa
1411
1412
#################################
1413
# mydns-soa-where	Additional WHERE clause for SOA
1414
#
1415
# mydns-soa-where=1 = 1
1416
1417
#################################
1418
# mydns-socket	Pdns backend socket to connect to
1419
#
1420
# mydns-socket=
1421
1422
#################################
1423
# 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.
1424
#
1425
# mydns-use-minimal-ttl=yes
1426
1427
#################################
1428
# mydns-user	Pdns backend user to connect as
1429
#
1430
# mydns-user=powerdns
1431
1432
#################################
1433
# negquery-cache-ttl	Seconds to store negative query results in the QueryCache
1434
#
1435
# negquery-cache-ttl=60
1436
1437
#################################
1438
# no-shuffle	Set this to prevent random shuffling of answers - for regression testing
1439
#
1440
# no-shuffle=off
1441
1442
#################################
1443
# only-notify	Only send AXFR NOTIFY to these IP addresses or netmasks
1444
#
1445
# only-notify=0.0.0.0/0,::/0
1446
1447
#################################
1448
# opendbx-backend	OpenDBX backend
1449
#
1450
# opendbx-backend=mysql
1451
1452
#################################
1453
# opendbx-database	Database name containing the DNS records
1454
#
1455
# opendbx-database=powerdns
1456
1457
#################################
1458
# opendbx-host	deprecated, use host-read and host-write instead
1459
#
1460
# opendbx-host=
1461
1462
#################################
1463
# opendbx-host-read	Name or address of one or more DBMS server to read from
1464
#
1465
# opendbx-host-read=127.0.0.1
1466
1467
#################################
1468
# opendbx-host-write	Name or address of one or more DBMS server used for updates
1469
#
1470
# opendbx-host-write=127.0.0.1
1471
1472
#################################
1473
# opendbx-password	Password for connecting to the DBMS
1474
#
1475
# opendbx-password=
1476
1477
#################################
1478
# opendbx-port	Port the DBMS server are listening to
1479
#
1480
# opendbx-port=
1481
1482
#################################
1483
# opendbx-sql-infomasters	Get all updated masters
1484
#
1485
# 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'
1486
1487
#################################
1488
# opendbx-sql-infoslaves	Get all unfresh slaves
1489
#
1490
# 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'
1491
1492
#################################
1493
# opendbx-sql-insert-record	Feed record into table
1494
#
1495
# opendbx-sql-insert-record=INSERT INTO "records" ( "domain_id", "name", "type", "ttl", "prio", "content" ) VALUES ( %d, '%s', '%s', %d, %d, '%s' )
1496
1497
#################################
1498
# opendbx-sql-insert-slave	Add slave domain
1499
#
1500
# opendbx-sql-insert-slave=INSERT INTO "domains" ( "name", "type", "master", "account" ) VALUES ( '%s', 'SLAVE', '%s', '%s' )
1501
1502
#################################
1503
# opendbx-sql-list	AXFR query
1504
#
1505
# 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
1506
1507
#################################
1508
# opendbx-sql-lookup	Lookup query
1509
#
1510
# opendbx-sql-lookup=SELECT r."domain_id", r."name", r."type", r."ttl", r."prio", r."content" FROM "records" r WHERE r."name"=':name'
1511
1512
#################################
1513
# opendbx-sql-lookupid	Lookup query with id
1514
#
1515
# 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'
1516
1517
#################################
1518
# opendbx-sql-lookupsoa	Lookup query for SOA record
1519
#
1520
# 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'
1521
1522
#################################
1523
# opendbx-sql-lookuptype	Lookup query with type
1524
#
1525
# 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'
1526
1527
#################################
1528
# opendbx-sql-lookuptypeid	Lookup query with type and id
1529
#
1530
# 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'
1531
1532
#################################
1533
# opendbx-sql-master	Get master record for zone
1534
#
1535
# opendbx-sql-master=SELECT d."master" FROM "domains" d WHERE d."name"=':name' AND d."status"='A' AND d."type"='SLAVE'
1536
1537
#################################
1538
# opendbx-sql-supermaster	Get supermaster info
1539
#
1540
# opendbx-sql-supermaster=SELECT s."account" FROM "supermasters" s WHERE s."ip"=':ip' AND s."nameserver"=':ns'
1541
1542
#################################
1543
# opendbx-sql-transactabort	Abort transaction
1544
#
1545
# opendbx-sql-transactabort=ROLLBACK
1546
1547
#################################
1548
# opendbx-sql-transactbegin	Start transaction
1549
#
1550
# opendbx-sql-transactbegin=BEGIN
1551
1552
#################################
1553
# opendbx-sql-transactend	Finish transaction
1554
#
1555
# opendbx-sql-transactend=COMMIT
1556
1557
#################################
1558
# opendbx-sql-update-lastcheck	Set time of last check
1559
#
1560
# opendbx-sql-update-lastcheck=UPDATE "domains" SET "last_check"=%d WHERE "id"=%d
1561
1562
#################################
1563
# opendbx-sql-update-serial	Set zone to notified
1564
#
1565
# opendbx-sql-update-serial=UPDATE "domains" SET "notified_serial"=%d WHERE "id"=%d
1566
1567
#################################
1568
# opendbx-sql-zonedelete	Delete all records for this zone
1569
#
1570
# opendbx-sql-zonedelete=DELETE FROM "records" WHERE "domain_id"=:id
1571
1572
#################################
1573
# opendbx-sql-zoneinfo	Get domain info
1574
#
1575
# 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'
1576
1577
#################################
1578
# opendbx-username	User for connecting to the DBMS
1579
#
1580
# opendbx-username=powerdns
1581
1582
#################################
1583
# out-of-zone-additional-processing	Do out of zone additional processing
1584
#
1585
# out-of-zone-additional-processing=yes
1586
1587
#################################
1588
# overload-queue-length	Maximum queuelength moving to packetcache only
1589
#
1590
# overload-queue-length=0
1591
1592
#################################
1593
# pipe-command	Command to execute for piping questions to
1594
#
1595
# pipe-command=
1596
1597
#################################
1598
# pipe-regex	Regular exception of queries to pass to coprocess
1599
#
1600
# pipe-regex=
1601
1602
#################################
1603
# pipe-timeout	Number of milliseconds to wait for an answer
1604
#
1605
# pipe-timeout=2000
1606
1607
#################################
1608
# pipebackend-abi-version	Version of the pipe backend ABI
1609
#
1610
# pipebackend-abi-version=1
1611
1612
#################################
1613
# prevent-self-notification	Don't send notifications to what we think is ourself
1614
#
1615
# prevent-self-notification=yes
1616
1617
#################################
1618
# query-cache-ttl	Seconds to store query results in the QueryCache
1619
#
1620
# query-cache-ttl=20
1621
1622
#################################
1623
# query-local-address	Source IP address for sending queries
1624
#
1625
# query-local-address=0.0.0.0
1626
1627
#################################
1628
# query-local-address6	Source IPv6 address for sending queries
1629
#
1630
# query-local-address6=::
1631
1632
#################################
1633
# query-logging	Hint backends that queries should be logged
1634
#
1635
# query-logging=no
1636
1637
#################################
1638
# queue-limit	Maximum number of milliseconds to queue a query
1639
#
1640
# queue-limit=1500
1641
1642
#################################
1643
# receiver-threads	Default number of receiver threads to start
1644
#
1645
# receiver-threads=1
1646
1647
#################################
1648
# recursive-cache-ttl	Seconds to store packets for recursive queries in the PacketCache
1649
#
1650
# recursive-cache-ttl=10
1651
1652
#################################
1653
# recursor	If recursion is desired, IP address of a recursing nameserver
1654
#
1655
# recursor=no
1656
1657
#################################
1658
# retrieval-threads	Number of AXFR-retrieval threads for slave operation
1659
#
1660
# retrieval-threads=2
1661
1662
#################################
1663
# reuseport	Enable higher performance on compliant kernels by using SO_REUSEPORT allowing each receiver thread to open its own socket
1664
#
1665
# reuseport=no
1666
1667
#################################
1668
# send-root-referral	Send out old-fashioned root-referral instead of ServFail in case of no authority
1669
#
1670
# send-root-referral=no
1671
1672
#################################
1673
# server-id	Returned when queried for 'server.id' TXT or NSID, defaults to hostname - disabled or custom
1674
#
1675
# server-id=
1676
1677
#################################
1678
# setgid	If set, change group id to this gid for more security
1679
#
1680
# setgid=
1681
1682
#################################
1683
# setuid	If set, change user id to this uid for more security
1684
#
1685
# setuid=
1686
1687
#################################
1688
# signing-threads	Default number of signer threads to start
1689
#
1690
# signing-threads=3
1691
1692
#################################
1693
# slave	Act as a slave
1694
#
1695
# slave=no
1696
1697
#################################
1698
# slave-cycle-interval	Reschedule failed SOA serial checks once every .. seconds
1699
#
1700
# slave-cycle-interval=60
1701
1702
#################################
1703
# slave-renotify	If we should send out notifications for slaved updates
1704
#
1705
# slave-renotify=no
1706
1707
#################################
1708
# soa-expire-default	Default SOA expire
1709
#
1710
# soa-expire-default=604800
1711
1712
#################################
1713
# soa-minimum-ttl	Default SOA minimum ttl
1714
#
1715
# soa-minimum-ttl=3600
1716
1717
#################################
1718
# soa-refresh-default	Default SOA refresh
1719
#
1720
# soa-refresh-default=10800
1721
1722
#################################
1723
# soa-retry-default	Default SOA retry
1724
#
1725
# soa-retry-default=3600
1726
1727
#################################
1728
# socket-dir	Where the controlsocket will live
1729
#
1730
# socket-dir=/var/run
1731
1732
#################################
1733
# tcp-control-address	If set, PowerDNS can be controlled over TCP on this address
1734
#
1735
# tcp-control-address=
1736
1737
#################################
1738
# tcp-control-port	If set, PowerDNS can be controlled over TCP on this address
1739
#
1740
# tcp-control-port=53000
1741
1742
#################################
1743
# tcp-control-range	If set, remote control of PowerDNS is possible over these networks only
1744
#
1745
# 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
1746
1747
#################################
1748
# tcp-control-secret	If set, PowerDNS can be controlled over TCP after passing this secret
1749
#
1750
# tcp-control-secret=
1751
1752
#################################
1753
# tinydns-dbfile	Location of the cdb data file
1754
#
1755
# tinydns-dbfile=data.cdb
1756
1757
#################################
1758
# 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!
1759
#
1760
# tinydns-ignore-bogus-records=no
1761
1762
#################################
1763
# 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!
1764
#
1765
# tinydns-locations=yes
1766
1767
#################################
1768
# tinydns-notify-on-startup	Tell the TinyDNSBackend to notify all the slave nameservers on startup. Default is no.
1769
#
1770
# tinydns-notify-on-startup=no
1771
1772
#################################
1773
# 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.
1774
#
1775
# tinydns-tai-adjust=11
1776
1777
#################################
1778
# traceback-handler	Enable the traceback handler (Linux only)
1779
#
1780
# traceback-handler=yes
1781
1782
#################################
1783
# trusted-notification-proxy	IP address of incoming notification proxy
1784
#
1785
# trusted-notification-proxy=
1786
1787
#################################
1788
# udp-truncation-threshold	Maximum UDP response size before we truncate
1789
#
1790
# udp-truncation-threshold=1680
1791
1792
#################################
1793
# version-string	PowerDNS version in packets - full, anonymous, powerdns or custom
1794
#
1795
# version-string=full
1796
1797
#################################
1798
# webserver	Start a webserver for monitoring
1799
#
1800
# webserver=no
1801
1802
#################################
1803
# webserver-address	IP Address of webserver to listen on
1804
#
1805
# webserver-address=127.0.0.1
1806
1807
#################################
1808
# webserver-allow-from	Webserver access is only allowed from these subnets
1809
#
1810
# webserver-allow-from=0.0.0.0/0,::/0
1811
1812
#################################
1813
# webserver-password	Password required for accessing the webserver
1814
#
1815
# webserver-password=
1816
1817
#################################
1818
# webserver-port	Port of webserver to listen on
1819
#
1820
# webserver-port=8081
1821
1822
#################################
1823
# webserver-print-arguments	If the webserver should print arguments
1824
#
1825
# webserver-print-arguments=no
1826
1827
(-)pkg-plist (-19 / +38 lines)
Lines 1-42 Link Here
1
bin/pdns_control
1
bin/pdns_control
2
bin/pdnssec
2
bin/pdnsutil
3
bin/zone2json
3
bin/zone2json
4
bin/zone2ldap
5
bin/zone2sql
4
bin/zone2sql
6
sbin/pdns_server
5
sbin/pdns_server
6
%%PROTOBUF%%bin/dnspcap2protobuf
7
%%TOOLS%%bin/dnsbulktest
7
%%TOOLS%%bin/dnsbulktest
8
%%TOOLS%%bin/dnsgram
8
%%TOOLS%%bin/dnsreplay
9
%%TOOLS%%bin/dnsreplay
9
%%TOOLS%%bin/dnsscan
10
%%TOOLS%%bin/dnsscan
10
%%TOOLS%%bin/dnsscope
11
%%TOOLS%%bin/dnsscope
11
%%TOOLS%%bin/dnstcpbench
12
%%TOOLS%%bin/dnstcpbench
12
%%TOOLS%%bin/dnswasher
13
%%TOOLS%%bin/dnswasher
14
%%TOOLS%%bin/dumresp
15
%%TOOLS%%bin/ixplore
13
%%TOOLS%%bin/nproxy
16
%%TOOLS%%bin/nproxy
14
%%TOOLS%%bin/nsec3dig
17
%%TOOLS%%bin/nsec3dig
18
%%TOOLS%%bin/pdns_notify
15
%%TOOLS%%bin/saxfr
19
%%TOOLS%%bin/saxfr
20
%%TOOLS%%bin/sdig
21
%%TOOLS%%bin/stubquery
22
lib/pdns/libbindbackend.so
23
lib/pdns/libpipebackend.so
24
%%GEOIP%%lib/pdns/libgeoipbackend.so
25
%%LUA%%lib/pdns/libluabackend.so
26
%%MYDNS%%lib/pdns/libmydnsbackend.so
27
%%MYSQL%%lib/pdns/libgmysqlbackend.so
28
%%OPENDBX%%lib/pdns/libopendbxbackend.so
29
%%OPENLDAP%%lib/pdns/libldapbackend.so
30
%%OPENLDAP%%bin/zone2ldap
16
%%PGSQL%%lib/pdns/libgpgsqlbackend.so
31
%%PGSQL%%lib/pdns/libgpgsqlbackend.so
17
%%MYSQL%%lib/pdns/libgmysqlbackend.so
32
%%REMOTE%%lib/pdns/libremotebackend.so
18
%%SQLITE3%%lib/pdns/libgsqlite3backend.so
33
%%SQLITE3%%lib/pdns/libgsqlite3backend.so
19
%%OPENLDAP%%lib/pdns/libldapbackend.so
20
%%OPENDBX%%lib/pdns/libopendbxbackend.so
21
%%GEO%%lib/pdns/libgeobackend.so
22
%%GEOIP%%lib/pdns/libgeoipbackend.so
23
%%TINYDNS%%lib/pdns/libtinydnsbackend.so
34
%%TINYDNS%%lib/pdns/libtinydnsbackend.so
24
%%REMOTE%%lib/pdns/libremotebackend.so
35
%%UNIXODBC%%lib/pdns/libgodbcbackend.so
25
%%MYDNS%%lib/pdns/libmydnsbackend.so
36
man/man1/calidns.1.gz
26
%%LUA%%lib/pdns/libluabackend.so
37
man/man1/dnsbulktest.1.gz
27
%%LMDB%%lib/pdns/liblmdbbackend.so
38
man/man1/dnsgram.1.gz
28
%%LMDB%%bin/zone2lmdb
39
man/man1/dnsscan.1.gz
29
lib/pdns/libbindbackend.so
40
man/man1/dumresp.1.gz
30
lib/pdns/libpipebackend.so
41
man/man1/ixplore.1.gz
42
man/man1/nproxy.1.gz
43
man/man1/nsec3dig.1.gz
44
man/man1/pdns_notify.1.gz
45
man/man1/pdnsutil.1.gz
46
man/man1/saxfr.1.gz
47
man/man1/sdig.1.gz
48
man/man1/pdns_control.1.gz
49
man/man1/pdns_server.1.gz
50
man/man1/zone2json.1.gz
51
man/man1/zone2ldap.1.gz
52
man/man1/zone2sql.1.gz
53
%%PROTOBUF%%man/man1/dnspcap2protobuf.1.gz
31
%%TOOLS%%man/man1/dnstcpbench.1.gz
54
%%TOOLS%%man/man1/dnstcpbench.1.gz
32
%%TOOLS%%man/man1/dnsreplay.1.gz
55
%%TOOLS%%man/man1/dnsreplay.1.gz
33
%%TOOLS%%man/man1/dnsscope.1.gz
56
%%TOOLS%%man/man1/dnsscope.1.gz
34
%%TOOLS%%man/man1/dnswasher.1.gz
57
%%TOOLS%%man/man1/dnswasher.1.gz
35
man/man1/pdns_control.1.gz
36
man/man1/pdns_server.1.gz
37
man/man1/pdnssec.1.gz
38
man/man1/zone2ldap.1.gz
39
man/man1/zone2sql.1.gz
40
@sample etc/pdns/pdns.conf-dist etc/pdns/pdns.conf
58
@sample etc/pdns/pdns.conf-dist etc/pdns/pdns.conf
41
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdns.conf
59
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdns.conf
42
%%PORTEXAMPLES%%@dir %%EXAMPLESDIR%%
60
%%PORTEXAMPLES%%@dir %%EXAMPLESDIR%%
Lines 50-52 Link Here
50
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/schema.mysql.sql
68
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/schema.mysql.sql
51
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/schema.pgsql.sql
69
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/schema.pgsql.sql
52
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/schema.sqlite3.sql
70
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/schema.sqlite3.sql
71
%%UNIXODBC%%%%PORTDOCS%%%%DOCSDIR%%/schema.mssql.sql

Return to bug 211147