From 7358907b3c01f817155f8dc80c5ad0bf60380907 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Mon, 28 Nov 2022 23:18:22 -0800 Subject: [PATCH] add env --- agent/agent.go | 6 +++--- agent/agent_windows.go | 6 +++--- agent/checks.go | 2 +- agent/rpc.go | 6 +++--- agent/tasks_windows.go | 2 +- shared/types.go | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/agent/agent.go b/agent/agent.go index 8a03e6a..7374220 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -221,7 +221,7 @@ type CmdOptions struct { IsScript bool IsExecutable bool Detached bool - Env []string + EnvVars []string } func (a *Agent) NewCMDOpts() *CmdOptions { @@ -250,10 +250,10 @@ func (a *Agent) CmdV2(c *CmdOptions) CmdStatus { }) } - if len(c.Env) > 0 { + if len(c.EnvVars) > 0 { cmdOptions.BeforeExec = append(cmdOptions.BeforeExec, func(cmd *exec.Cmd) { cmd.Env = os.Environ() - cmd.Env = append(cmd.Env, c.Env...) + cmd.Env = append(cmd.Env, c.EnvVars...) }) } diff --git a/agent/agent_windows.go b/agent/agent_windows.go index c980ebd..446ddd6 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -82,7 +82,7 @@ func NewAgentConfig() *rmm.AgentConfig { } } -func (a *Agent) RunScript(code string, shell string, args []string, timeout int, runasuser bool, envs []string) (stdout, stderr string, exitcode int, e error) { +func (a *Agent) RunScript(code string, shell string, args []string, timeout int, runasuser bool, envVars []string) (stdout, stderr string, exitcode int, e error) { content := []byte(code) @@ -158,9 +158,9 @@ func (a *Agent) RunScript(code string, shell string, args []string, timeout int, cmd.Stdout = &outb cmd.Stderr = &errb - if len(envs) > 0 { + if len(envVars) > 0 { cmd.Env = os.Environ() - cmd.Env = append(cmd.Env, envs...) + cmd.Env = append(cmd.Env, envVars...) } if cmdErr := cmd.Start(); cmdErr != nil { diff --git a/agent/checks.go b/agent/checks.go index a680917..ec44b04 100644 --- a/agent/checks.go +++ b/agent/checks.go @@ -169,7 +169,7 @@ type ScriptCheckResult struct { // ScriptCheck runs either bat, powershell or python script func (a *Agent) ScriptCheck(data rmm.Check, r *resty.Client) { start := time.Now() - stdout, stderr, retcode, _ := a.RunScript(data.Script.Code, data.Script.Shell, data.ScriptArgs, data.Timeout, data.Script.RunAsUser, data.Script.Env) + stdout, stderr, retcode, _ := a.RunScript(data.Script.Code, data.Script.Shell, data.ScriptArgs, data.Timeout, data.Script.RunAsUser, data.Script.EnvVars) payload := ScriptCheckResult{ ID: data.CheckPK, diff --git a/agent/rpc.go b/agent/rpc.go index 57f0987..b883ead 100644 --- a/agent/rpc.go +++ b/agent/rpc.go @@ -41,7 +41,7 @@ type NatsMsg struct { ID int `json:"id"` Code string `json:"code"` RunAsUser bool `json:"run_as_user"` - Env []string `json:"env"` + EnvVars []string `json:"env_vars"` } var ( @@ -262,7 +262,7 @@ func (a *Agent) RunRPC() { var resultData rmm.RunScriptResp ret := codec.NewEncoderBytes(&resp, new(codec.MsgpackHandle)) start := time.Now() - stdout, stderr, retcode, err := a.RunScript(p.Data["code"], p.Data["shell"], p.ScriptArgs, p.Timeout, p.RunAsUser, p.Env) + stdout, stderr, retcode, err := a.RunScript(p.Data["code"], p.Data["shell"], p.ScriptArgs, p.Timeout, p.RunAsUser, p.EnvVars) resultData.ExecTime = time.Since(start).Seconds() resultData.ID = p.ID @@ -292,7 +292,7 @@ func (a *Agent) RunRPC() { var retData rmm.RunScriptResp ret := codec.NewEncoderBytes(&resp, new(codec.MsgpackHandle)) start := time.Now() - stdout, stderr, retcode, err := a.RunScript(p.Data["code"], p.Data["shell"], p.ScriptArgs, p.Timeout, p.RunAsUser, p.Env) + stdout, stderr, retcode, err := a.RunScript(p.Data["code"], p.Data["shell"], p.ScriptArgs, p.Timeout, p.RunAsUser, p.EnvVars) retData.ExecTime = time.Since(start).Seconds() if err != nil { diff --git a/agent/tasks_windows.go b/agent/tasks_windows.go index 3144c8f..086b80e 100644 --- a/agent/tasks_windows.go +++ b/agent/tasks_windows.go @@ -59,7 +59,7 @@ func (a *Agent) RunTask(id int) error { action_start := time.Now() if action.ActionType == "script" { - stdout, stderr, retcode, err := a.RunScript(action.Code, action.Shell, action.Args, action.Timeout, action.RunAsUser, action.Env) + stdout, stderr, retcode, err := a.RunScript(action.Code, action.Shell, action.Args, action.Timeout, action.RunAsUser, action.EnvVars) if err != nil { a.Logger.Debugln(err) diff --git a/shared/types.go b/shared/types.go index 90acdc5..de7f2a9 100644 --- a/shared/types.go +++ b/shared/types.go @@ -144,7 +144,7 @@ type Script struct { Shell string `json:"shell"` Code string `json:"code"` RunAsUser bool `json:"run_as_user"` - Env []string `json:"env"` + EnvVars []string `json:"env_vars"` } type CheckInfo struct { @@ -191,7 +191,7 @@ type TaskAction struct { Args []string `json:"script_args"` Timeout int `json:"timeout"` RunAsUser bool `json:"run_as_user"` - Env []string `json:"env"` + EnvVars []string `json:"env_vars"` } type AutomatedTask struct {