- awk '$(OLDSIGMATCH) { system("cat t.oldsig"); next; } \
- { gsub(/invalid-rrsigx/, "invalid-rrsig"); print; }' \
- dnserr.zone.signew >$@.new
+ awk '$(OLDSIGMATCH) { \
+ if (!doneoldsig) { system("cat t.oldsig"); doneoldsig = 1; } \
+ next; \
+ } \
+ $(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