]>
gitweb.michael.orlitzky.com - hath.git/log
Michael Orlitzky [Fri, 5 Nov 2010 19:27:41 +0000 (15:27 -0400)]
Make combine_all operate recursively.
Create a new test to test the recursive combine_all.
Add a custom (==) implementation for Cidrs.
Fix an incorrect test.
Michael Orlitzky [Thu, 2 Sep 2010 16:57:09 +0000 (12:57 -0400)]
Fix four compiler warnings.
Michael Orlitzky [Sat, 28 Aug 2010 06:08:40 +0000 (02:08 -0400)]
Don't use min_address or min_octet in the apply_mask functions. Now that apply_mask accepts a mask bit, we no longer necessarily want the minimum.
Michael Orlitzky [Sat, 28 Aug 2010 06:07:59 +0000 (02:07 -0400)]
Fixed one of the new tests (min/max).
Michael Orlitzky [Sat, 28 Aug 2010 05:39:37 +0000 (01:39 -0400)]
Added two new tests exposing an existing bug.
Michael Orlitzky [Sat, 28 Aug 2010 04:45:56 +0000 (00:45 -0400)]
Added LICENSE and README files.
Michael Orlitzky [Wed, 28 Jul 2010 18:07:36 +0000 (14:07 -0400)]
Fixed the maskbits parsing for invalid CIDRs.
Michael Orlitzky [Sun, 23 May 2010 16:53:11 +0000 (12:53 -0400)]
Update Cidr for the new definition of apply_mask.
Replace min/max_host with one-liners thanks to the new apply_mask.
Michael Orlitzky [Sun, 23 May 2010 16:52:41 +0000 (12:52 -0400)]
Update IPv4Address for the new definition of apply_mask.
Michael Orlitzky [Sun, 23 May 2010 16:52:20 +0000 (12:52 -0400)]
Update Octet for the new definition of apply_mask.
Michael Orlitzky [Sun, 23 May 2010 16:51:26 +0000 (12:51 -0400)]
Allow apply_mask to take a Bit argument that will be used to replace the host bits.
Michael Orlitzky [Sun, 23 May 2010 16:25:15 +0000 (12:25 -0400)]
Use min_address to simplify some of the min_host cases.
Michael Orlitzky [Sun, 23 May 2010 16:24:33 +0000 (12:24 -0400)]
Export the two new min/max functions.
Michael Orlitzky [Sun, 23 May 2010 16:20:39 +0000 (12:20 -0400)]
Added min/max_address for IPv4Address.
Michael Orlitzky [Sat, 22 May 2010 17:35:37 +0000 (13:35 -0400)]
Changed the long name of "dupe" from "duplicated" to "duped."
Michael Orlitzky [Sat, 22 May 2010 17:34:49 +0000 (13:34 -0400)]
Added the "diff" mode of operation.
Michael Orlitzky [Thu, 20 May 2010 21:21:17 +0000 (17:21 -0400)]
Started updating the max_host function to use record syntax.
Michael Orlitzky [Thu, 20 May 2010 21:13:43 +0000 (17:13 -0400)]
Renamed the min/max_address functions to min/max_host respectively.
Michael Orlitzky [Thu, 20 May 2010 21:10:59 +0000 (17:10 -0400)]
Moved the min/max address/octetN functions out of IPv4Address and in to Cidr.
Michael Orlitzky [Thu, 20 May 2010 20:17:25 +0000 (16:17 -0400)]
Added the 'Dupe' mode of operation.
Michael Orlitzky [Thu, 20 May 2010 20:03:26 +0000 (16:03 -0400)]
Update the min_address function to use record syntax.
Michael Orlitzky [Thu, 20 May 2010 19:43:34 +0000 (15:43 -0400)]
Moved the maskable instance definitions within their corresponding modules.
Michael Orlitzky [Thu, 20 May 2010 05:13:25 +0000 (01:13 -0400)]
Added two tests for combine_all.
Michael Orlitzky [Thu, 20 May 2010 05:02:42 +0000 (01:02 -0400)]
Updated the combine_contains unit tests to actually call combine_contains.
Changed the test case for the second combine_contains test; the existing one should have failed.
Michael Orlitzky [Fri, 14 May 2010 05:59:06 +0000 (01:59 -0400)]
Added the prop_contains_proper_intransitive QuickCheck property, and fixed the definition of contains_proper when it found a bug.
Michael Orlitzky [Fri, 14 May 2010 05:29:25 +0000 (01:29 -0400)]
Added the QuickCheck tests to the test suite.
Michael Orlitzky [Fri, 14 May 2010 05:20:55 +0000 (01:20 -0400)]
Added a QuickCheck property verifying that all Cidrs contain themselves.
Michael Orlitzky [Fri, 14 May 2010 05:16:34 +0000 (01:16 -0400)]
Added Arbitrary instance definitions for the main data types.
Michael Orlitzky [Fri, 14 May 2010 04:22:12 +0000 (00:22 -0400)]
Added two tests for combine_contained.
Michael Orlitzky [Fri, 14 May 2010 04:17:31 +0000 (00:17 -0400)]
Added some adjacency tests.
Michael Orlitzky [Fri, 14 May 2010 04:10:48 +0000 (00:10 -0400)]
Added some new Cidr tests.
Fixed the argument order in the existing Cidr tests.
Michael Orlitzky [Mon, 10 May 2010 00:48:13 +0000 (20:48 -0400)]
Added type signatures for all of the tests.
Michael Orlitzky [Mon, 10 May 2010 00:47:47 +0000 (20:47 -0400)]
Add some additional GHC warnings to the makefile.
Michael Orlitzky [Sun, 9 May 2010 19:53:05 +0000 (15:53 -0400)]
Added a "test" directory containing the test suite of HUnit tests.
Michael Orlitzky [Sun, 9 May 2010 19:52:54 +0000 (15:52 -0400)]
Added a "test" makefile target.
Michael Orlitzky [Sun, 9 May 2010 19:38:53 +0000 (15:38 -0400)]
Added HUnit tests to Octet.
Michael Orlitzky [Sun, 9 May 2010 19:36:00 +0000 (15:36 -0400)]
Added HUnit tests for the Maskable instances.
Michael Orlitzky [Sun, 9 May 2010 19:34:33 +0000 (15:34 -0400)]
Fixed the value of (octet_from_int 128).
Michael Orlitzky [Sun, 9 May 2010 19:27:41 +0000 (15:27 -0400)]
Switched the expected/actual order of assertions in IPv4Address.
Michael Orlitzky [Sun, 9 May 2010 19:23:16 +0000 (15:23 -0400)]
Add an HUnit test for Cidr.
Michael Orlitzky [Sun, 9 May 2010 19:22:48 +0000 (15:22 -0400)]
Add two HUnit tests for IPv4Address.
Michael Orlitzky [Sun, 9 May 2010 18:11:36 +0000 (14:11 -0400)]
Fixed the IPv4Address apply_mask function; the bit order was backwards.
Michael Orlitzky [Sun, 9 May 2010 17:49:56 +0000 (13:49 -0400)]
Added the functions to combine and remove adjacent Cidrs.
Updated combine_all to perform both types (contained, adjacent) of combination.
Michael Orlitzky [Sun, 9 May 2010 17:40:46 +0000 (13:40 -0400)]
Added the decrement function for Maskbits.
Michael Orlitzky [Sun, 9 May 2010 17:03:54 +0000 (13:03 -0400)]
Added the adjacent function to Cidr.
Michael Orlitzky [Sun, 9 May 2010 17:01:32 +0000 (13:01 -0400)]
Added the most_sig_bit_different function to IPv4Address.
Michael Orlitzky [Sat, 8 May 2010 17:04:06 +0000 (13:04 -0400)]
Define a show instance for Maskbits.
Michael Orlitzky [Sat, 8 May 2010 16:58:51 +0000 (12:58 -0400)]
Define a show instance for Cidr.
Michael Orlitzky [Sat, 8 May 2010 16:57:14 +0000 (12:57 -0400)]
Defined a show instance for IPv4Address.
Michael Orlitzky [Sat, 8 May 2010 16:50:49 +0000 (12:50 -0400)]
Defined a show instance for Octet.
Michael Orlitzky [Sat, 8 May 2010 16:48:29 +0000 (12:48 -0400)]
Define a show instance for Bit.
Michael Orlitzky [Sat, 8 May 2010 16:46:45 +0000 (12:46 -0400)]
Updated the Reduce action to call combine_all on the Cidr list.
Michael Orlitzky [Sat, 8 May 2010 16:45:46 +0000 (12:45 -0400)]
Implemented the combine_all function for Cidrs containing one another.
Removed the 'contains' export from the Cidr module.
Added a 'contains_proper' convenience function.
Michael Orlitzky [Sat, 8 May 2010 15:51:01 +0000 (11:51 -0400)]
Fixed the Octet to/from Int functions.
Michael Orlitzky [Sat, 8 May 2010 15:30:03 +0000 (11:30 -0400)]
Updated the IPv4Address module to use the new Maskbits values.
Michael Orlitzky [Sat, 8 May 2010 15:29:24 +0000 (11:29 -0400)]
Updated the Maskable functions to use the new Maskbits values.
Michael Orlitzky [Sat, 8 May 2010 15:26:18 +0000 (11:26 -0400)]
Enumerated all possible values (Zero through ThirtyTwo) for Maskbits.
Updated the Cidr module to use the new Maskbits values.
Michael Orlitzky [Thu, 6 May 2010 01:42:47 +0000 (21:42 -0400)]
Added a new Maskable typeclass with instances Octet and IPv4Address.
Export octet[1-4] from IPv4Address.
Implemented a new 'contains' function for Cidrs using the Maskable class' apply_mask function.
Michael Orlitzky [Sun, 2 May 2010 21:08:23 +0000 (17:08 -0400)]
Don't validate the CIDR strings; rather, check whether the type of the returned Cidrs is Cidr.None.
Michael Orlitzky [Sun, 2 May 2010 21:06:31 +0000 (17:06 -0400)]
Removed the Text.Regex.Posix import.
Removed the is_valid_cidr function.
Send each octet/maskbit string to the appropriate module for parsing.
Return Cidr.None if either the octets or maskbits are invalid.
Michael Orlitzky [Sun, 2 May 2010 21:05:46 +0000 (17:05 -0400)]
Replace the Maskbits type alias with the real thing.
Michael Orlitzky [Sun, 2 May 2010 21:05:15 +0000 (17:05 -0400)]
Added the octet_from_string function.
Michael Orlitzky [Sun, 2 May 2010 21:04:37 +0000 (17:04 -0400)]
Added the Maskbits module and type.
Michael Orlitzky [Sun, 2 May 2010 19:23:48 +0000 (15:23 -0400)]
Added a None constructor for Cidr.
Return Cidr.None when we are passed an invalid IPv4Address.
Michael Orlitzky [Sun, 2 May 2010 19:22:28 +0000 (15:22 -0400)]
Add a None constructor for IPv4Address.
Hide the constructor for IPv4Address.
Created an ipv4address_from_octets function which mimics the constructor but will return IPv4Address.None in response to being passed Octet.Nones.
Michael Orlitzky [Sun, 2 May 2010 19:19:00 +0000 (15:19 -0400)]
Add a None constructor for Octets.
Return Octet.None when an octet is created from an invalid Int.
Michael Orlitzky [Sun, 2 May 2010 19:18:25 +0000 (15:18 -0400)]
Add a None constructor for Bits.
Michael Orlitzky [Sun, 2 May 2010 19:05:55 +0000 (15:05 -0400)]
Remove the ipv4address_from_string function.
Michael Orlitzky [Sun, 2 May 2010 18:39:08 +0000 (14:39 -0400)]
Update Main and Cidr to use the new modules instead of converting to/from bit strings.
Michael Orlitzky [Sun, 2 May 2010 18:01:12 +0000 (14:01 -0400)]
Move the is_valid_cidr function in to the Cidr module.
Michael Orlitzky [Sun, 2 May 2010 17:53:40 +0000 (13:53 -0400)]
Added three new modules which are currently independent of the rest of the code: Bit, Octet, and IPv4Address.
Michael Orlitzky [Sat, 1 May 2010 07:53:19 +0000 (03:53 -0400)]
Allow "regexed" and "reduced" for the mode.
Add valid modes to the usage string.
Michael Orlitzky [Fri, 30 Apr 2010 22:56:00 +0000 (18:56 -0400)]
Add mode parsing to the CommandLine module.
Separate the parse_errors, parse_options, and parse_mode functions.
Add a second mode of operation, Reduce (currently echoes its input).
Michael Orlitzky [Thu, 29 Apr 2010 02:20:56 +0000 (22:20 -0400)]
Add a CommandLine module for parsing command-line options.
Update the Main module to use the new CommandLine module.
Implement an input file option (to override stdin).
Michael Orlitzky [Thu, 22 Apr 2010 00:48:59 +0000 (20:48 -0400)]
Moved most of the CIDR code out of Main and in to a new Cidr module.
Created a Cidr data type to handle four-tuples of octets.
Modified all of the function signatures to use the new Cidr data type.
Michael Orlitzky [Fri, 2 Apr 2010 04:46:33 +0000 (00:46 -0400)]
Unqualify the Numeric import, and specify the functions that we need.
Michael Orlitzky [Fri, 2 Apr 2010 04:45:13 +0000 (00:45 -0400)]
Unqualify the Data.List import, and specify the functions that we need.
Michael Orlitzky [Fri, 2 Apr 2010 04:43:27 +0000 (00:43 -0400)]
Unqualify the Data.Char import, and specify the functions that we need.
Michael Orlitzky [Fri, 2 Apr 2010 04:40:39 +0000 (00:40 -0400)]
Rename hath.hs to Main.hs.
Michael Orlitzky [Fri, 2 Apr 2010 04:37:10 +0000 (00:37 -0400)]
Separate a few functions out in to a ListUtils module.
Michael Orlitzky [Thu, 1 Apr 2010 05:29:26 +0000 (01:29 -0400)]
Take a newline-separated list of CIDRs as input, and output a regex that will match any of them.
Michael Orlitzky [Thu, 1 Apr 2010 00:39:32 +0000 (20:39 -0400)]
Commented each function.
Added address barriers on the result of cidr_to_regex.
Michael Orlitzky [Wed, 31 Mar 2010 06:02:50 +0000 (02:02 -0400)]
Added the bin directory and its .gitignore file.
Michael Orlitzky [Wed, 31 Mar 2010 06:01:31 +0000 (02:01 -0400)]
Initial commit; the first thing that would compile and produce sane output.