]> gitweb.michael.orlitzky.com - haeredes.git/blob - haeredes.cabal
c43752b396c5c96f24b30789c4adf3c9bd35ace6
[haeredes.git] / haeredes.cabal
1 name: haeredes
2 version: 0.5.0
3 cabal-version: >= 1.8
4 author: Michael Orlitzky
5 maintainer: Michael Orlitzky <michael@orlitzky.com>
6 license: AGPL-3
7 license-file: doc/LICENSE
8 homepage: http://michael.orlitzky.com/code/haeredes.xhtml
9 bug-reports: mailto:michael@orlitzky.com
10 category: DNS, Utils
11 build-type: Simple
12 extra-source-files:
13 doc/man1/haeredes.1
14 test/shell/*.test
15 synopsis:
16 Confirm delegation of NS and MX records.
17 description:
18 Haeredes is primarily useful for ISP network administrators.
19 Customers will occasionally decide to switch hosts without alerting
20 the current host; this can cause two problems:
21 .
22 * With NS records, the previous host (at the very least) keeps
23 hosting a DNS zone that does nothing. If that host uses their
24 authoritative nameserver as a caching lookup server as well, it
25 may return incorrect results to queries about the domain in
26 question.
27 .
28 * For MX records, the situation is slightly worse. Most mail servers
29 will immediately accept mail for which the server thinks it is the
30 ultimate destination. If a mail server is configured as the
31 destination for a domain, but it is not the MX for that domain,
32 then mail submitted to that server may possibly be lost. It is
33 therefore important to remove domains from the old mail host as
34 soon as the MX record is changed.
35 .
36 Haeredes can alert administrators when NS/MX records are changed. More
37 detail can be found in the man page.
38 .
39 /Examples/:
40 .
41 Make sure example.com has the expected name servers,
42 [ab].iana-servers.net:
43 .
44 @
45 $ haeredes a.iana-servers.net b.iana-servers.net <<< \"example.com\"
46 @
47 .
48 If you use --no-append-root and your nameservers are rooted, you
49 must remember to supply the trailing dot yourself. Otherwise, you'll
50 get false positives.
51 .
52 @
53 $ haeredes --no-append-root \
54 &#x20; a.iana-servers.net b.iana-servers.net \
55 &#x20; <<< \"example.com\"
56 Domain \"example.com\" delegates somewhere else: \"b.iana-servers.net.\" \"a.iana-servers.net.\"
57 @
58 .
59 Check orlitzky.com against the expected name servers, using
60 d.gtld-servers.net:
61 .
62 @
63 $ haeredes --server 199.7.91.13 dns1.viabit.com dns2.viabit.com \
64 &#x20; <<< \"orlitzky.com\"
65 @
66 .
67 Check orlitzky.com against only one of the expected two nameservers:
68 .
69 @
70 $ haeredes dns1.viabit.com <<< \"orlitzky.com\"
71 Domain \"orlitzky.com.\" delegates somewhere else: \"dns2.viabit.com.\"
72 @
73 .
74 Check a nonexistent domain (we provide no delegates, since we
75 know .bar will not be delegated):
76 .
77 @
78 $ haeredes <<< \"foo.bar\"
79 Domain \"foo.bar.\" not delegated.
80 @
81
82 executable haeredes
83 build-depends:
84 base == 4.*,
85 bytestring >= 0.10,
86 cmdargs >= 0.10,
87 dns >= 1.4,
88 iproute >= 1.2,
89 parallel-io >= 0.3
90
91 main-is:
92 Main.hs
93
94 hs-source-dirs:
95 src/
96
97 other-modules:
98 CommandLine
99 DNS
100 ExitCodes
101 -- WARNING: the Paths_haeredes module is automatically generated by
102 -- Cabal itself. We don't want it included in the release tarballs,
103 -- since we typically want the paths that the user has configured.
104 -- Nevertheless, Cabal will complain if we don't include it here.
105 Paths_haeredes
106 Timeout
107
108 ghc-options:
109 -Weverything
110 -Wno-implicit-prelude
111 -Wno-safe
112 -Wno-unsafe
113 -Wno-all-missed-specialisations
114 -rtsopts
115 -threaded
116 -optc-O3
117 -optc-march=native
118
119
120 test-suite doctests
121 type: exitcode-stdio-1.0
122 hs-source-dirs: test
123 main-is: Doctests.hs
124 build-depends:
125 base == 4.*,
126 -- Additional test dependencies.
127 doctest >= 0.9,
128 filemanip >= 0.3.6
129
130 -- It's not entirely clear to me why I have to reproduce all of this.
131 ghc-options:
132 -Weverything
133 -Wno-implicit-prelude
134 -Wno-safe
135 -Wno-unsafe
136 -Wno-all-missed-specialisations
137 -rtsopts
138 -threaded
139 -optc-O3
140 -optc-march=native
141
142
143 -- These won't work without shelltestrunner installed in your
144 -- $PATH. Maybe there is some way to tell Cabal that.
145 test-suite shelltests
146 type: exitcode-stdio-1.0
147 hs-source-dirs: test
148 main-is: ShellTests.hs
149
150 build-depends:
151 base == 4.*,
152 bytestring >= 0.10,
153 cmdargs >= 0.10,
154 dns >= 1.4,
155 iproute >= 1.2,
156 parallel-io >= 0.3,
157 process >= 1.1
158
159 -- It's not entirely clear to me why I have to reproduce all of this.
160 ghc-options:
161 -Weverything
162 -Wno-implicit-prelude
163 -Wno-safe
164 -Wno-unsafe
165 -Wno-all-missed-specialisations
166 -rtsopts
167 -threaded
168 -optc-O3
169 -optc-march=native
170
171
172 source-repository head
173 type: git
174 location: http://gitweb.michael.orlitzky.com/haeredes.git
175 branch: master