X-Git-Url: http://gitweb.michael.orlitzky.com/?p=haeredes.git;a=blobdiff_plain;f=haeredes.cabal;h=c6fce5a9b128bbb07cafa91f10ba9fdd5d99dac9;hp=2463a59d73d5f102af37d5baa392b1ac694dbff4;hb=e862342c38e41176a7ab300b6d7ed03cf0ffd6b2;hpb=228abb512bcd019b98d2b3fd7b7283f5ef14d1bc diff --git a/haeredes.cabal b/haeredes.cabal index 2463a59..c6fce5a 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -1,5 +1,5 @@ name: haeredes -version: 0.0 +version: 0.4.1 cabal-version: >= 1.8 author: Michael Orlitzky maintainer: Michael Orlitzky @@ -8,16 +8,83 @@ license-file: doc/LICENSE homepage: http://michael.orlitzky.com/code/haeredes.php bug-reports: mailto:michael@orlitzky.com category: DNS, Utils +build-type: Simple +extra-source-files: + doc/man1/haeredes.1 synopsis: Confirm delegation of NS and MX records. -build-type: Simple +description: + Haeredes is primarily useful for ISP network administrators. + Customers will occasionally decide to switch hosts without alerting + the current host; this can cause two problems: + . + * With NS records, the previous host (at the very least) keeps + hosting a DNS zone that does nothing. If that host uses their + authoritative nameserver as a caching lookup server as well, it + may return incorrect results to queries about the domain in + question. + . + * For MX records, the situation is slightly worse. Most mail servers + will immediately accept mail for which the server thinks it is the + ultimate destination. If a mail server is configured as the + destination for a domain, but it is not the MX for that domain, + then mail submitted to that server may possibly be lost. It is + therefore important to remove domains from the old mail host as + soon as the MX record is changed. + . + Haeredes can alert administrators when NS/MX records are changed. More + detail can be found in the man page. + . + /Examples/: + . + Make sure example.com has the expected name servers, + [ab].iana-servers.net: + . + @ + $ haeredes a.iana-servers.net b.iana-servers.net <<< \"example.com\" + @ + . + If you use --no-append-root and your nameservers are rooted, you + must remember to supply the trailing dot yourself. Otherwise, you'll + get false positives. + . + @ + $ haeredes --no-append-root \ + a.iana-servers.net b.iana-servers.net \ + <<< \"example.com\" + Domain \"example.com\" delegates somewhere else: \"b.iana-servers.net.\" \"a.iana-servers.net.\" + @ + . + Check orlitzky.com against the expected name servers, using + d.gtld-servers.net: + . + @ + $ haeredes --server 199.7.91.13 dns1.viabit.com dns2.viabit.com \ + <<< \"orlitzky.com\" + @ + . + Check orlitzky.com against only one of the expected two nameservers: + . + @ + $ haeredes dns1.viabit.com <<< \"orlitzky.com\" + Domain \"orlitzky.com.\" delegates somewhere else: \"dns2.viabit.com.\" + @ + . + Check a nonexistent domain (we provide no delegates, since we + know .invalid will not be delegated): + . + @ + $ haeredes <<< \"example.invalid\" + Domain \"example.invalid.\" not delegated. + @ executable haeredes build-depends: base == 4.*, bytestring == 0.10.*, cmdargs == 0.10.*, - dns >= 0.3.7, + dns >= 1.4, + iproute == 1.2.*, MissingH == 1.2.*, parallel-io == 0.3.* @@ -27,6 +94,40 @@ executable haeredes hs-source-dirs: src/ + other-modules: + CommandLine + DNS + ExitCodes + Timeout + + ghc-options: + -Wall + -fwarn-hi-shadowing + -fwarn-missing-signatures + -fwarn-name-shadowing + -fwarn-orphans + -fwarn-type-defaults + -fwarn-tabs + -fwarn-incomplete-record-updates + -fwarn-monomorphism-restriction + -fwarn-unused-do-bind + -rtsopts + -threaded + -optc-O3 + -optc-march=native + + +test-suite doctests + type: exitcode-stdio-1.0 + hs-source-dirs: test + main-is: Doctests.hs + build-depends: + base == 4.*, + -- Additional test dependencies. + doctest == 0.9.*, + filemanip == 0.3.6.* + + -- It's not entirely clear to me why I have to reproduce all of this. ghc-options: -Wall -fwarn-hi-shadowing