TARGETS += dnserr.zone.sig
OLDSIGMATCH = $$1 == "expired-rrsig.$(ZONE)." && \
- $$4 == "RRSIG" && $$5 == "A"
+ $$4 == "RRSIG" && ($$5 == "A" || $$5 == "AAAA")
BADSIGMATCH = $$1 == "invalid-rrsig.$(ZONE)." && \
- $$4 == "RRSIG" && $$5 == "A"
+ $$4 == "RRSIG" && ($$5 == "A" || $$5 == "AAAA")
CLEAN += t.oldsig
dnserr.zone.sig: dnserr.zone.sigold dnserr.zone.signew
awk '$(OLDSIGMATCH) { print; }' \
if (!doneoldsig) { system("cat t.oldsig"); doneoldsig = 1; } \
next; \
} \
- { gsub(/invalid-rrsigx/, "invalid-rrsig"); print; }' \
+ $(BADSIGMATCH) { \
+ s = $$13; \
+ for (i = length(s)/2; i > 0; i--) { \
+ c = substr(s, i, 1); \
+ if (c != tolower(c)) { c = tolower(c); break; } \
+ else if (c != toupper(c)) { c = toupper(c); break; } \
+ } \
+ $$13 = substr(s, 1, i) c substr(s, i + 2); \
+ } \
+ { print; }' \
dnserr.zone.signew >$@.new
rm t.oldsig
mv $@.new $@