chiark / gitweb /
config.m4: Fix the nameservers following network renumbering.
[dnserr] / Makefile
CommitLineData
2ff79b43
MW
1### -*-makefile-*-
2
3BASE = distorted.org.uk
4ZONE = dnserr.$(BASE)
5
5f465544 6KEYGEN = dnssec-keygen -aRSASHA256 -b1024 -r/dev/urandom -Kkey/
2ff79b43 7SIGNZONE = dnssec-signzone -S -Kkey/ -dds/
b846721d 8SIGVALID = -s20000101000000 -e20300101000000
2ff79b43
MW
9SIGOLD = -s20000101000000 -e20010101000000
10
11all:
12
13DUMMY = refused wrong-ds
14DUMMYZONES = $(addsuffix .zone,$(DUMMY))
15TARGETS += $(DUMMYZONES)
aa5daa17 16$(DUMMYZONES): %.zone: utils.m4 config.m4 dummy.in
2ff79b43
MW
17 m4 -P -DBASE=$(BASE) >$@.new utils.m4 dummy.in
18 mv $@.new $@
19
20TARGETS += dnserr.zone
21dnserr.zone: utils.m4 config.m4 dnserr.in
22 m4 -P -DBASE=$(BASE) >$@.new utils.m4 dnserr.in
23 mv $@.new $@
24
25KEYSTAMP = $(patsubst %,key/%.stamp, \
26 $(ZONE) \
27 $(addsuffix .$(ZONE),$(DUMMY)))
28$(KEYSTAMP): key/%.stamp:
29 mkdir -p key
30 $(KEYGEN) -fKSK $*
31 $(KEYGEN) $*
32 touch $@
33all: $(KEYSTAMP)
34realclean::; rm -rf key/
35
36DUMMYSIG = $(addsuffix .zone.sig,$(DUMMY))
37TARGETS += $(DUMMYSIG)
38$(DUMMYSIG): %.zone.sig: %.zone
39wrong-ds.zone.sig: wrong-ds.zone key/wrong-ds.$(ZONE).stamp
40 mkdir -p ds/
41 $(SIGNZONE) $(SIGVALID) -owrong-ds.$(ZONE) -f$@ $<
42clean::; rm -rf ds/
43
44TARGETS += dnserr.zone.signew
45dnserr.zone.signew: dnserr.zone key/$(ZONE).stamp
46 $(SIGNZONE) $(SIGVALID) -o$(ZONE) -f$@.bind $<
47 ldns-read-zone $@.bind >$@.new
48 rm $@.bind
49 mv $@.new $@
50
51TARGETS += dnserr.zone.sigold
52dnserr.zone.sigold: dnserr.zone key/$(ZONE).stamp
53 $(SIGNZONE) $(SIGOLD) -P -o$(ZONE) -f$@.bind $<
54 ldns-read-zone $@.bind >$@.new
55 rm $@.bind
56 mv $@.new $@
57
58TARGETS += dnserr.zone.sig
59OLDSIGMATCH = $$1 == "expired-rrsig.$(ZONE)." && \
00194367 60 $$4 == "RRSIG" && ($$5 == "A" || $$5 == "AAAA")
2ff79b43 61BADSIGMATCH = $$1 == "invalid-rrsig.$(ZONE)." && \
00194367 62 $$4 == "RRSIG" && ($$5 == "A" || $$5 == "AAAA")
2ff79b43
MW
63CLEAN += t.oldsig
64dnserr.zone.sig: dnserr.zone.sigold dnserr.zone.signew
65 awk '$(OLDSIGMATCH) { print; }' \
66 dnserr.zone.sigold >t.oldsig
4ee49a0e
MW
67 awk '$(OLDSIGMATCH) { \
68 if (!doneoldsig) { system("cat t.oldsig"); doneoldsig = 1; } \
69 next; \
70 } \
263d66f6
MW
71 $(BADSIGMATCH) { \
72 s = $$13; \
f73a2618 73 for (i = length(s)/2; i > 0; i--) { \
263d66f6
MW
74 c = substr(s, i, 1); \
75 if (c != tolower(c)) { c = tolower(c); break; } \
76 else if (c != toupper(c)) { c = toupper(c); break; } \
77 } \
a638245a 78 $$13 = substr(s, 1, i - 1) c substr(s, i + 1); \
263d66f6
MW
79 } \
80 { print; }' \
5d3790e3
MW
81 dnserr.zone.signew >$@.new
82 rm t.oldsig
2ff79b43
MW
83 mv $@.new $@
84
85CLEAN += $(TARGETS)
86all: $(TARGETS)
87.PHONY: all
88
89clean::; rm -f $(CLEAN)
90realclean:: clean; rm -f $(REALCLEAN)
91.PHONY: clean realclean
dad5984a
MW
92
93-include local.mk