]> gitweb.michael.orlitzky.com - haeredes.git/blob - haeredes.cabal
haeredes.cabal: no period in synopsis
[haeredes.git] / haeredes.cabal
1 cabal-version: 3.0
2 name: haeredes
3 version: 0.5.4
4 author: Michael Orlitzky
5 maintainer: Michael Orlitzky <michael@orlitzky.com>
6 license: AGPL-3.0-or-later
7 license-file: doc/LICENSE
8 homepage: https://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/COPYING
14 doc/man1/haeredes.1
15 test/shell/*.test
16 synopsis:
17 Confirm delegation of NS and MX records.
18 description:
19 Haeredes is primarily useful for ISP network administrators.
20 Customers will occasionally decide to switch hosts without alerting
21 the current host; this can cause two problems:
22
23 * With NS records, the previous host (at the very least) keeps
24 hosting a DNS zone that does nothing. If that host uses their
25 authoritative nameserver as a caching lookup server as well, it
26 may return incorrect results to queries about the domain in
27 question.
28
29 * For MX records, the situation is slightly worse. Most mail servers
30 will immediately accept mail for which the server thinks it is the
31 ultimate destination. If a mail server is configured as the
32 destination for a domain, but it is not the MX for that domain,
33 then mail submitted to that server may possibly be lost. It is
34 therefore important to remove domains from the old mail host as
35 soon as the MX record is changed.
36
37 Haeredes can alert administrators when NS/MX records are changed. More
38 detail and usage examples can be found in the man page.
39
40 /Examples/:
41
42 Make sure example.com has the expected name servers,
43 [ab].iana-servers.net:
44
45 @
46 $ echo \"example.com\" | haeredes a.iana-servers.net b.iana-servers.net
47 @
48
49 Check orlitzky.com against only one of the expected two nameservers:
50
51 @
52 $ echo \"orlitzky.com\" | haeredes dns1.viabit.com
53 Domain \"orlitzky.com.\" delegates somewhere else: \"dns2.viabit.com.\"
54 @
55
56 Check a nonexistent domain (we provide no delegates, since we
57 know .doesnt-exist will not be delegated):
58
59 @
60 $ echo \"foo.doesnt-exist\" | haeredes
61 Domain \"foo.doesnt-exist.\" not delegated.
62 @
63
64 executable haeredes
65 build-depends:
66 base >= 4.15 && < 5.0,
67 bytestring >= 0.10,
68 cmdargs >= 0.10,
69 dns >= 1.4,
70 iproute >= 1.2,
71 parallel-io >= 0.3
72
73 default-language:
74 Haskell2010
75
76 main-is:
77 Main.hs
78
79 hs-source-dirs:
80 src/
81
82 other-modules:
83 CommandLine
84 DNS
85 ExitCodes
86 Paths_haeredes
87 Timeout
88
89 autogen-modules:
90 Paths_haeredes
91
92
93 test-suite doctests
94 type: exitcode-stdio-1.0
95 hs-source-dirs: test
96 default-language: Haskell2010
97 main-is: Doctests.hs
98 build-depends:
99 base >= 4.15 && < 5.0,
100 -- Additional test dependencies.
101 doctest >= 0.9,
102 filemanip >= 0.3.6
103
104
105 -- These won't work without shelltestrunner installed in your
106 -- $PATH. Maybe there is some way to tell Cabal that.
107 test-suite shelltests
108 type: exitcode-stdio-1.0
109 hs-source-dirs: test
110 default-language: Haskell2010
111 main-is: ShellTests.hs
112
113 build-depends:
114 base >= 4.15 && < 5.0,
115 process >= 1.1
116
117
118 source-repository head
119 type: git
120 location: https://gitweb.michael.orlitzky.com/haeredes.git
121 branch: master