From 0a4025cffbf2cdb921e653ac11b2f62746f28513 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 28 Aug 2022 11:06:23 -0400 Subject: [PATCH 1/9] hath.cabal: add a bug-reports field. --- hath.cabal | 1 + 1 file changed, 1 insertion(+) diff --git a/hath.cabal b/hath.cabal index 4d7abd8..07755e0 100644 --- a/hath.cabal +++ b/hath.cabal @@ -4,6 +4,7 @@ version: 0.5.7 author: Michael Orlitzky maintainer: Michael Orlitzky homepage: http://michael.orlitzky.com/code/hath.xhtml +bug-reports: mailto:michael@orlitzky.com category: Utils license: AGPL-3.0-only license-file: doc/LICENSE -- 2.43.2 From 7c02304f2322f78bab80340b265f23571f4c9fcd Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 20 Apr 2024 22:38:20 -0400 Subject: [PATCH 2/9] hath.cabal: http -> https --- hath.cabal | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hath.cabal b/hath.cabal index 07755e0..4a01c2d 100644 --- a/hath.cabal +++ b/hath.cabal @@ -2,8 +2,8 @@ cabal-version: 3.0 name: hath version: 0.5.7 author: Michael Orlitzky -maintainer: Michael Orlitzky -homepage: http://michael.orlitzky.com/code/hath.xhtml +maintainer: Michael Orlitzky +homepage: https://michael.orlitzky.com/code/hath.xhtml bug-reports: mailto:michael@orlitzky.com category: Utils license: AGPL-3.0-only @@ -157,5 +157,5 @@ test-suite shelltests source-repository head type: git - location: http://gitweb.michael.orlitzky.com/hath.git + location: https://gitweb.michael.orlitzky.com/hath.git branch: master -- 2.43.2 From bf7513766e4285d403a8db4c44c54422e12916a0 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 20 Apr 2024 22:39:16 -0400 Subject: [PATCH 3/9] makefile: disable -Wmissing-kind-signatures warnings You need a GHC extension to fix them. --- makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/makefile b/makefile index ac1b798..d1e16e4 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 feff8474098037df0f6573ad6ebe5a95093fea95 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 20 Apr 2024 22:49:48 -0400 Subject: [PATCH 4/9] src/IPv4Address.hs: fix -Woperator-whitespace warnings --- src/IPv4Address.hs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/IPv4Address.hs b/src/IPv4Address.hs index 38aec8d..f9fd8c2 100644 --- a/src/IPv4Address.hs +++ b/src/IPv4Address.hs @@ -205,13 +205,13 @@ instance Enum IPv4Address where -- Chop off the higher octets. x1 = x `mod` 2^32, would be -- redundant. - x2 = x `mod` 2^(24 :: Integer) - x3 = x `mod` 2^(16 :: Integer) - x4 = (fromIntegral $ x `mod` 2^(8 :: Integer)) :: Int + x2 = x `mod` (2 ^ (24 :: Integer)) + x3 = x `mod` (2 ^ (16 :: Integer)) + x4 = (fromIntegral $ x `mod` (2 ^ (8 :: Integer))) :: Int -- Perform right-shifts. x4 doesn't need a shift. - shifted_x1 = (fromIntegral $ x `quot` 2^(24 :: Integer)) :: Int - shifted_x2 = (fromIntegral $ x2 `quot` 2^(16 :: Integer)) :: Int - shifted_x3 = fromIntegral $ x3 `quot` 2^(8 :: Integer) :: Int + shifted_x1 = (fromIntegral $ x `quot` (2 ^ (24 :: Integer))) :: Int + shifted_x2 = (fromIntegral $ x2 `quot` (2 ^ (16 :: Integer))) :: Int + shifted_x3 = (fromIntegral $ x3 `quot` (2 ^ (8 :: Integer))) :: Int oct1 = toEnum shifted_x1 :: Octet oct2 = toEnum shifted_x2 :: Octet oct3 = toEnum shifted_x3 :: Octet @@ -226,9 +226,9 @@ instance Enum IPv4Address where oct2 = fromEnum (octet2 addr) oct3 = fromEnum (octet3 addr) oct4 = fromEnum (octet4 addr) - shifted_oct1 = oct1 * 2^(24 :: Integer) - shifted_oct2 = oct2 * 2^(16 :: Integer) - shifted_oct3 = oct3 * 2^(8 :: Integer) + shifted_oct1 = oct1 * (2 ^ (24 :: Integer)) + shifted_oct2 = oct2 * (2 ^ (16 :: Integer)) + shifted_oct3 = oct3 * (2 ^ (8 :: Integer)) -- | Given two addresses, find the number of the most significant bit -- where they differ. If the addresses are the same, return @@ -386,7 +386,7 @@ prop_from_enum_to_enum_inverses_x64 = where prop :: (Small Int64) -> Property prop x = - 0 <= x && x <= 2^(32 :: Integer) - 1 ==> + 0 <= x && x <= (2 ^ (32 :: Integer)) - 1 ==> fromIntegral (fromEnum (toEnum (fromIntegral x) :: IPv4Address)) == x -- According to the QuickCheck documentation, we need the "Large" -- 2.43.2 From 2c15b93fff33b907d567ba14c380831c4d81b054 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 20 Apr 2024 22:51:31 -0400 Subject: [PATCH 5/9] hath.cabal: bump the version to 0.5.8 --- hath.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hath.cabal b/hath.cabal index 4a01c2d..7ffd9e3 100644 --- a/hath.cabal +++ b/hath.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: hath -version: 0.5.7 +version: 0.5.8 author: Michael Orlitzky maintainer: Michael Orlitzky homepage: https://michael.orlitzky.com/code/hath.xhtml -- 2.43.2 From 76b192019516e1d570c604d623c9812d0f1cdd41 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Tue, 23 Apr 2024 21:23:21 -0400 Subject: [PATCH 6/9] doc/COPYING,hath.cabal: switch to AGPL-3.0-or-later, including COPYING --- doc/COPYING | 15 +++++++++++++++ hath.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..d70aa92 --- /dev/null +++ b/doc/COPYING @@ -0,0 +1,15 @@ +Hath: manipulate network blocks in CIDR notation +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/hath.cabal b/hath.cabal index 7ffd9e3..0123dd3 100644 --- a/hath.cabal +++ b/hath.cabal @@ -6,10 +6,11 @@ maintainer: Michael Orlitzky homepage: https://michael.orlitzky.com/code/hath.xhtml bug-reports: mailto:michael@orlitzky.com category: Utils -license: AGPL-3.0-only +license: AGPL-3.0-or-later license-file: doc/LICENSE build-type: Simple extra-source-files: + doc/COPYING doc/man1/hath.1 test/shell/*.test synopsis: -- 2.43.2 From c6f0e6da344a0a376c10b102b39dcb62dc894194 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 25 Apr 2024 17:50:16 -0400 Subject: [PATCH 7/9] doc/COPYING: lowercase hath --- doc/COPYING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/COPYING b/doc/COPYING index d70aa92..4eebc89 100644 --- a/doc/COPYING +++ b/doc/COPYING @@ -1,4 +1,4 @@ -Hath: manipulate network blocks in CIDR notation +hath: manipulate network blocks in CIDR notation Copyright (C) 2024 Michael Orlitzky This program is free software: you can redistribute it and/or modify -- 2.43.2 From d74da05559c9a936a9a21185fd3f768a7ceb90ef Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 25 Apr 2024 17:58:43 -0400 Subject: [PATCH 8/9] hath.cabal: further trim the description --- hath.cabal | 58 ++---------------------------------------------------- 1 file changed, 2 insertions(+), 56 deletions(-) diff --git a/hath.cabal b/hath.cabal index 0123dd3..5452238 100644 --- a/hath.cabal +++ b/hath.cabal @@ -30,62 +30,8 @@ description: * List them. - Hath has several modes to perform these functions: - - * __Regexed__ - This computes a (Perl-compatible) regular expression matching - the input CIDR blocks. It's the default mode of operation. - - * __Reduced__ - This combines small blocks into larger ones where possible, and - eliminates redundant blocks. The output should be equivalent to - the input, though. - - * __Duped__ - Shows only the blocks that would be removed by reduce; that is, it - shows the ones that would get combined into larger blocks or are - simply redundant. - - * __Diffed__ - Shows what would change if you used reduce. Uses diff-like - notation. - - * __Listed__ - List the IP addresses contained within the given CIDRs. - - /Examples/: - - Compute a (Perl-compatible) regular expression matching - the input CIDR blocks. It's the default mode of operation. - - @ - $ echo \"10.0.0.0\/29 10.0.0.8\/29\" | hath - ((10)\.(0)\.(0)\.(15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0)) - @ - - Combine two \/24s into a \/23: - - @ - $ echo \"10.0.0.0\/24 10.0.1.0\/24\" | hath reduced - 10.0.0.0/23 - @ - - List the addresses in 192.168.0.240\/29: - - @ - $ echo 192.168.0.240\/29 | hath listed - 192.168.0.240 - 192.168.0.241 - 192.168.0.242 - 192.168.0.243 - 192.168.0.244 - 192.168.0.245 - 192.168.0.246 - 192.168.0.247 - @ - - The command-line syntax and complete set of options are documented in - the man page. + Hath has several modes to perform these functions. The command-line + syntax and complete set of options are documented in the man page. executable hath -- 2.43.2 From b452a5f7e4cbbc187df182ad0c9740487691fe15 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 25 Apr 2024 17:59:03 -0400 Subject: [PATCH 9/9] hath.cabal: drop a word and a period from the synopsis --- hath.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hath.cabal b/hath.cabal index 5452238..7931597 100644 --- a/hath.cabal +++ b/hath.cabal @@ -14,7 +14,7 @@ extra-source-files: doc/man1/hath.1 test/shell/*.test synopsis: - Hath manipulates network blocks in CIDR notation. + Manipulates network blocks in CIDR notation description: Hath is a Haskell program for working with network blocks in CIDR notation. When dealing with blocks of network addresses, there are a -- 2.43.2