c1362992f01694a32edbb5103ba528dd4bf86ac7
[haeredes.git] / haeredes.cabal
1 name: haeredes
2 version: 0.4.5
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.php
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 synopsis:
15 Confirm delegation of NS and MX records.
16 description:
17 Haeredes is primarily useful for ISP network administrators.
18 Customers will occasionally decide to switch hosts without alerting
19 the current host; this can cause two problems:
20 .
21 * With NS records, the previous host (at the very least) keeps
22 hosting a DNS zone that does nothing. If that host uses their
23 authoritative nameserver as a caching lookup server as well, it
24 may return incorrect results to queries about the domain in
25 question.
26 .
27 * For MX records, the situation is slightly worse. Most mail servers
28 will immediately accept mail for which the server thinks it is the
29 ultimate destination. If a mail server is configured as the
30 destination for a domain, but it is not the MX for that domain,
31 then mail submitted to that server may possibly be lost. It is
32 therefore important to remove domains from the old mail host as
33 soon as the MX record is changed.
34 .
35 Haeredes can alert administrators when NS/MX records are changed. More
36 detail can be found in the man page.
37 .
38 /Examples/:
39 .
40 Make sure example.com has the expected name servers,
41 [ab].iana-servers.net:
42 .
43 @
44 $ haeredes a.iana-servers.net b.iana-servers.net <<< \"example.com\"
45 @
46 .
47 If you use --no-append-root and your nameservers are rooted, you
48 must remember to supply the trailing dot yourself. Otherwise, you'll
49 get false positives.
50 .
51 @
52 $ haeredes --no-append-root \
53 &#x20; a.iana-servers.net b.iana-servers.net \
54 &#x20; <<< \"example.com\"
55 Domain \"example.com\" delegates somewhere else: \"b.iana-servers.net.\" \"a.iana-servers.net.\"
56 @
57 .
58 Check orlitzky.com against the expected name servers, using
59 d.gtld-servers.net:
60 .
61 @
62 $ haeredes --server 199.7.91.13 dns1.viabit.com dns2.viabit.com \
63 &#x20; <<< \"orlitzky.com\"
64 @
65 .
66 Check orlitzky.com against only one of the expected two nameservers:
67 .
68 @
69 $ haeredes dns1.viabit.com <<< \"orlitzky.com\"
70 Domain \"orlitzky.com.\" delegates somewhere else: \"dns2.viabit.com.\"
71 @
72 .
73 Check a nonexistent domain (we provide no delegates, since we
74 know .bar will not be delegated):
75 .
76 @
77 $ haeredes <<< \"foo.bar\"
78 Domain \"foo.bar.\" not delegated.
79 @
80
81 executable haeredes
82 build-depends:
83 base == 4.*,
84 bytestring >= 0.10,
85 cmdargs >= 0.10,
86 dns >= 1.4,
87 iproute >= 1.2,
88 MissingH >= 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 Timeout
102
103 ghc-options:
104 -Wall
105 -fwarn-hi-shadowing
106 -fwarn-missing-signatures
107 -fwarn-name-shadowing
108 -fwarn-orphans
109 -fwarn-type-defaults
110 -fwarn-tabs
111 -fwarn-incomplete-record-updates
112 -fwarn-monomorphism-restriction
113 -fwarn-unused-do-bind
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 -Wall
133 -fwarn-hi-shadowing
134 -fwarn-missing-signatures
135 -fwarn-name-shadowing
136 -fwarn-orphans
137 -fwarn-type-defaults
138 -fwarn-tabs
139 -fwarn-incomplete-record-updates
140 -fwarn-monomorphism-restriction
141 -fwarn-unused-do-bind
142 -rtsopts
143 -threaded
144 -optc-O3
145 -optc-march=native
146
147 source-repository head
148 type: git
149 location: http://michael.orlitzky.com/git/haeredes.git
150 branch: master