summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthaus Litteken <mlitteken@gmail.com>2011-08-10 16:16:20 -0700
committerMatthaus Litteken <mlitteken@gmail.com>2011-08-10 16:16:20 -0700
commit9202f636f5c3371fa801d1daf46f2cda401e7a90 (patch)
treea7a9817e6263c78161cfeac28a1a45d21bc750df
parent9834ac9300528a6de203cec66c5defd272b72a6b (diff)
parent7aecf1a8b343a3f38bb77055b3042968ad3a92c3 (diff)
Merge pull request #3 from omcnet/masterHEADmaster
Please pull to fix the bug described in issue 2
-rw-r--r--lib/puppet/provider/sudoers/parsed.rb2
-rw-r--r--spec/unit/provider/sudoers/parsed_spec.rb13
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/puppet/provider/sudoers/parsed.rb b/lib/puppet/provider/sudoers/parsed.rb
index 750d009..9c79788 100644
--- a/lib/puppet/provider/sudoers/parsed.rb
+++ b/lib/puppet/provider/sudoers/parsed.rb
@@ -45,7 +45,7 @@ Puppet::Type.type(:sudoers).provide(
elsif (hash[:line] =~ /^\s*(Defaults\S*)\s*(.*)$/)
Puppet.debug("parsed line as Defaults")
parsed.parse_defaults($1, $2, hash)
- elsif (hash[:line] =~ /^\s*(.*)?=(.*)$/)
+ elsif (hash[:line] =~ /^\s*(.*?)?=(.*)$/)
Puppet.debug("parsed line as User Spec")
parsed.parse_user_spec($1, $2, hash)
else
diff --git a/spec/unit/provider/sudoers/parsed_spec.rb b/spec/unit/provider/sudoers/parsed_spec.rb
index 1bcdfae..ace181e 100644
--- a/spec/unit/provider/sudoers/parsed_spec.rb
+++ b/spec/unit/provider/sudoers/parsed_spec.rb
@@ -115,5 +115,18 @@ describe Puppet::Type.type(:sudoers).provider(:parsed) do
# test to_line
end
+
+ context "failing for commands containing =",:issue => 2 do
+ before do
+ @init_records = {:type => 'user_spec'}
+ end
+
+ it "can parse users and hosts for lines containing =" do
+ line = "root ALL=(ALL) NOPASSWD: /bin/grep --color=auto example /var/log/messages"
+ lambda{
+ @provider.parse_line(line)
+ }.should_not raise_error
+ end
+ end
end