]> gitweb.michael.orlitzky.com - haeredes.git/blob - haeredes.cabal
Add a skeleton test suite.
[haeredes.git] / haeredes.cabal
1 name: haeredes
2 version: 0.0
3 cabal-version: >= 1.8
4 author: Michael Orlitzky
5 maintainer: Michael Orlitzky <michael@orlitzky.com>
6 license: GPL-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 Check orlitzky.com against the expected name servers, using
48 d.gtld-servers.net:
49 .
50 @
51 $ haeredes --server 199.7.91.13 dns1.viabit.com dns2.viabit.com \
52 &#x20; <<< \"orlitzky.com\"
53 @
54 .
55 Check orlitzky.com against only one of the expected two nameservers:
56 .
57 @
58 $ haeredes dns1.viabit.com <<< \"orlitzky.com\"
59 Domain \"orlitzky.com.\" delegates somewhere else: \"dns2.viabit.com.\"
60 @
61 .
62 Check a nonexistent domain (we provide no delegates, since we
63 know .invalid will not be delegated):
64 .
65 @
66 $ haeredes <<< \"example.invalid\"
67 Domain \"example.invalid.\" not delegated.
68 @
69
70 executable haeredes
71 build-depends:
72 base == 4.*,
73 bytestring == 0.10.*,
74 cmdargs == 0.10.*,
75 dns >= 0.3.7,
76 iproute == 1.2.*,
77 MissingH == 1.2.*,
78 parallel-io == 0.3.*,
79 -- Test deps
80 HUnit == 1.2.*,
81 test-framework == 0.8.*,
82 test-framework-hunit == 0.3.*
83
84 main-is:
85 Main.hs
86
87 hs-source-dirs:
88 src/
89
90 other-modules:
91 CommandLine
92 DNS
93 ExitCodes
94
95 ghc-options:
96 -Wall
97 -fwarn-hi-shadowing
98 -fwarn-missing-signatures
99 -fwarn-name-shadowing
100 -fwarn-orphans
101 -fwarn-type-defaults
102 -fwarn-tabs
103 -fwarn-incomplete-record-updates
104 -fwarn-monomorphism-restriction
105 -fwarn-unused-do-bind
106 -rtsopts
107 -threaded
108 -optc-O3
109 -optc-march=native
110
111 test-suite testsuite
112 type: exitcode-stdio-1.0
113 hs-source-dirs: src test
114 main-is: TestSuite.hs
115 build-depends:
116 base == 4.*,
117 bytestring == 0.10.*,
118 cmdargs == 0.10.*,
119 dns >= 0.3.7,
120 iproute == 1.2.*,
121 MissingH == 1.2.*,
122 parallel-io == 0.3.*,
123 -- Test deps
124 HUnit == 1.2.*,
125 test-framework == 0.8.*,
126 test-framework-hunit == 0.3.*
127
128 -- It's not entirely clear to me why I have to reproduce all of this.
129 ghc-options:
130 -Wall
131 -fwarn-hi-shadowing
132 -fwarn-missing-signatures
133 -fwarn-name-shadowing
134 -fwarn-orphans
135 -fwarn-type-defaults
136 -fwarn-tabs
137 -fwarn-incomplete-record-updates
138 -fwarn-monomorphism-restriction
139 -fwarn-unused-do-bind
140 -rtsopts
141 -threaded
142 -optc-O3
143 -optc-march=native
144
145
146 source-repository head
147 type: git
148 location: http://michael.orlitzky.com/git/haeredes.git
149 branch: master