Multiple commits, see specifications below...

Commit 1: By moving the '--jump' definition before the rest of the rule, you enable the use of '--reject-with' options. Because these options can only be used when specified after '--jump REJECT', otherwise it will give an 'unknown option' error.

Commit 2: This pull-request should be added together with pull-request #15, as this request cleans up the output generated by iptables-rules.erb, by preventing build-in chains to be added a second time (could maybe also be a useful patch without pull-request #15).

Commit 3: Reverted earlier fix for pull-request #15, this solution is much more robust.

Commit 4: Added a test for jumps to chains that are not actually created on the system, but are already processed in the current recipe. At the moment your Chef run breaks if you add a chain first and in the same recipe make a jump to that newly added chain.

Commit 5: Added a function to cleanup test chains. Pull-request #18 also incorporates a fix for this, but as the cleanup is now needed in three different places, I thought a function would be much cleaner.

Ok... Too much spam already :) Will stop committing now until all this is reviewed and accepted or denied. Thanks!