Added flag to allow passing files passed as arguments

master
xSmurf 10 years ago
parent 2135084b86
commit 201037c26d

@ -161,6 +161,7 @@ func (d *daemonState) launch(p *oz.Profile, pwd string, args, env []string, uid,
} }
func (sbox *Sandbox) launchProgram(pwd string, args []string, log *logging.Logger) { func (sbox *Sandbox) launchProgram(pwd string, args []string, log *logging.Logger) {
if sbox.profile.AllowFiles {
for _, fpath := range args { for _, fpath := range args {
if _, err := os.Stat(fpath); err == nil { if _, err := os.Stat(fpath); err == nil {
if filepath.IsAbs(fpath) == false { if filepath.IsAbs(fpath) == false {
@ -172,6 +173,7 @@ func (sbox *Sandbox) launchProgram(pwd string, args []string, log *logging.Logge
} }
} }
} }
}
err := ozinit.RunProgram(sbox.addr, pwd, args) err := ozinit.RunProgram(sbox.addr, pwd, args)
if err != nil { if err != nil {

@ -26,6 +26,8 @@ type Profile struct {
// Also disables default blacklist items (/sbin, /usr/sbin, /usr/bin/sudo) // Also disables default blacklist items (/sbin, /usr/sbin, /usr/bin/sudo)
// Normally not used // Normally not used
NoDefaults bool NoDefaults bool
// Allow bind mounting of files passed as arguments inside the container
AllowFiles bool `json:"allow_files"`
// List of paths to bind mount inside jail // List of paths to bind mount inside jail
Whitelist []WhitelistItem Whitelist []WhitelistItem
// List of paths to blacklist inside jail // List of paths to blacklist inside jail

@ -1,5 +1,6 @@
{ {
"path": "/usr/bin/evince" "path": "/usr/bin/evince"
, "allow_files": true
, "xserver": { , "xserver": {
"enabled": true "enabled": true
, "enable_tray": true , "enable_tray": true

Loading…
Cancel
Save