Skip to content

Commit e4f48ab

Browse files
committed
allow "pdnssec set-nsec3 ZONE" for insecure zones
this saves on one rectify when securing a NSEC3 zone
1 parent 2dea55e commit e4f48ab

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

pdns/pdnssec.cc

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1537,18 +1537,23 @@ try
15371537
string nsec3params = cmds.size() > 2 ? cmds[2] : "1 0 1 ab";
15381538
bool narrow = cmds.size() > 3 && cmds[3]=="narrow";
15391539
NSEC3PARAMRecordContent ns3pr(nsec3params);
1540-
1541-
string zone=cmds[1];
1542-
if(!dk.isSecuredZone(zone)) {
1543-
cerr<<"Zone '"<<zone<<"' is not secured, can't set NSEC3 parameters"<<endl;
1544-
exit(EXIT_FAILURE);
1540+
1541+
if (! dk.setNSEC3PARAM(cmds[1], ns3pr, narrow)) {
1542+
cerr<<"Cannot set NSEC3 param for " << cmds[1] << endl;
1543+
return 1;
15451544
}
1546-
dk.setNSEC3PARAM(zone, ns3pr, narrow);
1547-
1545+
15481546
if (!ns3pr.d_flags)
1549-
cerr<<"NSEC3 set, please rectify-zone if your backend needs it"<<endl;
1547+
cerr<<"NSEC3 set, ";
1548+
else
1549+
cerr<<"NSEC3 (opt-out) set, ";
1550+
1551+
if(dk.isSecuredZone(cmds[1]))
1552+
cerr<<"please rectify your zone if your backend needs it"<<endl;
15501553
else
1551-
cerr<<"NSEC3 (opt-out) set, please rectify-zone if your backend needs it"<<endl;
1554+
cerr<<"please secure and rectify your zone."<<endl;
1555+
1556+
return 0;
15521557
}
15531558
else if(cmds[0]=="set-presigned") {
15541559
if(cmds.size() < 2) {

regression-tests/backends/gsql-common

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,14 @@ gsql-master()
1212
do
1313
if [ $context != ${backend}-nodnssec ]
1414
then
15-
securezone $zone ${backend}
1615
if [ $context = ${backend}-nsec3 ] || [ $context = ${backend}-nsec3-optout ]
1716
then
1817
../pdns/pdnssec --config-dir=. --config-name=$backend set-nsec3 $zone "1 $optout 1 abcd" 2>&1
19-
../pdns/pdnssec --config-dir=. --config-name=$backend rectify-zone $zone 2>&1
2018
elif [ $context = ${backend}-nsec3-narrow ]
2119
then
2220
../pdns/pdnssec --config-dir=. --config-name=$backend set-nsec3 $zone '1 1 1 abcd' narrow 2>&1
23-
../pdns/pdnssec --config-dir=. --config-name=$backend rectify-zone $zone 2>&1
2421
fi
22+
securezone $zone ${backend}
2523
else
2624
../pdns/pdnssec --config-dir=. --config-name=$backend rectify-zone $zone 2>&1
2725
fi

0 commit comments

Comments
 (0)