Update project URLs.
[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.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 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 -Weverything
105 -Wno-implicit-prelude
106 -Wno-safe
107 -Wno-unsafe
108 -Wno-all-missed-specialisations
109 -rtsopts
110 -threaded
111 -optc-O3
112 -optc-march=native
113
114
115 test-suite doctests
116 type: exitcode-stdio-1.0
117 hs-source-dirs: test
118 main-is: Doctests.hs
119 build-depends:
120 base == 4.*,
121 -- Additional test dependencies.
122 doctest >= 0.9,
123 filemanip >= 0.3.6
124
125 -- It's not entirely clear to me why I have to reproduce all of this.
126 ghc-options:
127 -Weverything
128 -Wno-implicit-prelude
129 -Wno-safe
130 -Wno-unsafe
131 -Wno-all-missed-specialisations
132 -rtsopts
133 -threaded
134 -optc-O3
135 -optc-march=native
136
137 source-repository head
138 type: git
139 location: http://gitweb.michael.orlitzky.com/haeredes.git
140 branch: master