Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Prior to this PR the title parameter of this defined type was not properly validated.
This means that it could have been possible to use a resource title outside of the normal bounds of a package name.
Additionally the
onlyif
andcommand
parameter values were interpolated strings meaning that it may have been possible to execute unsafe code on the remote system.This PR fixes the above issues by adding a regex to check that the resource title is a valid apt package name and also breaks out the
onlyif
andcommand
parameter values in to arrays of args.By doing this we are ensuring that the commands executed in a safe manor on the remote system.
The exception to this is the
unless_cmd
.This has not been broken out in to an array of args due to the requirement of the command (explained in more detail in mark.pp:20).
Using an interpolated string here is a reasonable trade off however, due to the fact that action is created from known enum values and title would be pre-validated by the regular expression.