d_zonename = DNSName(makeString(d_line, parts[1]));
}
else if(pdns_iequals(command, "$GENERATE") && parts.size() > 2) {
+ if (!d_generateEnabled) {
+ throw exception("$GENERATE is not allowed in this zone");
+ }
// $GENERATE 1-127 $ CNAME $.0
string range=makeString(d_line, parts[1]);
d_templatestep=1;
DNSName getZoneName();
string getLineOfFile(); // for error reporting purposes
pair<string,int> getLineNumAndFile(); // idem
+ void disableGenerate()
+ {
+ d_generateEnabled = false;
+ }
void setMaxGenerateSteps(size_t max)
{
d_maxGenerateSteps = max;
uint32_t d_templatecounter, d_templatestop, d_templatestep;
bool d_havedollarttl;
bool d_fromfile;
+ bool d_generateEnabled{true};
};
#endif