- Bug: Ports could be specified as text and not fail
- Feature: Add Systemd for Xenial
- Bug: Support for an array of protocols (@elmobp)
- Bug: Support Ruby 2.0+ (@elmobp)
- Feature: Protocol validation using /etc/protocols, by adding this support in the validation ensures many other parts of the software performed correctly (@elmobp)
- Feature: Protocol validation whitelist (@elmobp)
- Bug: The I forgot to push to github release, just a version bump (@johnf)
- Feature: Add
ript rules flushcommand to flush all rules (@johnf)
- Bug: Write the output of
ript diffto a file and execute that, so sh doesn't choke on huge insertions #8
- Bug: DNAT rules from one port to another were adding a filter rule for the source instead of destination port (@johnf)
- Bug: Default the protocol for filter rules to TCP, so filter rules are generated correctly (@auxesis)
- Bug: Fix a regression where we don't generate rules without an explicit from. (@auxesis)
- Bug: Generate the iptables clean commands in Ruby, to eliminate bogus clean command generation (@auxesis)
- Chore: Refactor test internals to re-use common iptables cleaning routines (@auxesis)
- Feature: Allow multiple froms to be specified in a DNAT rewrite (@auxesis)
- Feature: Provide a default label named "all", that represents the IPv4 zero-address 0.0.0.0/0 (@auxesis)
- Bug: Ensure the list of chains to clean up is unique, so we don't delete the same chains multiple times (@auxesis)
- Feature: Show a custom message if exceptions appear to be generated by Ript (@auxesis)
- Feature: Add support for specifying protocols in rewrites (@auxesis)
- Chore: Move example rules to examples/. Point tests at the new directory (@auxesis)
- Feature: Make init script executable (@johnf)
- Feature: add "rules save", outputs rules in a format suitable for iptables-restore (@johnf)
- Feature: Add an init script to dist/ that performs iptables-restore at boot (@johnf)
- Feature: rename "customer" to "partition", to make terminology more friendly for use on standalone hosts (thanks @jessereynolds)
- Bug: Fix clean subcommand so it ignores important chains (before-a, etc) (@johnf)
- Bug: Use the destination address in the FORWARD chain when building the implicit accept on DNAT, so traffic actually gets accepted (@auxesis)
- Bug: Emit --protocol when generating ACCEPT rules, so the --dport argument works (@auxesis)
- Feature: Automatically create ACCEPT rules on the FORWARD chain, so NAT works in environments where DROP is the default policy(@auxesis)
- Feature: Reject multiple partition definitions in the same file, to maintain clean definitions(@auxesis)
- Feature: Make the DSL documentation awesome(@auxesis)
- Bug: Tests were broken and weren't matching empty output correctly (@johnf)
- Bug: raw tables were being applied repeatedly (@johnf)
- Bug: Bring back generate functionality (@johnf)
- Chore: Remove timestamps from chain names (@johnf)
- Feature: Add partition-X chain (@johnf)
- Feature: Add cleanup functionality (@johnf)
- Chore: Update CLI arguments (@johnf)
- Bug: Split SNAT/DNAT partition rule generation into separate chains, so rules apply correctly (@johnf)
- Feature: Check that ript is being run as root (@arthurbarton)
- Feature: Add validation for duplicate partition names (@auxesis)
- Feature: Add validation for bad characters in partition names (@auxesis)
- Feature: Add validation for partition names longer than 12 characters (@auxesis)
- Feature: Add support for specifying multiple to addresses in a single accept/drop/reject definition (@auxesis)
- Feature: Attempt to suggest alternative method names when a user uses one that doesn't exist (@auxesis)
- Feature: Extend accept, reject, drop, log blocks in the DSL to handle interfaces, protocols, and ports (@auxesis)
- Feature: Allow ript to run against an arbitrary path or file to the relative path (@auxesis)
- Feature: Add logging support throughout the DSL (@auxesis)
- Chore: Rename 'address' to 'label' in the DSL, as that's what they are (@auxesis)
- Chore: Rename 'forward' to 'rewrite' in the DSL, to reduce terminology collisions (@auxesis)
- Chore: Add a test harness script for running ript + tests in an rbenv environment as root (@auxesis)
- Add support for SNAT rules (@auxesis)
- Split tests into more managable files (@auxesis)
- Add installation + development documentation. (@auxesis)
- Build a gem release. (@auxesis)