Issue #1630 has been updated by Charlie Sharpsteen.

Bi-yearly followup: specifying the `command` attribute of `exec` resources as 
an Array was not implemented in #4884.
----------------------------------------
Feature #1630: exec type should allow passing of arguments as an array rather 
than a string
https://projects.puppetlabs.com/issues/1630#change-86986

Author: Sam Quigley
Status: Accepted
Priority: Normal
Assignee: 
Category: exec
Target version: 
Affected Puppet version: 0.24.4
Keywords: 
Branch: 


The exec type takes commands and arguments as a string, (@"echo foo"@) which 
will then get passed to /bin/sh (@sh -c "echo foo"@) by Kernel#system.

This can make things pretty awkward if the command you're trying to execute 
contains shell metacharacters or quotes of its own, and under appropriately 
pathological conditions could even be a security problem...  (username '"&&rm 
-rf /' or something?  *shrug*)

It'd be grand if the exec type would support passing things around as arrays.  
eg:
<pre>
exec {"example":
  command => "/bin/echo",
  arguments => ["*", "yay", "*"],
}
</pre>
(Passing an array to Kernel#system bypasses the shell completely: 
http://www.ruby-doc.org/core/classes/Kernel.html#M005982)

-sq


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to