forked from TrueCloudLab/restic
11fbaaae9a
The restic security model includes full trust of the local machine, so this should not fix any actual security problems, but it's better to be safe than sorry. Fixes #2192.
25 lines
467 B
Go
25 lines
467 B
Go
package backend
|
|
|
|
import (
|
|
"os/exec"
|
|
"syscall"
|
|
|
|
"github.com/restic/restic/internal/errors"
|
|
)
|
|
|
|
func startForeground(cmd *exec.Cmd) (bg func() error, err error) {
|
|
// run the command in it's own process group so that SIGINT
|
|
// is not sent to it.
|
|
cmd.SysProcAttr = &syscall.SysProcAttr{
|
|
Setpgid: true,
|
|
}
|
|
|
|
// start the process
|
|
err = cmd.Start()
|
|
if err != nil {
|
|
return nil, errors.Wrap(err, "cmd.Start")
|
|
}
|
|
|
|
bg = func() error { return nil }
|
|
return bg, nil
|
|
}
|