cout<<ret.toString()<<endl;
return EXIT_SUCCESS;
}
-
+#endif /* HAVE_IPCIPHER */
+ static int zonemdVerifyFile(const DNSName& zone, const string& fname) {
+ ZoneParserTNG zpt(fname, zone);
+ zpt.setMaxGenerateSteps(::arg().asNum("max-generate-steps"));
+
+ bool validationDone, validationOK;
+
+ try {
+ pdns::zonemdVerify(zone, zpt, validationDone, validationOK);
+ }
+ catch (const PDNSException& ex) {
+ cerr << "zonemd-verify-file: " << ex.reason << endl;
+ return EXIT_FAILURE;
+ }
+ catch (const std::exception& ex) {
+ cerr << "zonemd-verify-file: " << ex.what() << endl;
+ return EXIT_FAILURE;
+ }
+
+ if (validationDone) {
+ if (validationOK) {
+ cout << "zonemd-verify-file: Verification of ZONEMD record succeeded" << endl;
+ return EXIT_SUCCESS;
+ } else {
+ cerr << "zonemd-verify-file: Verification of ZONEMD record(s) failed" << endl;
+ }
+ }
+ else {
+ cerr << "zonemd-verify-file: No suitable ZONEMD record found to verify against" << endl;
+ }
+ return EXIT_FAILURE;
+ }
+
static int loadZone(const DNSName& zone, const string& fname) {
UeberBackend B;
DomainInfo di;