From 116ef3e19053a66a783febc124b284cbead224ff Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 28 Nov 2021 20:20:42 -0500 Subject: [PATCH 01/14] makefile: disable three new spurious GHC warnings. --- makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/makefile b/makefile index 049fe55..c8842ed 100644 --- a/makefile +++ b/makefile @@ -10,6 +10,9 @@ HCFLAGS += -Weverything \ -Wno-safe \ -Wno-unsafe \ -Wno-all-missed-specialisations \ + -Wno-prepositive-qualified-module \ + -Wno-missing-safe-haskell-mode \ + -Wno-missing-deriving-strategies \ -rtsopts \ -threaded -- 2.43.2 From 923dc8a25febef6a0b708206055805a3be0cfb07 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Tue, 23 Aug 2022 19:23:57 -0400 Subject: [PATCH 02/14] makefile: whitespace tweak. --- makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/makefile b/makefile index c8842ed..e7feb2b 100644 --- a/makefile +++ b/makefile @@ -23,9 +23,9 @@ $(BIN): $(PN).cabal $(SRCS) runghc Setup.hs build --ghc-options="${HCFLAGS}" doc: $(PN).cabal $(SRCS) - runghc Setup.hs haddock --all \ - --hyperlink-source \ - --haddock-options="--ignore-all-exports" + runghc Setup.hs haddock --all \ + --hyperlink-source \ + --haddock-options="--ignore-all-exports" # -- 2.43.2 From ce6014e41a7740da4602e99402edbefc98eb9b21 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 28 Aug 2022 11:00:33 -0400 Subject: [PATCH 03/14] haeredes.cabal: require newer cabal and GHC-9.x. --- haeredes.cabal | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/haeredes.cabal b/haeredes.cabal index 630d023..38d7a9f 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -1,9 +1,9 @@ +cabal-version: 3.0 name: haeredes version: 0.5.2 -cabal-version: >= 1.8 author: Michael Orlitzky maintainer: Michael Orlitzky -license: AGPL-3 +license: AGPL-3.0-only license-file: doc/LICENSE homepage: http://michael.orlitzky.com/code/haeredes.xhtml bug-reports: mailto:michael@orlitzky.com @@ -18,13 +18,13 @@ 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 @@ -32,29 +32,29 @@ description: 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 and usage examples can be found in the man page. - . + /Examples/: - . + Make sure example.com has the expected name servers, [ab].iana-servers.net: - . + @ $ echo \"example.com\" | haeredes a.iana-servers.net b.iana-servers.net @ - . + Check orlitzky.com against only one of the expected two nameservers: - . + @ $ 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 .doesnt-exist will not be delegated): - . + @ $ echo \"foo.doesnt-exist\" | haeredes Domain \"foo.doesnt-exist.\" not delegated. @@ -62,13 +62,16 @@ description: executable haeredes build-depends: - base == 4.*, + 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 @@ -79,20 +82,20 @@ executable haeredes CommandLine DNS ExitCodes - -- WARNING: the Paths_haeredes module is automatically generated by - -- Cabal itself. We don't want it included in the release tarballs, - -- since we typically want the paths that the user has configured. - -- Nevertheless, Cabal will complain if we don't include it here. 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.*, + base >= 4.15 && < 5.0, -- Additional test dependencies. doctest >= 0.9, filemanip >= 0.3.6 @@ -103,10 +106,11 @@ test-suite doctests test-suite shelltests type: exitcode-stdio-1.0 hs-source-dirs: test + default-language: Haskell2010 main-is: ShellTests.hs build-depends: - base == 4.*, + base >= 4.15 && < 5.0, process >= 1.1 -- 2.43.2 From 9981baee4ec5336915ee3ca1340ed4fdf8cc1bc1 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 28 Aug 2022 11:01:17 -0400 Subject: [PATCH 04/14] test/Doctests.hs: remove code for older cabal versions. --- test/Doctests.hs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/test/Doctests.hs b/test/Doctests.hs index af7167d..ebbe586 100644 --- a/test/Doctests.hs +++ b/test/Doctests.hs @@ -10,8 +10,4 @@ find_sources = find always (extension ==? ".hs") "src/" main :: IO () main = do sources <- find_sources - doctest $ ["-isrc", - "-idist/build/autogen", -- old cabal versions - "-idist/build/haeredes/autogen" -- new cabal versions - ] - ++ sources + doctest $ ["-isrc", "-idist/build/haeredes/autogen" ] ++ sources -- 2.43.2 From eceb88c20a4cb117ba9ab07ba548fd2784f5fdd8 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 28 Aug 2022 11:04:42 -0400 Subject: [PATCH 05/14] haeredes.cabal: update to v0.5.3. --- haeredes.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haeredes.cabal b/haeredes.cabal index 38d7a9f..3b01fc8 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: haeredes -version: 0.5.2 +version: 0.5.3 author: Michael Orlitzky maintainer: Michael Orlitzky license: AGPL-3.0-only -- 2.43.2 From 4f20660578700d583d03771661cf8bf56784e23b Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 20 Apr 2024 20:28:03 -0400 Subject: [PATCH 06/14] makefile: disable -Wmissing-kind-signatures Because you need to enable more GHC extensions to fix it. --- makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/makefile b/makefile index e7feb2b..903abc3 100644 --- a/makefile +++ b/makefile @@ -13,6 +13,7 @@ HCFLAGS += -Weverything \ -Wno-prepositive-qualified-module \ -Wno-missing-safe-haskell-mode \ -Wno-missing-deriving-strategies \ + -Wno-missing-kind-signatures \ -rtsopts \ -threaded -- 2.43.2 From c79619df86dc7117f61fa15304a795257d188ef9 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 20 Apr 2024 20:28:45 -0400 Subject: [PATCH 07/14] src/DNS.hs: update 'A' record for example.com --- src/DNS.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DNS.hs b/src/DNS.hs index aa46f4b..a6ba446 100644 --- a/src/DNS.hs +++ b/src/DNS.hs @@ -30,7 +30,7 @@ type LookupResult = (Domain, Either DNSError [Domain]) -- Examples: -- -- >>> resolve_address "example.com" --- Right [93.184.216.34] +-- Right [93.184.215.14] -- >>> resolve_address "93.184.216.34" -- Right [93.184.216.34] -- -- 2.43.2 From 8f9340cff93de7bc1e5931915448e3abeaa1fcc4 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 20 Apr 2024 20:30:03 -0400 Subject: [PATCH 08/14] haeredes.cabal: bump version to 0.5.4 --- haeredes.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haeredes.cabal b/haeredes.cabal index 3b01fc8..29c5703 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: haeredes -version: 0.5.3 +version: 0.5.4 author: Michael Orlitzky maintainer: Michael Orlitzky license: AGPL-3.0-only -- 2.43.2 From cd66d3d26d726dd8e3cf720cbacf765bbbe54a27 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 20 Apr 2024 22:36:52 -0400 Subject: [PATCH 09/14] haeredes.cabal: http -> https --- haeredes.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/haeredes.cabal b/haeredes.cabal index 29c5703..e57ee71 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -5,7 +5,7 @@ author: Michael Orlitzky maintainer: Michael Orlitzky license: AGPL-3.0-only license-file: doc/LICENSE -homepage: http://michael.orlitzky.com/code/haeredes.xhtml +homepage: https://michael.orlitzky.com/code/haeredes.xhtml bug-reports: mailto:michael@orlitzky.com category: DNS, Utils build-type: Simple @@ -116,5 +116,5 @@ test-suite shelltests source-repository head type: git - location: http://gitweb.michael.orlitzky.com/haeredes.git + location: https://gitweb.michael.orlitzky.com/haeredes.git branch: master -- 2.43.2 From 55614972483dfd0101981e55db57f71c51189609 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Tue, 23 Apr 2024 21:25:02 -0400 Subject: [PATCH 10/14] doc/COPYING,haeredes.cabal: switch to AGPL-3.0-or-later, including COPYING --- doc/COPYING | 15 +++++++++++++++ haeredes.cabal | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 doc/COPYING diff --git a/doc/COPYING b/doc/COPYING new file mode 100644 index 0000000..b978be6 --- /dev/null +++ b/doc/COPYING @@ -0,0 +1,15 @@ +Haeredes: confirm delegation of NS and MX records +Copyright (C) 2024 Michael Orlitzky + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . diff --git a/haeredes.cabal b/haeredes.cabal index e57ee71..42f4524 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -3,13 +3,14 @@ name: haeredes version: 0.5.4 author: Michael Orlitzky maintainer: Michael Orlitzky -license: AGPL-3.0-only +license: AGPL-3.0-or-later license-file: doc/LICENSE homepage: https://michael.orlitzky.com/code/haeredes.xhtml bug-reports: mailto:michael@orlitzky.com category: DNS, Utils build-type: Simple extra-source-files: + doc/COPYING doc/man1/haeredes.1 test/shell/*.test synopsis: -- 2.43.2 From e7de80921ccf18fc45671af048167e8027fe6a7b Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 25 Apr 2024 17:48:08 -0400 Subject: [PATCH 11/14] haeredes.cabal: use spaces to indent the "maintainer" field --- haeredes.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haeredes.cabal b/haeredes.cabal index 42f4524..28ac381 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -2,7 +2,7 @@ cabal-version: 3.0 name: haeredes version: 0.5.4 author: Michael Orlitzky -maintainer: Michael Orlitzky +maintainer: Michael Orlitzky license: AGPL-3.0-or-later license-file: doc/LICENSE homepage: https://michael.orlitzky.com/code/haeredes.xhtml -- 2.43.2 From acca6856e42c1208c917fa46ef44406d264bdaf9 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 25 Apr 2024 17:49:57 -0400 Subject: [PATCH 12/14] doc/COPYING: lowercase haeredes --- doc/COPYING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/COPYING b/doc/COPYING index b978be6..568d6a2 100644 --- a/doc/COPYING +++ b/doc/COPYING @@ -1,4 +1,4 @@ -Haeredes: confirm delegation of NS and MX records +haeredes: confirm delegation of NS and MX records Copyright (C) 2024 Michael Orlitzky This program is free software: you can redistribute it and/or modify -- 2.43.2 From c4f6ba05a70d15c83f848c44775ba0fa4e765094 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 25 Apr 2024 17:58:06 -0400 Subject: [PATCH 13/14] haeredes.cabal: further trim the description --- haeredes.cabal | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/haeredes.cabal b/haeredes.cabal index 28ac381..57d4cf1 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -37,29 +37,6 @@ description: 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: - - @ - $ echo \"example.com\" | haeredes a.iana-servers.net b.iana-servers.net - @ - - Check orlitzky.com against only one of the expected two nameservers: - - @ - $ 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 .doesnt-exist will not be delegated): - - @ - $ echo \"foo.doesnt-exist\" | haeredes - Domain \"foo.doesnt-exist.\" not delegated. - @ executable haeredes build-depends: -- 2.43.2 From 456e115b59587a63c4d147a056476a34d890b2e0 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 25 Apr 2024 17:59:31 -0400 Subject: [PATCH 14/14] haeredes.cabal: no period in synopsis --- haeredes.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haeredes.cabal b/haeredes.cabal index 57d4cf1..e108e22 100644 --- a/haeredes.cabal +++ b/haeredes.cabal @@ -14,7 +14,7 @@ extra-source-files: doc/man1/haeredes.1 test/shell/*.test synopsis: - Confirm delegation of NS and MX records. + 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 -- 2.43.2