From f14067ebe32cfe46551933b97456ea11fcc648a5 Mon Sep 17 00:00:00 2001
From: Jonathan Boyett <jonathan@failingservers.com>
Date: Tue, 10 May 2011 14:41:07 -0700
Subject: [PATCH] mk_resource_methods prevents method_missing from running.
 also add rulenum param

---
 lib/puppet/provider/firewall/iptables.rb | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/puppet/provider/firewall/iptables.rb b/lib/puppet/provider/firewall/iptables.rb
index b3d8a1d..75d24da 100644
--- a/lib/puppet/provider/firewall/iptables.rb
+++ b/lib/puppet/provider/firewall/iptables.rb
@@ -11,8 +11,6 @@ Puppet::Type.type(:firewall).provide :iptables, :parent => Puppet::Provider::Fir
   defaultfor :operatingsystem => [:redhat, :debian, :ubuntu, :fedora, :suse, :centos, :sles, :oel, :ovm]
   confine :operatingsystem => [:redhat, :debian, :ubuntu, :fedora, :suse, :centos, :sles, :oel, :ovm]
 
-  mk_resource_methods
-
   @@resource_map = {
     :burst => "--limit-burst",
     :destination => "-d",
@@ -74,13 +72,15 @@ Puppet::Type.type(:firewall).provide :iptables, :parent => Puppet::Provider::Fir
     debug "[instances]"
     table = nil
     rules = []
+    counter = 1
     iptables_save.lines do |line|
       unless line =~ /^\#\s+|^\:\S+|^COMMIT/
         if line =~ /^\*/
           table = line.sub(/\*/, "").chomp!
         else
-          if hash = rule_to_hash(line, table)
+          if hash = rule_to_hash(line, table, counter)
             rules << new(hash)
+            counter += 1
           end
         end
       end
@@ -88,7 +88,7 @@ Puppet::Type.type(:firewall).provide :iptables, :parent => Puppet::Provider::Fir
     rules
   end
 
-  def self.rule_to_hash(line, table)
+  def self.rule_to_hash(line, table, counter)
     hash = {}
     keys = []
     values = line.dup
@@ -107,6 +107,7 @@ Puppet::Type.type(:firewall).provide :iptables, :parent => Puppet::Provider::Fir
     hash[:provider] = self.name.to_s
     hash[:table] = table
     hash[:ensure] = :present
+    hash[:rulenum] = counter
     hash
   end
 
-- 
2.45.2