if(zonename.empty())
throw ApiException("Zone name empty");
+ if(zonename.find('/') != string::npos)
+ throw ApiException("Illegal character in zone name");
+
if (zonename[zonename.size()-1] != '.') {
zonename += ".";
}
+ string singleIPTarget = stringFromJson(document, "single-ip-target", "");
string kind = toUpper(stringFromJson(document, "kind"));
bool rd = boolFromJson(document, "recursion_desired");
string confbasename = "zone-" + apiZoneNameToId(zonename);
}
ofzone << "; Generated by pdns-recursor REST API, DO NOT EDIT" << endl;
ofzone << zonename << "\tIN\tSOA\tlocal.zone.\thostmaster."<<zonename<<" 1 1 1 1 1" << endl;
+ if(!singleIPTarget.empty()) {
+ ofzone <<zonename << "\tIN\tA\t"<<singleIPTarget<<endl;
+ ofzone <<"*."<<zonename << "\tIN\tCNAME\t"<<zonename<<endl;
+ }
ofzone.close();
apiWriteConfigFile(confbasename, "auth-zones+=" + zonename + "=" + zonefilename);