From 4359335cc77a149e72250e0b44e6eb4f5b71eb3f Mon Sep 17 00:00:00 2001
From: Ingmar Steen <iksteen@gmail.com>
Date: Mon, 8 Apr 2013 14:32:02 +0200
Subject: [PATCH] (#20125) Use PATH to find (ip|ip6|eb)tables for chain
 provider

---
 .../provider/firewallchain/iptables_chain.rb       | 12 ++++++------
 spec/unit/puppet/provider/iptables_chain_spec.rb   | 14 +++++++-------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/lib/puppet/provider/firewallchain/iptables_chain.rb b/lib/puppet/provider/firewallchain/iptables_chain.rb
index 049fb4e..88b11e1 100644
--- a/lib/puppet/provider/firewallchain/iptables_chain.rb
+++ b/lib/puppet/provider/firewallchain/iptables_chain.rb
@@ -7,12 +7,12 @@ Puppet::Type.type(:firewallchain).provide :iptables_chain do
   has_feature :policy
 
   optional_commands({
-    :iptables       => '/sbin/iptables',
-    :iptables_save  => '/sbin/iptables-save',
-    :ip6tables      => '/sbin/ip6tables',
-    :ip6tables_save => '/sbin/ip6tables-save',
-    :ebtables       => '/sbin/ebtables',
-    :ebtables_save  => '/sbin/ebtables-save',
+    :iptables       => 'iptables',
+    :iptables_save  => 'iptables-save',
+    :ip6tables      => 'ip6tables',
+    :ip6tables_save => 'ip6tables-save',
+    :ebtables       => 'ebtables',
+    :ebtables_save  => 'ebtables-save',
   })
 
   defaultfor :kernel => :linux
diff --git a/spec/unit/puppet/provider/iptables_chain_spec.rb b/spec/unit/puppet/provider/iptables_chain_spec.rb
index 3b1e6e8..6079ebb 100755
--- a/spec/unit/puppet/provider/iptables_chain_spec.rb
+++ b/spec/unit/puppet/provider/iptables_chain_spec.rb
@@ -15,25 +15,25 @@ describe 'iptables chain provider detection' do
 
   it "should default to iptables provider if /sbin/(eb|ip|ip6)tables[-save] exists" do
     # Stub lookup for /sbin/iptables & /sbin/iptables-save
-    exists.any_instance.stubs(:which).with("/sbin/ebtables").
+    exists.any_instance.stubs(:which).with("ebtables").
       returns "/sbin/ebtables"
-    exists.any_instance.stubs(:which).with("/sbin/ebtables-save").
+    exists.any_instance.stubs(:which).with("ebtables-save").
       returns "/sbin/ebtables-save"
 
-    exists.any_instance.stubs(:which).with("/sbin/iptables").
+    exists.any_instance.stubs(:which).with("iptables").
       returns "/sbin/iptables"
-    exists.any_instance.stubs(:which).with("/sbin/iptables-save").
+    exists.any_instance.stubs(:which).with("iptables-save").
       returns "/sbin/iptables-save"
 
-    exists.any_instance.stubs(:which).with("/sbin/ip6tables").
+    exists.any_instance.stubs(:which).with("ip6tables").
       returns "/sbin/ip6tables"
-    exists.any_instance.stubs(:which).with("/sbin/ip6tables-save").
+    exists.any_instance.stubs(:which).with("ip6tables-save").
       returns "/sbin/ip6tables-save"
 
     # Every other command should return false so we don't pick up any
     # other providers
     exists.any_instance.stubs(:which).with() { |value|
-      value !~ /\/sbin\/(eb|ip|ip6)tables(-save)?$/
+      value !~ /(eb|ip|ip6)tables(-save)?$/
     }.returns false
 
     # Create a resource instance and make sure the provider is iptables
-- 
2.45.2