+cabal-version: 3.0
name: haeredes
-version: 0.0
-cabal-version: >= 1.8
+version: 0.5.4
author: Michael Orlitzky
maintainer: Michael Orlitzky <michael@orlitzky.com>
-license: GPL-3
+license: AGPL-3.0-only
license-file: doc/LICENSE
-homepage: http://michael.orlitzky.com/code/haeredes.php
+homepage: http://michael.orlitzky.com/code/haeredes.xhtml
bug-reports: mailto:michael@orlitzky.com
category: DNS, Utils
build-type: Simple
extra-source-files:
doc/man1/haeredes.1
+ test/shell/*.test
synopsis:
Confirm delegation of NS and MX records.
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
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.
- .
+
+ Haeredes can alert administrators when NS/MX records are changed. More
+ detail and usage examples 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\"
- @
- .
- 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\"
+ $ echo \"example.com\" | haeredes a.iana-servers.net b.iana-servers.net
@
- .
+
Check orlitzky.com against only one of the expected two nameservers:
- .
+
@
- $ haeredes dns1.viabit.com <<< \"orlitzky.com\"
+ $ echo \"orlitzky.com\" | haeredes dns1.viabit.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):
- .
+ know .doesnt-exist will not be delegated):
+
@
- $ haeredes <<< \"example.invalid\"
- Domain \"example.invalid.\" not delegated.
+ $ echo \"foo.doesnt-exist\" | haeredes
+ Domain \"foo.doesnt-exist.\" not delegated.
@
executable haeredes
build-depends:
- base == 4.*,
- bytestring == 0.10.*,
- cmdargs == 0.10.*,
- dns >= 0.3.7,
- MissingH == 1.2.*,
- parallel-io == 0.3.*
+ base >= 4.15 && < 5.0,
+ bytestring >= 0.10,
+ cmdargs >= 0.10,
+ dns >= 1.4,
+ iproute >= 1.2,
+ parallel-io >= 0.3
+
+ default-language:
+ Haskell2010
main-is:
Main.hs
other-modules:
CommandLine
DNS
+ ExitCodes
+ Paths_haeredes
+ Timeout
+
+ autogen-modules:
+ Paths_haeredes
+
+
+test-suite doctests
+ type: exitcode-stdio-1.0
+ hs-source-dirs: test
+ default-language: Haskell2010
+ main-is: Doctests.hs
+ build-depends:
+ base >= 4.15 && < 5.0,
+ -- Additional test dependencies.
+ doctest >= 0.9,
+ filemanip >= 0.3.6
+
+
+-- These won't work without shelltestrunner installed in your
+-- $PATH. Maybe there is some way to tell Cabal that.
+test-suite shelltests
+ type: exitcode-stdio-1.0
+ hs-source-dirs: test
+ default-language: Haskell2010
+ main-is: ShellTests.hs
+
+ build-depends:
+ base >= 4.15 && < 5.0,
+ process >= 1.1
- 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
source-repository head
type: git
- location: http://michael.orlitzky.com/git/haeredes.git
+ location: http://gitweb.michael.orlitzky.com/haeredes.git
branch: master