From 50ff4ba0ac97e06b6f19ae26fc6fb23af0fccf59 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Mon, 22 May 2023 13:16:51 -0700 Subject: [PATCH 01/32] remove deprecated ioutil --- agent/agent.go | 3 +-- agent/agent_windows.go | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/agent/agent.go b/agent/agent.go index 75d087b..72c3aeb 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -16,7 +16,6 @@ import ( "context" "errors" "fmt" - "io/ioutil" "math" "os" "os/exec" @@ -505,7 +504,7 @@ func (a *Agent) CleanupAgentUpdates() { func (a *Agent) RunPythonCode(code string, timeout int, args []string) (string, error) { content := []byte(code) - tmpfn, _ := ioutil.TempFile(a.WinTmpDir, "*.py") + tmpfn, _ := os.CreateTemp(a.WinTmpDir, "*.py") if _, err := tmpfn.Write(content); err != nil { a.Logger.Debugln(err) return "", err diff --git a/agent/agent_windows.go b/agent/agent_windows.go index 50bd5f0..4383276 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -16,7 +16,6 @@ import ( "context" "errors" "fmt" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -124,7 +123,7 @@ func (a *Agent) RunScript(code string, shell string, args []string, timeout int, tmpDir = a.WinRunAsUserTmpDir } - tmpfn, err := ioutil.TempFile(tmpDir, ext) + tmpfn, err := os.CreateTemp(tmpDir, ext) if err != nil { a.Logger.Errorln(err) return "", err.Error(), 85, err From d62966dd74c7c953474d293d50ae106465ceab22 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Mon, 22 May 2023 22:04:03 +0000 Subject: [PATCH 02/32] workaround for ETXTBSY race condition --- agent/agent.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/agent/agent.go b/agent/agent.go index 72c3aeb..a8db028 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -23,6 +23,7 @@ import ( "runtime" "strconv" "strings" + "syscall" "time" @@ -321,8 +322,21 @@ func (a *Agent) CmdV2(c *CmdOptions) CmdStatus { } }() - // Run and wait for Cmd to return, discard Status - envCmd.Start() + // workaround for https://github.com/golang/go/issues/22315 + for i := 0; i < 5; i++ { + <-envCmd.Start() + + <-doneChan + + status := envCmd.Status() + + if errors.Is(status.Error, syscall.ETXTBSY) { + a.Logger.Errorln("CmdV2 syscall.ETXTBSY, retrying...") + time.Sleep(500 * time.Millisecond) + } else { + break + } + } go func() { select { From e15b1a50c38e57fa67728c1a941bc9360c3258bd Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Fri, 26 May 2023 14:14:40 -0700 Subject: [PATCH 03/32] also cleanup during startup --- agent/svc.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/agent/svc.go b/agent/svc.go index cdaa11e..9e7f9c0 100644 --- a/agent/svc.go +++ b/agent/svc.go @@ -55,6 +55,12 @@ func (a *Agent) AgentSvc(nc *nats.Conn) { a.Logger.Debugf("AgentSvc() sleeping for %v seconds", sleepDelay) time.Sleep(time.Duration(sleepDelay) * time.Second) + if runtime.GOOS == "windows" { + a.KillHungUpdates() + time.Sleep(1 * time.Second) + a.CleanupAgentUpdates() + } + conf := a.GetAgentCheckInConfig(a.GetCheckInConfFromAPI()) a.Logger.Debugf("+%v\n", conf) for _, s := range natsCheckin { From 5a23a55e393e066d72c03ec6c14b840440422775 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Fri, 26 May 2023 14:21:05 -0700 Subject: [PATCH 04/32] update deps --- go.mod | 7 ++++--- go.sum | 19 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index 2c69013..d79b597 100644 --- a/go.mod +++ b/go.mod @@ -4,14 +4,14 @@ go 1.20 require ( github.com/StackExchange/wmi v1.2.1 - github.com/elastic/go-sysinfo v1.10.1 + github.com/elastic/go-sysinfo v1.10.2 github.com/go-ole/go-ole v1.2.6 github.com/go-ping/ping v1.1.0 github.com/go-resty/resty/v2 v2.7.0 github.com/gonutz/w32/v2 v2.4.0 github.com/iamacarpet/go-win64api v0.0.0-20220531131246-e84054eb584d - github.com/nats-io/nats-server/v2 v2.9.16 // indirect - github.com/nats-io/nats.go v1.25.0 + github.com/nats-io/nats-server/v2 v2.9.17 // indirect + github.com/nats-io/nats.go v1.26.0 github.com/rickb777/date v1.19.1 github.com/shirou/gopsutil/v3 v3.23.4 github.com/sirupsen/logrus v1.9.0 @@ -44,6 +44,7 @@ require ( github.com/hashicorp/hcl v1.0.0 // indirect github.com/jaypipes/pcidb v1.0.0 // indirect github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect + github.com/klauspost/compress v1.16.5 // indirect github.com/lufia/plan9stats v0.0.0-20220517141722-cf486979b281 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect diff --git a/go.sum b/go.sum index 6ebe848..d5c5b78 100644 --- a/go.sum +++ b/go.sum @@ -58,12 +58,12 @@ github.com/creachadair/staticfile v0.1.3/go.mod h1:a3qySzCIXEprDGxk6tSxSI+dBBdLz github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/elastic/go-sysinfo v1.10.1 h1:qAfoDsw3lnShqqTHVBZbK4+PN3Lz5FBi3o9sM5n9O9s= -github.com/elastic/go-sysinfo v1.10.1/go.mod h1:QElTrQ6akcnAVCRwdkZtoAkwuTv8UVM4+qe0hPxT4NU= +github.com/elastic/go-sysinfo v1.10.2 h1:DK4pBq7AHwUY+3gcBykvFmWJQWEtv01Jes3v7ss1RVI= +github.com/elastic/go-sysinfo v1.10.2/go.mod h1:6KQb31j0QeWBDF88jIdWSxE8cwoOB9tO4Y4osN7Q70E= github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUtJm0= github.com/elastic/go-windows v1.0.1/go.mod h1:FoVvqWSun28vaDQPbj2Elfc0JahhPB7WQEGa3c814Ss= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -197,7 +197,8 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/kardianos/service v1.2.2 h1:ZvePhAHfvo0A7Mftk/tEzqEZ7Q4lgnR8sGz4xu1YX60= github.com/kardianos/service v1.2.2/go.mod h1:CIMRFEJVL+0DS1a3Nx06NaMn4Dz63Ng6O7dl0qH0zVM= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.16.4 h1:91KN02FnsOYhuunwU4ssRe8lc2JosWmizWa91B5v1PU= +github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= +github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -216,10 +217,10 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/nats-io/jwt/v2 v2.4.1 h1:Y35W1dgbbz2SQUYDPCaclXcuqleVmpbRa7646Jf2EX4= -github.com/nats-io/nats-server/v2 v2.9.16 h1:SuNe6AyCcVy0g5326wtyU8TdqYmcPqzTjhkHojAjprc= -github.com/nats-io/nats-server/v2 v2.9.16/go.mod h1:z1cc5Q+kqJkz9mLUdlcSsdYnId4pyImHjNgoh6zxSC0= -github.com/nats-io/nats.go v1.25.0 h1:t5/wCPGciR7X3Mu8QOi4jiJaXaWM8qtkLu4lzGZvYHE= -github.com/nats-io/nats.go v1.25.0/go.mod h1:D2WALIhz7V8M0pH8Scx8JZXlg6Oqz5VG+nQkK8nJdvg= +github.com/nats-io/nats-server/v2 v2.9.17 h1:gFpUQ3hqIDJrnqog+Bl5vaXg+RhhYEZIElasEuRn2tw= +github.com/nats-io/nats-server/v2 v2.9.17/go.mod h1:eQysm3xDZmIjfkjr7DuD9DjRFpnxQc2vKVxtEg0Dp6s= +github.com/nats-io/nats.go v1.26.0 h1:fWJTYPnZ8DzxIaqIHOAMfColuznchnd5Ab5dbJpgPIE= +github.com/nats-io/nats.go v1.26.0/go.mod h1:XpbWUlOElGwTYbMR7imivs7jJj9GtK7ypv321Wp6pjc= github.com/nats-io/nkeys v0.4.4 h1:xvBJ8d69TznjcQl9t6//Q5xXuVhyYiSos6RPtvQNTwA= github.com/nats-io/nkeys v0.4.4/go.mod h1:XUkxdLPTufzlihbamfzQ7mw/VGx6ObUs+0bN5sNvt64= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= @@ -263,11 +264,9 @@ github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e h1:+/AzLkOdIXE github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e/go.mod h1:9Tc1SKnfACJb9N7cw2eyuI6xzy845G7uZONBsi5uPEA= github.com/shirou/gopsutil/v3 v3.23.4 h1:hZwmDxZs7Ewt75DV81r4pFMqbq+di2cbt9FsQBqLD2o= github.com/shirou/gopsutil/v3 v3.23.4/go.mod h1:ZcGxyfzAMRevhUR2+cfhXDH6gQdFYE/t8j1nsU4mPI8= -github.com/shoenig/go-m1cpu v0.1.5 h1:LF57Z/Fpb/WdGLjt2HZilNnmZOxg/q2bSKTQhgbrLrQ= github.com/shoenig/go-m1cpu v0.1.5/go.mod h1:Wwvst4LR89UxjeFtLRMrpgRiyY4xPsejnVZym39dbAQ= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.3 h1:GVXWJFk9PiOjN0KoJ7VrJGH6uLPnqxR7/fe3HUPfE0c= github.com/shoenig/test v0.6.3/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= From ee19c7a4fc726fd9712c7b2a2c8d5fed64351064 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Tue, 30 May 2023 13:01:52 -0700 Subject: [PATCH 05/32] fix nil error being returned --- agent/agent_windows.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agent/agent_windows.go b/agent/agent_windows.go index 4383276..87c3667 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -622,8 +622,9 @@ func (a *Agent) AgentUpdate(url, inno, version string) error { return err } if r.IsError() { - a.Logger.Errorln("Download failed with status code", r.StatusCode()) - return err + ret := fmt.Sprintf("Download failed with status code %d", r.StatusCode()) + a.Logger.Errorln(ret) + return errors.New(ret) } innoLogFile := filepath.Join(a.WinTmpDir, fmt.Sprintf("tacticalagent_update_v%s.txt", version)) From 836c274e8377796bb857720f3b38ed31a4a9bbcf Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Tue, 30 May 2023 14:08:06 -0700 Subject: [PATCH 06/32] bump version --- build/rmm.exe.manifest | 2 +- build/setup.iss | 2 +- main.go | 2 +- versioninfo.json | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/rmm.exe.manifest b/build/rmm.exe.manifest index 8a4c1f7..1ca074c 100644 --- a/build/rmm.exe.manifest +++ b/build/rmm.exe.manifest @@ -3,7 +3,7 @@ diff --git a/build/setup.iss b/build/setup.iss index 9e90c05..296f3fd 100644 --- a/build/setup.iss +++ b/build/setup.iss @@ -1,5 +1,5 @@ #define MyAppName "Tactical RMM Agent" -#define MyAppVersion "2.4.8" +#define MyAppVersion "2.4.9" #define MyAppPublisher "AmidaWare LLC" #define MyAppURL "https://github.com/amidaware" #define MyAppExeName "tacticalrmm.exe" diff --git a/main.go b/main.go index 136bb4f..9efba18 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) var ( - version = "2.4.8" + version = "2.4.9" log = logrus.New() logFile *os.File ) diff --git a/versioninfo.json b/versioninfo.json index 764bb19..14ec152 100644 --- a/versioninfo.json +++ b/versioninfo.json @@ -3,13 +3,13 @@ "FileVersion": { "Major": 2, "Minor": 4, - "Patch": 8, + "Patch": 9, "Build": 0 }, "ProductVersion": { "Major": 2, "Minor": 4, - "Patch": 8, + "Patch": 9, "Build": 0 }, "FileFlagsMask": "3f", @@ -22,14 +22,14 @@ "Comments": "", "CompanyName": "AmidaWare LLC", "FileDescription": "Tactical RMM Agent", - "FileVersion": "v2.4.8.0", + "FileVersion": "v2.4.9.0", "InternalName": "tacticalrmm.exe", "LegalCopyright": "Copyright (c) 2023 AmidaWare LLC", "LegalTrademarks": "", "OriginalFilename": "tacticalrmm.exe", "PrivateBuild": "", "ProductName": "Tactical RMM Agent", - "ProductVersion": "v2.4.8.0", + "ProductVersion": "v2.4.9.0", "SpecialBuild": "" }, "VarFileInfo": { From 7f9e3f0f7dd7bf86bddb64b72ee1dbd3e9f12b5b Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Sun, 30 Jul 2023 13:19:56 -0700 Subject: [PATCH 07/32] don't fail if user is not logged in closes amidaware/tacticalrmm#1573 --- agent/agent_windows.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/agent/agent_windows.go b/agent/agent_windows.go index 87c3667..ebdce00 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -161,11 +161,10 @@ func (a *Agent) RunScript(code string, shell string, args []string, timeout int, cmd := exec.Command(exe, cmdArgs...) if runasuser { token, err := wintoken.GetInteractiveToken(wintoken.TokenImpersonation) - if err != nil { - return "", err.Error(), 66, err + if err == nil { + defer token.Close() + cmd.SysProcAttr = &syscall.SysProcAttr{Token: syscall.Token(token.Token()), HideWindow: true} } - defer token.Close() - cmd.SysProcAttr = &syscall.SysProcAttr{Token: syscall.Token(token.Token()), HideWindow: true} } cmd.Stdout = &outb cmd.Stderr = &errb From 150e1eda22248961f8f926a0cb59f09def3f84f6 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Sun, 30 Jul 2023 16:40:35 -0700 Subject: [PATCH 08/32] update reqs --- .github/workflows/ci.yml | 2 +- go.mod | 33 +++++++-------- go.sum | 91 ++++++++++++++++++++-------------------- main.go | 2 +- 4 files changed, 63 insertions(+), 65 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 002baba..87b6ac2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-go@v4 with: - go-version: '1.20.4' + go-version: '1.20.6' - name: Ensure linux agent compiles run: | diff --git a/go.mod b/go.mod index d79b597..72869eb 100644 --- a/go.mod +++ b/go.mod @@ -4,34 +4,34 @@ go 1.20 require ( github.com/StackExchange/wmi v1.2.1 - github.com/elastic/go-sysinfo v1.10.2 + github.com/elastic/go-sysinfo v1.11.0 github.com/go-ole/go-ole v1.2.6 github.com/go-ping/ping v1.1.0 github.com/go-resty/resty/v2 v2.7.0 github.com/gonutz/w32/v2 v2.4.0 - github.com/iamacarpet/go-win64api v0.0.0-20220531131246-e84054eb584d - github.com/nats-io/nats-server/v2 v2.9.17 // indirect - github.com/nats-io/nats.go v1.26.0 + github.com/iamacarpet/go-win64api v0.0.0-20230324134531-ef6dbdd6db97 + github.com/nats-io/nats-server/v2 v2.9.20 // indirect + github.com/nats-io/nats.go v1.28.0 github.com/rickb777/date v1.19.1 - github.com/shirou/gopsutil/v3 v3.23.4 - github.com/sirupsen/logrus v1.9.0 + github.com/shirou/gopsutil/v3 v3.23.6 + github.com/sirupsen/logrus v1.9.3 github.com/ugorji/go/codec v1.2.11 github.com/wh1te909/go-win64api v0.0.0-20210906074314-ab23795a6ae5 github.com/wh1te909/trmm-shared v0.0.0-20220227075846-f9f757361139 - golang.org/x/net v0.9.0 // indirect - golang.org/x/sys v0.7.0 + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.9.0 ) require ( github.com/amidaware/taskmaster v0.0.0-20220111015025-c9cd178bbbf2 - github.com/go-cmd/cmd v1.4.1 + github.com/go-cmd/cmd v1.4.2 ) require ( github.com/fourcorelabs/wintoken v1.0.0 - github.com/jaypipes/ghw v0.10.0 + github.com/jaypipes/ghw v0.12.0 github.com/kardianos/service v1.2.2 - github.com/spf13/viper v1.15.0 + github.com/spf13/viper v1.16.0 ) require ( @@ -52,23 +52,22 @@ require ( github.com/nats-io/nkeys v0.4.4 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect github.com/prometheus/procfs v0.8.0 // indirect github.com/rickb777/plural v1.4.1 // indirect - github.com/rogpeppe/go-internal v1.8.1 // indirect github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect - github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/tklauser/go-sysconf v0.3.11 // indirect github.com/tklauser/numcpus v0.6.0 // indirect - github.com/yusufpapurcu/wmi v1.2.2 // indirect - golang.org/x/crypto v0.8.0 // indirect + github.com/yusufpapurcu/wmi v1.2.3 // indirect + golang.org/x/crypto v0.9.0 // indirect golang.org/x/sync v0.1.0 // indirect golang.org/x/text v0.9.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect diff --git a/go.sum b/go.sum index d5c5b78..d1f81d5 100644 --- a/go.sum +++ b/go.sum @@ -62,8 +62,8 @@ github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m3 github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/elastic/go-sysinfo v1.10.2 h1:DK4pBq7AHwUY+3gcBykvFmWJQWEtv01Jes3v7ss1RVI= -github.com/elastic/go-sysinfo v1.10.2/go.mod h1:6KQb31j0QeWBDF88jIdWSxE8cwoOB9tO4Y4osN7Q70E= +github.com/elastic/go-sysinfo v1.11.0 h1:QW+6BF1oxBoAprH3w2yephF7xLkrrSXj7gl2xC2BM4w= +github.com/elastic/go-sysinfo v1.11.0/go.mod h1:6KQb31j0QeWBDF88jIdWSxE8cwoOB9tO4Y4osN7Q70E= github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUtJm0= github.com/elastic/go-windows v1.0.1/go.mod h1:FoVvqWSun28vaDQPbj2Elfc0JahhPB7WQEGa3c814Ss= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -74,15 +74,15 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fourcorelabs/wintoken v1.0.0 h1:dskUYLAFHNy1cbS5MXsNFXauQzxieTrZlffQZ0Yu19I= github.com/fourcorelabs/wintoken v1.0.0/go.mod h1:jKyXHt079W09KwEMbUC9g+R2KDs5kVvSKPUiF5p0ejs= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-cmd/cmd v1.4.1 h1:JUcEIE84v8DSy02XTZpUDeGKExk2oW3DA10hTjbQwmc= -github.com/go-cmd/cmd v1.4.1/go.mod h1:tbBenttXtZU4c5djS1o7PWL5pd2xAr5sIqH1kGdNiRc= +github.com/go-cmd/cmd v1.4.2 h1:pnX38iIJHh4huzBSqfkAZkfXrVwM/5EccAJmrVqMnbg= +github.com/go-cmd/cmd v1.4.2/go.mod h1:u3hxg/ry+D5kwh8WvUkHLAMe2zQCaXd00t35WfQaOFk= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -94,7 +94,7 @@ github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw= github.com/go-ping/ping v1.1.0/go.mod h1:xIFjORFzTxqIV/tDVGO4eDy/bLuSyawEeojSm3GfRGk= github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= -github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= +github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -123,7 +123,7 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/gonutz/w32/v2 v2.4.0 h1:k+R8/ddsnb9dwVDsTDWvkJGFmYJDI3ZMgcKgdpLuMpw= github.com/gonutz/w32/v2 v2.4.0/go.mod h1:MgtHx0AScDVNKyB+kjyPder4xIi3XAcHS6LDDU2DmdE= github.com/google/aukera v0.0.0-20201117230544-d145c8357fea/go.mod h1:oXqTZORBzdwQ6L32YjJmaPajqIV/hoGEouwpFMf4cJE= @@ -181,12 +181,12 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/iamacarpet/go-win64api v0.0.0-20210311141720-fe38760bed28/go.mod h1:oGJx9dz0Ny7HC7U55RZ0Smd6N9p3hXP/+hOFtuYrAxM= -github.com/iamacarpet/go-win64api v0.0.0-20220531131246-e84054eb584d h1:oEqcxSYuVSzQiXfTdp1BTJoowIUTPLCA3fOnfyZO50w= -github.com/iamacarpet/go-win64api v0.0.0-20220531131246-e84054eb584d/go.mod h1:B7zFQPAznj+ujXel5X+LUoK3LgY6VboCdVYHZNn7gpg= +github.com/iamacarpet/go-win64api v0.0.0-20230324134531-ef6dbdd6db97 h1:VjwKCN2PMLlMKM2k9AW8QQsfmEH43ldlX+JGeWW9cEE= +github.com/iamacarpet/go-win64api v0.0.0-20230324134531-ef6dbdd6db97/go.mod h1:B7zFQPAznj+ujXel5X+LUoK3LgY6VboCdVYHZNn7gpg= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/jaypipes/ghw v0.10.0 h1:UHu9UX08Py315iPojADFPOkmjTsNzHj4g4adsNKKteY= -github.com/jaypipes/ghw v0.10.0/go.mod h1:jeJGbkRB2lL3/gxYzNYzEDETV1ZJ56OKr+CSeSEym+g= +github.com/jaypipes/ghw v0.12.0 h1:xU2/MDJfWmBhJnujHY9qwXQLs3DBsf0/Xa9vECY0Tho= +github.com/jaypipes/ghw v0.12.0/go.mod h1:jeJGbkRB2lL3/gxYzNYzEDETV1ZJ56OKr+CSeSEym+g= github.com/jaypipes/pcidb v1.0.0 h1:vtZIfkiCUE42oYbJS0TAq9XSfSmcsgo9IdxSm9qzYU8= github.com/jaypipes/pcidb v1.0.0/go.mod h1:TnYUvqhPBzCKnH34KrIX22kAeEbDCSRJ9cqLRCuNDfk= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -202,7 +202,7 @@ github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQs github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -217,10 +217,10 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/nats-io/jwt/v2 v2.4.1 h1:Y35W1dgbbz2SQUYDPCaclXcuqleVmpbRa7646Jf2EX4= -github.com/nats-io/nats-server/v2 v2.9.17 h1:gFpUQ3hqIDJrnqog+Bl5vaXg+RhhYEZIElasEuRn2tw= -github.com/nats-io/nats-server/v2 v2.9.17/go.mod h1:eQysm3xDZmIjfkjr7DuD9DjRFpnxQc2vKVxtEg0Dp6s= -github.com/nats-io/nats.go v1.26.0 h1:fWJTYPnZ8DzxIaqIHOAMfColuznchnd5Ab5dbJpgPIE= -github.com/nats-io/nats.go v1.26.0/go.mod h1:XpbWUlOElGwTYbMR7imivs7jJj9GtK7ypv321Wp6pjc= +github.com/nats-io/nats-server/v2 v2.9.20 h1:bt1dW6xsL1hWWwv7Hovm+EJt5L6iplyqlgEFkoEUk0k= +github.com/nats-io/nats-server/v2 v2.9.20/go.mod h1:aTb/xtLCGKhfTFLxP591CMWfkdgBmcUUSkiSOe5A3gw= +github.com/nats-io/nats.go v1.28.0 h1:Th4G6zdsz2d0OqXdfzKLClo6bOfoI/b1kInhRtFIy5c= +github.com/nats-io/nats.go v1.28.0/go.mod h1:XpbWUlOElGwTYbMR7imivs7jJj9GtK7ypv321Wp6pjc= github.com/nats-io/nkeys v0.4.4 h1:xvBJ8d69TznjcQl9t6//Q5xXuVhyYiSos6RPtvQNTwA= github.com/nats-io/nkeys v0.4.4/go.mod h1:XUkxdLPTufzlihbamfzQ7mw/VGx6ObUs+0bN5sNvt64= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= @@ -235,9 +235,8 @@ github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -258,29 +257,27 @@ github.com/rickb777/plural v1.4.1 h1:5MMLcbIaapLFmvDGRT5iPk8877hpTPt8Y9cdSKRw9sU github.com/rickb777/plural v1.4.1/go.mod h1:kdmXUpmKBJTS0FtG/TFumd//VBWsNTD7zOw7x4umxNw= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e h1:+/AzLkOdIXEPrAQtwAeWOBnPQ0BnYlBW0aCZmSb47u4= github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e/go.mod h1:9Tc1SKnfACJb9N7cw2eyuI6xzy845G7uZONBsi5uPEA= -github.com/shirou/gopsutil/v3 v3.23.4 h1:hZwmDxZs7Ewt75DV81r4pFMqbq+di2cbt9FsQBqLD2o= -github.com/shirou/gopsutil/v3 v3.23.4/go.mod h1:ZcGxyfzAMRevhUR2+cfhXDH6gQdFYE/t8j1nsU4mPI8= -github.com/shoenig/go-m1cpu v0.1.5/go.mod h1:Wwvst4LR89UxjeFtLRMrpgRiyY4xPsejnVZym39dbAQ= +github.com/shirou/gopsutil/v3 v3.23.6 h1:5y46WPI9QBKBbK7EEccUPNXpJpNrvPuTD0O2zHEHT08= +github.com/shirou/gopsutil/v3 v3.23.6/go.mod h1:j7QX50DrXYggrpN30W0Mo+I4/8U2UUIQrnrhqUeWrAU= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.3/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -291,9 +288,9 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= @@ -310,8 +307,8 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= +github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -324,9 +321,9 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ= -golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -398,8 +395,9 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -474,8 +472,8 @@ golang.org/x/sys v0.0.0-20211107104306-e0b2ad06fe42/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -484,6 +482,7 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -630,7 +629,7 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/main.go b/main.go index 9efba18..7c3d651 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) var ( - version = "2.4.9" + version = "2.4.10-dev" log = logrus.New() logFile *os.File ) From e51e4ccf83988c4a27e910fb8552bf98baa52235 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Sun, 30 Jul 2023 22:50:21 -0700 Subject: [PATCH 09/32] seed is no longer needed since 1.20 --- agent/utils.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/agent/utils.go b/agent/utils.go index 8db3341..623126e 100644 --- a/agent/utils.go +++ b/agent/utils.go @@ -128,7 +128,6 @@ func (a *Agent) PublicIP() string { // GenerateAgentID creates and returns a unique agent id func GenerateAgentID() string { - rand.Seed(time.Now().UnixNano()) letters := []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") b := make([]rune, 40) for i := range b { @@ -297,7 +296,6 @@ func ByteCountSI(b uint64) string { } func randRange(min, max int) int { - rand.Seed(time.Now().UnixNano()) return rand.Intn(max-min) + min } From 8e6858778bcf717d5cea8d2dc17a28c4aad4efb9 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Mon, 31 Jul 2023 19:11:02 -0700 Subject: [PATCH 10/32] ventura mesh fix --- agent/embed_darwin.go | 24 +++++++ agent/embed_stub.go | 17 +++++ agent/scripts/macos_fix_mesh_install.sh | 90 +++++++++++++++++++++++++ agent/svc.go | 4 ++ main.go | 2 + 5 files changed, 137 insertions(+) create mode 100644 agent/embed_darwin.go create mode 100644 agent/embed_stub.go create mode 100644 agent/scripts/macos_fix_mesh_install.sh diff --git a/agent/embed_darwin.go b/agent/embed_darwin.go new file mode 100644 index 0000000..6a42a6d --- /dev/null +++ b/agent/embed_darwin.go @@ -0,0 +1,24 @@ +//go:build darwin +// +build darwin + +/* +Copyright 2023 Amidaware Inc. + +Licensed under the Tactical RMM License Version 1.0 (the “License”). +You may only use the Licensed Software in accordance with the License. +A copy of the License is available at: + +https://license.tacticalrmm.com + +*/ + +package agent + +import _ "embed" + +//go:embed scripts/macos_fix_mesh_install.sh +var ventura_mesh_fix string + +func (a *Agent) FixVenturaMesh() { + a.RunScript(ventura_mesh_fix, "foo", []string{}, 45, false, []string{}) +} diff --git a/agent/embed_stub.go b/agent/embed_stub.go new file mode 100644 index 0000000..68f799f --- /dev/null +++ b/agent/embed_stub.go @@ -0,0 +1,17 @@ +//go:build !darwin +// +build !darwin + +/* +Copyright 2023 Amidaware Inc. + +Licensed under the Tactical RMM License Version 1.0 (the “License”). +You may only use the Licensed Software in accordance with the License. +A copy of the License is available at: + +https://license.tacticalrmm.com + +*/ + +package agent + +func (a *Agent) FixVenturaMesh() {} diff --git a/agent/scripts/macos_fix_mesh_install.sh b/agent/scripts/macos_fix_mesh_install.sh new file mode 100644 index 0000000..b6e9c0b --- /dev/null +++ b/agent/scripts/macos_fix_mesh_install.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env bash + +# source: https://github.com/amidaware/community-scripts/blob/main/scripts_staging/macos_fix_mesh_install.sh +# author: https://github.com/NiceGuyIT + +# This script fixes MeshAgent issue #161: MacOS Ventura - Not starting meshagent on boot (Maybe Solved) +# https://github.com/Ylianst/MeshAgent/issues/161 +# +# The following actions are taken: +# 1) Add the eXecute bit for directory traversal for the installation directory. This allows regular users +# access to run the binary inside the directory, fixing the "meshagent" LaunchAgent integration with the +# user. +# 2) Rename the LaunchAgent "meshagent.plist" to prevent conflicts with the LaunchDaemon "meshagent.plist". +# This may not be needed but is done for good measure. +# 3) Rename the service Label inside the plist. Using "defaults" causes the plist to be rewritten in plist +# format, not ascii. +# +# Here's the original plist from my install. +# +# +# +# +# Label +# meshagent +# ProgramArguments +# +# /opt/tacticalmesh/meshagent +# -kvm1 +# +# +# WorkingDirectory +# /opt/tacticalmesh +# +# RunAtLoad +# +# LimitLoadToSessionType +# +# LoginWindow +# +# KeepAlive +# +# Crashed +# +# +# +# + + +mesh_install_dir="/opt/tacticalmesh/" +mesh_agent_plist_old="/Library/LaunchAgents/meshagent.plist" +mesh_agent_plist="/Library/LaunchAgents/meshagent-agent.plist" +mesh_daemon_plist="/Library/LaunchDaemons/meshagent.plist" + +if [ ! -f "${mesh_daemon_plist}" ] +then + echo "meshagent LaunchDaemon does not exist to cause the duplicate service name issue. Exiting." + exit 0 +fi + +if /usr/bin/stat -f "%Sp" "${mesh_install_dir}" | grep -v 'x$' >/dev/null +then + echo "Fixing permissions on meshagent installation directory: ${mesh_install_dir}" + chmod o+X "${mesh_install_dir}" +else + echo "No action taken. Permissions on meshagent installation directory have already been fixed." +fi +echo + +if [ -f "${mesh_agent_plist_old}" ] +then + echo "Renaming agent plist: ${mesh_agent_plist_old}" + mv "${mesh_agent_plist_old}" "${mesh_agent_plist}" +else + echo "No action taken. meshagent.plist was already renamed: ${mesh_agent_plist}" +fi +echo + +# New file has to exist before renaming the label. +if [ -f "${mesh_agent_plist}" ] +then + label=$(defaults read "${mesh_agent_plist}" Label) + if [ "${label}" != "meshagent-agent" ] + then + echo "Renaming meshagent label in plist: ${mesh_agent_plist}" + echo "Warning: This will convert the plist from a text file to a binary plist file." + defaults write "${mesh_agent_plist}" Label "meshagent-agent" + else + echo "No action taken. meshagent label was already renamed: ${label}" + fi +fi diff --git a/agent/svc.go b/agent/svc.go index 9e7f9c0..eacc8c0 100644 --- a/agent/svc.go +++ b/agent/svc.go @@ -80,6 +80,10 @@ func (a *Agent) AgentSvc(nc *nats.Conn) { a.SendSoftware() } + if runtime.GOOS == "darwin" { + go a.FixVenturaMesh() + } + checkInHelloTicker := time.NewTicker(time.Duration(conf.Hello) * time.Second) checkInAgentInfoTicker := time.NewTicker(time.Duration(conf.AgentInfo) * time.Second) checkInWinSvcTicker := time.NewTicker(time.Duration(conf.WinSvc) * time.Second) diff --git a/main.go b/main.go index 7c3d651..d882274 100644 --- a/main.go +++ b/main.go @@ -119,6 +119,8 @@ func main() { a.RunMigrations() case "recovermesh": a.RecoverMesh() + case "macventurafix": + a.FixVenturaMesh() case "taskrunner": if len(os.Args) < 5 || *taskPK == 0 { return From f00b03b973ba40414b45c9421f1bdfdbf15f5b1d Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Tue, 1 Aug 2023 04:42:37 +0000 Subject: [PATCH 11/32] fix format --- agent/agent_unix.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/agent_unix.go b/agent/agent_unix.go index aa633b3..bcd0e02 100644 --- a/agent/agent_unix.go +++ b/agent/agent_unix.go @@ -273,7 +273,7 @@ func (a *Agent) AgentUpdate(url, inno, version string) error { se := a.NewCMDOpts() se.Command = fmt.Sprintf("restorecon -rv %s", self) out := a.CmdV2(se) - a.Logger.Debugln("%+v\n", out) + a.Logger.Debugf("%+v\n", out) } opts := a.NewCMDOpts() From 830f41888800e18a53bc2d58870ac1d56abd5828 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Tue, 1 Aug 2023 05:07:59 +0000 Subject: [PATCH 12/32] add timeout flag to installer closes #28 --- agent/install.go | 1 + 1 file changed, 1 insertion(+) diff --git a/agent/install.go b/agent/install.go index 241d64b..35c354c 100644 --- a/agent/install.go +++ b/agent/install.go @@ -186,6 +186,7 @@ func (a *Agent) Install(i *Installer) { } else { opts := a.NewCMDOpts() opts.Command = fmt.Sprintf("%s -install --installPath=%s", meshOutput, nixMeshDir) + opts.Timeout = i.Timeout out := a.CmdV2(opts) if out.Status.Exit != 0 { a.Logger.Fatalln("Error installing mesh agent:", out.Stderr) From 6c1fa2f06150e9c24ee155f55259b28abf950831 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Tue, 1 Aug 2023 05:09:48 +0000 Subject: [PATCH 13/32] fix timeout not working on linux/mac --- agent/agent.go | 56 ++++++++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/agent/agent.go b/agent/agent.go index a8db028..4020052 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -254,7 +254,7 @@ type CmdOptions struct { func (a *Agent) NewCMDOpts() *CmdOptions { return &CmdOptions{ Shell: "/bin/bash", - Timeout: 30, + Timeout: 60, } } @@ -322,38 +322,46 @@ func (a *Agent) CmdV2(c *CmdOptions) CmdStatus { } }() + statusChan := make(chan gocmd.Status, 1) // workaround for https://github.com/golang/go/issues/22315 - for i := 0; i < 5; i++ { - <-envCmd.Start() - - <-doneChan - - status := envCmd.Status() - - if errors.Is(status.Error, syscall.ETXTBSY) { - a.Logger.Errorln("CmdV2 syscall.ETXTBSY, retrying...") - time.Sleep(500 * time.Millisecond) - } else { - break - } - } - go func() { - select { - case <-doneChan: + for i := 0; i < 5; i++ { + finalStatus := <-envCmd.Start() + if errors.Is(finalStatus.Error, syscall.ETXTBSY) { + a.Logger.Errorln("CmdV2 syscall.ETXTBSY, retrying...") + time.Sleep(500 * time.Millisecond) + continue + } + statusChan <- finalStatus return - case <-ctx.Done(): - a.Logger.Debugf("Command timed out after %d seconds\n", c.Timeout) - pid := envCmd.Status().PID - a.Logger.Debugln("Killing process with PID", pid) - KillProc(int32(pid)) } }() + var finalStatus gocmd.Status + + select { + case <-ctx.Done(): + a.Logger.Debugf("Command timed out after %d seconds\n", c.Timeout) + pid := envCmd.Status().PID + a.Logger.Debugln("Killing process with PID", pid) + KillProc(int32(pid)) + finalStatus.Exit = 98 + ret := CmdStatus{ + Status: finalStatus, + Stdout: CleanString(stdoutBuf.String()), + Stderr: fmt.Sprintf("%s\nTimed out after %d seconds", CleanString(stderrBuf.String()), c.Timeout), + } + a.Logger.Debugf("%+v\n", ret) + return ret + case finalStatus = <-statusChan: + // done + } + // Wait for goroutine to print everything <-doneChan + ret := CmdStatus{ - Status: envCmd.Status(), + Status: finalStatus, Stdout: CleanString(stdoutBuf.String()), Stderr: CleanString(stderrBuf.String()), } From c4b006b21285ee6d30971517355c7979e2435c3c Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Sun, 6 Aug 2023 11:19:00 -0700 Subject: [PATCH 14/32] update deps --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 72869eb..ac512b9 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/shirou/gopsutil/v3 v3.23.6 github.com/sirupsen/logrus v1.9.3 github.com/ugorji/go/codec v1.2.11 - github.com/wh1te909/go-win64api v0.0.0-20210906074314-ab23795a6ae5 + github.com/wh1te909/go-win64api v0.0.0-20230802051600-21b24f62e846 github.com/wh1te909/trmm-shared v0.0.0-20220227075846-f9f757361139 golang.org/x/net v0.10.0 // indirect golang.org/x/sys v0.9.0 diff --git a/go.sum b/go.sum index d1f81d5..8ac1a15 100644 --- a/go.sum +++ b/go.sum @@ -301,6 +301,8 @@ github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4d github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/wh1te909/go-win64api v0.0.0-20210906074314-ab23795a6ae5 h1:8tp/+fGR+qjDQ00vm0ZorHzskquo76MY9/ChmFFunEA= github.com/wh1te909/go-win64api v0.0.0-20210906074314-ab23795a6ae5/go.mod h1:qypF+Tf23flzLX5IXuodDb1314BrDrsbwK/OhTh6HBM= +github.com/wh1te909/go-win64api v0.0.0-20230802051600-21b24f62e846 h1:w/2L2xArf30zPrE/8IsqbKrU1FecRtR68Kbw/jj6ep4= +github.com/wh1te909/go-win64api v0.0.0-20230802051600-21b24f62e846/go.mod h1:qypF+Tf23flzLX5IXuodDb1314BrDrsbwK/OhTh6HBM= github.com/wh1te909/trmm-shared v0.0.0-20220227075846-f9f757361139 h1:PfOl03o+Y+svWrfXAAu1QWUDePu1yqTq0pf4rpnN8eA= github.com/wh1te909/trmm-shared v0.0.0-20220227075846-f9f757361139/go.mod h1:ILUz1utl5KgwrxmNHv0RpgMtKeh8gPAABvK2MiXBqv8= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= From 2cff41f719340f6c157ca5f77a0fda75a6c399ce Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Sun, 6 Aug 2023 22:39:36 -0700 Subject: [PATCH 15/32] update ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 87b6ac2..e54679e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-go@v4 with: - go-version: '1.20.6' + go-version: '1.20.7' - name: Ensure linux agent compiles run: | From 9f3f5c2f9b9c981f23dfc642cc3b8f6b46979f0f Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Sun, 13 Aug 2023 23:54:31 -0700 Subject: [PATCH 16/32] bump version --- build/rmm.exe.manifest | 2 +- build/setup.iss | 2 +- main.go | 2 +- versioninfo.json | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/rmm.exe.manifest b/build/rmm.exe.manifest index 1ca074c..2071286 100644 --- a/build/rmm.exe.manifest +++ b/build/rmm.exe.manifest @@ -3,7 +3,7 @@ diff --git a/build/setup.iss b/build/setup.iss index 296f3fd..720e4eb 100644 --- a/build/setup.iss +++ b/build/setup.iss @@ -1,5 +1,5 @@ #define MyAppName "Tactical RMM Agent" -#define MyAppVersion "2.4.9" +#define MyAppVersion "2.4.10" #define MyAppPublisher "AmidaWare LLC" #define MyAppURL "https://github.com/amidaware" #define MyAppExeName "tacticalrmm.exe" diff --git a/main.go b/main.go index d882274..52730fe 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) var ( - version = "2.4.10-dev" + version = "2.4.10" log = logrus.New() logFile *os.File ) diff --git a/versioninfo.json b/versioninfo.json index 14ec152..2d29460 100644 --- a/versioninfo.json +++ b/versioninfo.json @@ -3,13 +3,13 @@ "FileVersion": { "Major": 2, "Minor": 4, - "Patch": 9, + "Patch": 10, "Build": 0 }, "ProductVersion": { "Major": 2, "Minor": 4, - "Patch": 9, + "Patch": 10, "Build": 0 }, "FileFlagsMask": "3f", @@ -22,14 +22,14 @@ "Comments": "", "CompanyName": "AmidaWare LLC", "FileDescription": "Tactical RMM Agent", - "FileVersion": "v2.4.9.0", + "FileVersion": "v2.4.10.0", "InternalName": "tacticalrmm.exe", "LegalCopyright": "Copyright (c) 2023 AmidaWare LLC", "LegalTrademarks": "", "OriginalFilename": "tacticalrmm.exe", "PrivateBuild": "", "ProductName": "Tactical RMM Agent", - "ProductVersion": "v2.4.9.0", + "ProductVersion": "v2.4.10.0", "SpecialBuild": "" }, "VarFileInfo": { From 9f225761365be961e776043bad9972c55bb67f7e Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Mon, 14 Aug 2023 13:25:42 -0700 Subject: [PATCH 17/32] fix lowercase hostname --- agent/agent.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/agent/agent.go b/agent/agent.go index 4020052..2f94140 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -104,6 +104,11 @@ func New(logger *logrus.Logger, version string) *Agent { winTempDir := defaultWinTmpDir winRunAsUserTmpDir := defaultWinTmpDir + hostname, err := os.Hostname() + if err != nil { + hostname = info.Hostname + } + var pybin string switch runtime.GOARCH { case "amd64": @@ -201,7 +206,7 @@ func New(logger *logrus.Logger, version string) *Agent { } return &Agent{ - Hostname: info.Hostname, + Hostname: hostname, BaseURL: ac.BaseURL, AgentID: ac.AgentID, ApiURL: ac.APIURL, From 0777195423cd26fe2f39e787f5e94c4689671e0e Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Mon, 14 Aug 2023 13:34:38 -0700 Subject: [PATCH 18/32] bump version --- build/rmm.exe.manifest | 2 +- build/setup.iss | 2 +- main.go | 2 +- versioninfo.json | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/rmm.exe.manifest b/build/rmm.exe.manifest index 2071286..a1ed766 100644 --- a/build/rmm.exe.manifest +++ b/build/rmm.exe.manifest @@ -3,7 +3,7 @@ diff --git a/build/setup.iss b/build/setup.iss index 720e4eb..7b18ad4 100644 --- a/build/setup.iss +++ b/build/setup.iss @@ -1,5 +1,5 @@ #define MyAppName "Tactical RMM Agent" -#define MyAppVersion "2.4.10" +#define MyAppVersion "2.4.11" #define MyAppPublisher "AmidaWare LLC" #define MyAppURL "https://github.com/amidaware" #define MyAppExeName "tacticalrmm.exe" diff --git a/main.go b/main.go index 52730fe..56dc178 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) var ( - version = "2.4.10" + version = "2.4.11" log = logrus.New() logFile *os.File ) diff --git a/versioninfo.json b/versioninfo.json index 2d29460..0d85476 100644 --- a/versioninfo.json +++ b/versioninfo.json @@ -3,13 +3,13 @@ "FileVersion": { "Major": 2, "Minor": 4, - "Patch": 10, + "Patch": 11, "Build": 0 }, "ProductVersion": { "Major": 2, "Minor": 4, - "Patch": 10, + "Patch": 11, "Build": 0 }, "FileFlagsMask": "3f", @@ -22,14 +22,14 @@ "Comments": "", "CompanyName": "AmidaWare LLC", "FileDescription": "Tactical RMM Agent", - "FileVersion": "v2.4.10.0", + "FileVersion": "v2.4.11.0", "InternalName": "tacticalrmm.exe", "LegalCopyright": "Copyright (c) 2023 AmidaWare LLC", "LegalTrademarks": "", "OriginalFilename": "tacticalrmm.exe", "PrivateBuild": "", "ProductName": "Tactical RMM Agent", - "ProductVersion": "v2.4.10.0", + "ProductVersion": "v2.4.11.0", "SpecialBuild": "" }, "VarFileInfo": { From 90d0bbf0203fa51da7ca87cfa3d9e99db3367f4a Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Thu, 24 Aug 2023 12:17:52 -0700 Subject: [PATCH 19/32] add insecure flag to allow self-signed certs to work --- agent/agent.go | 17 +++++++++++++ agent/agent_unix.go | 8 ++++++ agent/agent_windows.go | 9 +++++++ agent/install.go | 55 +++++++++++++++++++++++++--------------- agent/install_unix.go | 6 ++++- agent/install_windows.go | 16 +++++++++++- main.go | 40 ++++++++++++++++------------- shared/types.go | 1 + 8 files changed, 112 insertions(+), 40 deletions(-) diff --git a/agent/agent.go b/agent/agent.go index 2f94140..27ab548 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -14,6 +14,7 @@ package agent import ( "bytes" "context" + "crypto/tls" "errors" "fmt" "math" @@ -73,6 +74,7 @@ type Agent struct { NatsProxyPort string NatsPingInterval int NatsWSCompression bool + Insecure bool } const ( @@ -125,12 +127,20 @@ func New(logger *logrus.Logger, version string) *Agent { headers["Authorization"] = fmt.Sprintf("Token %s", ac.Token) } + insecure := ac.Insecure == "true" + restyC := resty.New() restyC.SetBaseURL(ac.BaseURL) restyC.SetCloseConnection(true) restyC.SetHeaders(headers) restyC.SetTimeout(15 * time.Second) restyC.SetDebug(logger.IsLevelEnabled(logrus.DebugLevel)) + if insecure { + insecureConf := &tls.Config{ + InsecureSkipVerify: true, + } + restyC.SetTLSClientConfig(insecureConf) + } if len(ac.Proxy) > 0 { restyC.SetProxy(ac.Proxy) @@ -236,6 +246,7 @@ func New(logger *logrus.Logger, version string) *Agent { NatsProxyPort: natsProxyPort, NatsPingInterval: natsPingInterval, NatsWSCompression: natsWsCompression, + Insecure: insecure, } } @@ -477,6 +488,12 @@ func (a *Agent) setupNatsOptions() []nats.Option { a.Logger.Errorln("NATS error:", err) a.Logger.Errorf("%+v\n", sub) })) + if a.Insecure { + insecureConf := &tls.Config{ + InsecureSkipVerify: true, + } + opts = append(opts, nats.Secure(insecureConf)) + } return opts } diff --git a/agent/agent_unix.go b/agent/agent_unix.go index bcd0e02..dc5b01b 100644 --- a/agent/agent_unix.go +++ b/agent/agent_unix.go @@ -16,6 +16,7 @@ package agent import ( "bufio" + "crypto/tls" "errors" "fmt" "os" @@ -160,6 +161,7 @@ func NewAgentConfig() *rmm.AgentConfig { NatsProxyPort: viper.GetString("natsproxyport"), NatsStandardPort: viper.GetString("natsstandardport"), NatsPingInterval: viper.GetInt("natspinginterval"), + Insecure: viper.GetString("insecure"), } return ret } @@ -248,6 +250,12 @@ func (a *Agent) AgentUpdate(url, inno, version string) error { if len(a.Proxy) > 0 { rClient.SetProxy(a.Proxy) } + if a.Insecure { + insecureConf := &tls.Config{ + InsecureSkipVerify: true, + } + rClient.SetTLSClientConfig(insecureConf) + } r, err := rClient.R().SetOutput(f.Name()).Get(url) if err != nil { diff --git a/agent/agent_windows.go b/agent/agent_windows.go index ebdce00..c9f8935 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -14,6 +14,7 @@ package agent import ( "bytes" "context" + "crypto/tls" "errors" "fmt" "os" @@ -68,6 +69,7 @@ func NewAgentConfig() *rmm.AgentConfig { natsStandardPort, _, _ := k.GetStringValue("NatsStandardPort") natsPingInterval, _, _ := k.GetStringValue("NatsPingInterval") npi, _ := strconv.Atoi(natsPingInterval) + insecure, _, _ := k.GetStringValue("Insecure") return &rmm.AgentConfig{ BaseURL: baseurl, @@ -85,6 +87,7 @@ func NewAgentConfig() *rmm.AgentConfig { NatsProxyPort: natsProxyPort, NatsStandardPort: natsStandardPort, NatsPingInterval: npi, + Insecure: insecure, } } @@ -615,6 +618,12 @@ func (a *Agent) AgentUpdate(url, inno, version string) error { if len(a.Proxy) > 0 { rClient.SetProxy(a.Proxy) } + if a.Insecure { + insecureConf := &tls.Config{ + InsecureSkipVerify: true, + } + rClient.SetTLSClientConfig(insecureConf) + } r, err := rClient.R().SetOutput(updater).Get(url) if err != nil { a.Logger.Errorln(err) diff --git a/agent/install.go b/agent/install.go index 35c354c..59a0cb9 100644 --- a/agent/install.go +++ b/agent/install.go @@ -12,6 +12,7 @@ https://license.tacticalrmm.com package agent import ( + "crypto/tls" "fmt" "io" "net/url" @@ -28,25 +29,27 @@ import ( ) type Installer struct { - Headers map[string]string - RMM string - ClientID int - SiteID int - Description string - AgentType string - Power bool - RDP bool - Ping bool - Token string - LocalMesh string - Cert string - Proxy string - Timeout time.Duration - SaltMaster string - Silent bool - NoMesh bool - MeshDir string - MeshNodeID string + Headers map[string]string + RMM string + ClientID int + SiteID int + Description string + AgentType string + Power bool + RDP bool + Ping bool + Token string + LocalMesh string + Cert string + Proxy string + Timeout time.Duration + SaltMaster string + Silent bool + NoMesh bool + MeshDir string + MeshNodeID string + Insecure bool + NatsStandardPort string } func (a *Agent) Install(i *Installer) { @@ -97,6 +100,14 @@ func (a *Agent) Install(i *Installer) { iClient.SetProxy(i.Proxy) } + insecureConf := &tls.Config{ + InsecureSkipVerify: true, + } + + if i.Insecure { + iClient.SetTLSClientConfig(insecureConf) + } + creds, cerr := iClient.R().Get(fmt.Sprintf("%s/api/v3/installer/", baseURL)) if cerr != nil { a.installerMsg(cerr.Error(), "error", i.Silent) @@ -133,6 +144,10 @@ func (a *Agent) Install(i *Installer) { rClient.SetProxy(i.Proxy) } + if i.Insecure { + rClient.SetTLSClientConfig(insecureConf) + } + var installerMeshSystemEXE string if len(i.MeshDir) > 0 { installerMeshSystemEXE = filepath.Join(i.MeshDir, "MeshAgent.exe") @@ -230,7 +245,7 @@ func (a *Agent) Install(i *Installer) { a.Logger.Debugln("Agent token:", agentToken) a.Logger.Debugln("Agent PK:", agentPK) - createAgentConfig(baseURL, a.AgentID, i.SaltMaster, agentToken, strconv.Itoa(agentPK), i.Cert, i.Proxy, i.MeshDir) + createAgentConfig(baseURL, a.AgentID, i.SaltMaster, agentToken, strconv.Itoa(agentPK), i.Cert, i.Proxy, i.MeshDir, i.NatsStandardPort, i.Insecure) time.Sleep(1 * time.Second) // refresh our agent with new values a = New(a.Logger, a.Version) diff --git a/agent/install_unix.go b/agent/install_unix.go index 1c9ba5d..da0298b 100644 --- a/agent/install_unix.go +++ b/agent/install_unix.go @@ -33,7 +33,7 @@ func (a *Agent) installerMsg(msg, alert string, silent bool) { } } -func createAgentConfig(baseurl, agentid, apiurl, token, agentpk, cert, proxy, meshdir string) { +func createAgentConfig(baseurl, agentid, apiurl, token, agentpk, cert, proxy, meshdir, natsport string, insecure bool) { viper.SetConfigType("json") viper.Set("baseurl", baseurl) viper.Set("agentid", agentid) @@ -43,6 +43,10 @@ func createAgentConfig(baseurl, agentid, apiurl, token, agentpk, cert, proxy, me viper.Set("cert", cert) viper.Set("proxy", proxy) viper.Set("meshdir", meshdir) + viper.Set("natsstandardport", natsport) + if insecure { + viper.Set("insecure", "true") + } viper.SetConfigPermissions(0660) err := viper.SafeWriteConfigAs(etcConfig) if err != nil { diff --git a/agent/install_windows.go b/agent/install_windows.go index 3f8b630..04a24c2 100644 --- a/agent/install_windows.go +++ b/agent/install_windows.go @@ -21,7 +21,7 @@ import ( "golang.org/x/sys/windows/registry" ) -func createAgentConfig(baseurl, agentid, apiurl, token, agentpk, cert, proxy, meshdir string) { +func createAgentConfig(baseurl, agentid, apiurl, token, agentpk, cert, proxy, meshdir, natsport string, insecure bool) { k, _, err := registry.CreateKey(registry.LOCAL_MACHINE, `SOFTWARE\TacticalRMM`, registry.ALL_ACCESS) if err != nil { log.Fatalln("Error creating registry key:", err) @@ -73,6 +73,20 @@ func createAgentConfig(baseurl, agentid, apiurl, token, agentpk, cert, proxy, me log.Fatalln("Error creating MeshDir registry key:", err) } } + + if len(natsport) > 0 { + err = k.SetStringValue("NatsStandardPort", natsport) + if err != nil { + log.Fatalln("Error creating NatsStandardPort registry key:", err) + } + } + + if insecure { + err = k.SetStringValue("Insecure", "true") + if err != nil { + log.Fatalln("Error creating Insecure registry key:", err) + } + } } func (a *Agent) checkExistingAndRemove(silent bool) { diff --git a/main.go b/main.go index 56dc178..cfbc32f 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) var ( - version = "2.4.11" + version = "2.4.12-dev" log = logrus.New() logFile *os.File ) @@ -53,6 +53,8 @@ func main() { cert := flag.String("cert", "", "Path to domain CA .pem") silent := flag.Bool("silent", false, "Do not popup any message boxes during installation") proxy := flag.String("proxy", "", "Use a http proxy") + insecure := flag.Bool("insecure", false, "Insecure for testing only") + natsport := flag.String("natsport", "", "nats standard port") flag.Parse() if *ver { @@ -141,23 +143,25 @@ func main() { return } a.Install(&agent.Installer{ - RMM: *api, - ClientID: *clientID, - SiteID: *siteID, - Description: *desc, - AgentType: *atype, - Power: *power, - RDP: *rdp, - Ping: *ping, - Token: *token, - LocalMesh: *localMesh, - Cert: *cert, - Proxy: *proxy, - Timeout: *timeout, - Silent: *silent, - NoMesh: *noMesh, - MeshDir: *meshDir, - MeshNodeID: *meshNodeID, + RMM: *api, + ClientID: *clientID, + SiteID: *siteID, + Description: *desc, + AgentType: *atype, + Power: *power, + RDP: *rdp, + Ping: *ping, + Token: *token, + LocalMesh: *localMesh, + Cert: *cert, + Proxy: *proxy, + Timeout: *timeout, + Silent: *silent, + NoMesh: *noMesh, + MeshDir: *meshDir, + MeshNodeID: *meshNodeID, + Insecure: *insecure, + NatsStandardPort: *natsport, }) default: agent.ShowStatus(version) diff --git a/shared/types.go b/shared/types.go index 3fbf3f4..72ed50a 100644 --- a/shared/types.go +++ b/shared/types.go @@ -48,6 +48,7 @@ type AgentConfig struct { NatsProxyPort string NatsStandardPort string NatsPingInterval int + Insecure string } type RunScriptResp struct { From 4f9114875334c2d4e71bddf4e6530203077845a6 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Thu, 24 Aug 2023 12:35:11 -0700 Subject: [PATCH 20/32] fix env vars in runasuser fixes amidaware/tacticalrmm#1614 --- agent/agent_windows.go | 27 ++++++++++++++++++----- agent/syscall_windows.go | 47 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 6 deletions(-) diff --git a/agent/agent_windows.go b/agent/agent_windows.go index c9f8935..75b148c 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -161,22 +161,37 @@ func (a *Agent) RunScript(code string, shell string, args []string, timeout int, defer cancel() var timedOut = false + var token *wintoken.Token + var envBlock *uint16 + usingEnvVars := len(envVars) > 0 cmd := exec.Command(exe, cmdArgs...) if runasuser { - token, err := wintoken.GetInteractiveToken(wintoken.TokenImpersonation) + token, err = wintoken.GetInteractiveToken(wintoken.TokenImpersonation) if err == nil { defer token.Close() cmd.SysProcAttr = &syscall.SysProcAttr{Token: syscall.Token(token.Token()), HideWindow: true} + + if usingEnvVars { + envBlock, err = CreateEnvironmentBlock(syscall.Token(token.Token())) + if err == nil { + defer DestroyEnvironmentBlock(envBlock) + userEnv := EnvironmentBlockToSlice(envBlock) + cmd.Env = userEnv + } else { + cmd.Env = os.Environ() + } + } } + } else if usingEnvVars { + cmd.Env = os.Environ() + } + + if usingEnvVars { + cmd.Env = append(cmd.Env, envVars...) } cmd.Stdout = &outb cmd.Stderr = &errb - if len(envVars) > 0 { - cmd.Env = os.Environ() - cmd.Env = append(cmd.Env, envVars...) - } - if cmdErr := cmd.Start(); cmdErr != nil { a.Logger.Debugln(cmdErr) return "", cmdErr.Error(), 65, cmdErr diff --git a/agent/syscall_windows.go b/agent/syscall_windows.go index 26173ef..e7eccfd 100644 --- a/agent/syscall_windows.go +++ b/agent/syscall_windows.go @@ -24,11 +24,14 @@ var _ unsafe.Pointer var ( modadvapi32 = windows.NewLazySystemDLL("advapi32.dll") modkernel32 = windows.NewLazySystemDLL("kernel32.dll") + userenv = windows.NewLazyDLL("userenv.dll") procFormatMessageW = modkernel32.NewProc("FormatMessageW") procGetOldestEventLogRecord = modadvapi32.NewProc("GetOldestEventLogRecord") procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") procReadEventLogW = modadvapi32.NewProc("ReadEventLogW") + procCreateEnvironmentBlock = userenv.NewProc("CreateEnvironmentBlock") + procDestroyEnvironmentBlock = userenv.NewProc("DestroyEnvironmentBlock") ) // https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-eventlogrecord @@ -114,3 +117,47 @@ func ReadEventLog(eventLog w32.HANDLE, readFlags ReadFlag, recordOffset uint32, } return } + +func CreateEnvironmentBlock(token syscall.Token) (*uint16, error) { + var envBlock *uint16 + + ret, _, err := procCreateEnvironmentBlock.Call( + uintptr(unsafe.Pointer(&envBlock)), + uintptr(token), + 0, + ) + if ret == 0 { + return nil, err + } + + return envBlock, nil +} + +func DestroyEnvironmentBlock(envBlock *uint16) error { + ret, _, err := procDestroyEnvironmentBlock.Call(uintptr(unsafe.Pointer(envBlock))) + if ret == 0 { + return err + } + return nil +} + +func EnvironmentBlockToSlice(envBlock *uint16) []string { + var envs []string + + for { + len := 0 + for *(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(envBlock)) + uintptr(len*2))) != 0 { + len++ + } + + if len == 0 { + break + } + + env := syscall.UTF16ToString((*[1 << 29]uint16)(unsafe.Pointer(envBlock))[:len]) + envs = append(envs, env) + envBlock = (*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(envBlock)) + uintptr((len+1)*2))) + } + + return envs +} From e0f2957e9649e7dc1990419ab6176ea5e732e426 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Tue, 29 Aug 2023 17:03:50 -0700 Subject: [PATCH 21/32] update reqs --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index ac512b9..641c939 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.20 require ( github.com/StackExchange/wmi v1.2.1 - github.com/elastic/go-sysinfo v1.11.0 + github.com/elastic/go-sysinfo v1.11.1 github.com/go-ole/go-ole v1.2.6 github.com/go-ping/ping v1.1.0 github.com/go-resty/resty/v2 v2.7.0 diff --git a/go.sum b/go.sum index 8ac1a15..13f963d 100644 --- a/go.sum +++ b/go.sum @@ -64,6 +64,8 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/elastic/go-sysinfo v1.11.0 h1:QW+6BF1oxBoAprH3w2yephF7xLkrrSXj7gl2xC2BM4w= github.com/elastic/go-sysinfo v1.11.0/go.mod h1:6KQb31j0QeWBDF88jIdWSxE8cwoOB9tO4Y4osN7Q70E= +github.com/elastic/go-sysinfo v1.11.1 h1:g9mwl05njS4r69TisC+vwHWTSKywZFYYUu3so3T/Lao= +github.com/elastic/go-sysinfo v1.11.1/go.mod h1:6KQb31j0QeWBDF88jIdWSxE8cwoOB9tO4Y4osN7Q70E= github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUtJm0= github.com/elastic/go-windows v1.0.1/go.mod h1:FoVvqWSun28vaDQPbj2Elfc0JahhPB7WQEGa3c814Ss= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= From 08488cee15064fd54f142852737d83b24dac7075 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Fri, 1 Sep 2023 14:33:43 -0700 Subject: [PATCH 22/32] update name --- LICENSE.md | 14 +++++++------- agent/agent.go | 2 +- agent/agent_unix.go | 2 +- agent/agent_windows.go | 2 +- agent/checkin.go | 2 +- agent/checks.go | 2 +- agent/choco_windows.go | 2 +- agent/eventlog_windows.go | 2 +- agent/install.go | 2 +- agent/install_unix.go | 2 +- agent/install_windows.go | 2 +- agent/patches_windows.go | 2 +- agent/process.go | 2 +- agent/rpc.go | 2 +- agent/services_windows.go | 2 +- agent/software_windows_386.go | 2 +- agent/software_windows_amd64.go | 2 +- agent/svc.go | 2 +- agent/syscall_windows.go | 2 +- agent/tasks_windows.go | 2 +- agent/utils.go | 2 +- agent/wmi_windows.go | 2 +- agent/wua_windows.go | 2 +- build/setup.iss | 2 +- main.go | 2 +- shared/types.go | 2 +- versioninfo.json | 4 ++-- 27 files changed, 34 insertions(+), 34 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 530804b..3549ac5 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,11 +1,11 @@ ### Tactical RMM License Version 1.0 -Text of license:   Copyright © 2022 AmidaWare LLC. All rights reserved.
+Text of license:   Copyright © 2022 AmidaWare Inc. All rights reserved.
          Amending the text of this license is not permitted. -Trade Mark:    "Tactical RMM" is a trade mark of AmidaWare LLC. +Trade Mark:    "Tactical RMM" is a trade mark of AmidaWare Inc. -Licensor:       AmidaWare LLC of 1968 S Coast Hwy PMB 3847 Laguna Beach, CA, USA. +Licensor:       AmidaWare Inc. of 1968 S Coast Hwy PMB 3847 Laguna Beach, CA, USA. Licensed Software:  The software known as Tactical RMM Version v0.12.0 (and all subsequent releases and versions) and the Tactical RMM Agent v2.0.0 (and all subsequent releases and versions). @@ -26,7 +26,7 @@ This license does not allow the functionality of the Licensed Software (whether * the offering of installation and/or configuration services; * the offer for sale, distribution or sale of any service or product (whether or not branded as Tactical RMM). -The prior written approval of AmidaWare LLC must be obtained for all commercial use and/or for-profit service use of the (i) Licensed Software (whether in whole or in part), (ii) a modified version of the Licensed Software and/or (iii) a derivative work. +The prior written approval of AmidaWare Inc. must be obtained for all commercial use and/or for-profit service use of the (i) Licensed Software (whether in whole or in part), (ii) a modified version of the Licensed Software and/or (iii) a derivative work. The terms of this license apply to all copies of the Licensed Software (including modified versions) and derivative works. @@ -38,7 +38,7 @@ If a derivative work is created which is based on or otherwise incorporates all ### 4. Copyright Notice The following copyright notice shall be included in all copies of the Licensed Software: -   Copyright © 2022 AmidaWare LLC. +   Copyright © 2022 AmidaWare Inc.    Licensed under the Tactical RMM License Version 1.0 (the “License”).
   You may only use the Licensed Software in accordance with the License.
@@ -54,13 +54,13 @@ THE FOLLOWING EXCLUSIONS SHALL APPLY TO THE FULLEST EXTENT PERMISSIBLE AT LAW. This license shall terminate with immediate effect if there is a material breach of any of its terms. ### 8. No partnership, agency or joint venture -Nothing in this license agreement is intended to, or shall be deemed to, establish any partnership or joint venture or any relationship of agency between AmidaWare LLC and any other person. +Nothing in this license agreement is intended to, or shall be deemed to, establish any partnership or joint venture or any relationship of agency between AmidaWare Inc. and any other person. ### 9. No endorsement The names of the authors and/or the copyright holders must not be used to promote or endorse any products or services which are in any way derived from the Licensed Software without prior written consent. ### 10. Trademarks -No permission is granted to use the trademark “Tactical RMM” or any other trade name, trademark, service mark or product name of AmidaWare LLC except to the extent necessary to comply with the notice requirements in Section 4 (Copyright Notice). +No permission is granted to use the trademark “Tactical RMM” or any other trade name, trademark, service mark or product name of AmidaWare Inc. except to the extent necessary to comply with the notice requirements in Section 4 (Copyright Notice). ### 11. Entire agreement This license contains the whole agreement relating to its subject matter. diff --git a/agent/agent.go b/agent/agent.go index 27ab548..53b8d83 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/agent_unix.go b/agent/agent_unix.go index dc5b01b..dddb5aa 100644 --- a/agent/agent_unix.go +++ b/agent/agent_unix.go @@ -2,7 +2,7 @@ // +build !windows /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/agent_windows.go b/agent/agent_windows.go index 75b148c..4ddc414 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/checkin.go b/agent/checkin.go index 9990198..b9bf977 100644 --- a/agent/checkin.go +++ b/agent/checkin.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/checks.go b/agent/checks.go index 00925d7..0f06015 100644 --- a/agent/checks.go +++ b/agent/checks.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/choco_windows.go b/agent/choco_windows.go index 5053f09..40e6210 100644 --- a/agent/choco_windows.go +++ b/agent/choco_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/eventlog_windows.go b/agent/eventlog_windows.go index c1313ef..6a93e25 100644 --- a/agent/eventlog_windows.go +++ b/agent/eventlog_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/install.go b/agent/install.go index 59a0cb9..000de7f 100644 --- a/agent/install.go +++ b/agent/install.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/install_unix.go b/agent/install_unix.go index da0298b..caefc30 100644 --- a/agent/install_unix.go +++ b/agent/install_unix.go @@ -2,7 +2,7 @@ // +build !windows /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/install_windows.go b/agent/install_windows.go index 04a24c2..6142eee 100644 --- a/agent/install_windows.go +++ b/agent/install_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/patches_windows.go b/agent/patches_windows.go index 7d41baf..3074244 100644 --- a/agent/patches_windows.go +++ b/agent/patches_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/process.go b/agent/process.go index ae7c392..35e8008 100644 --- a/agent/process.go +++ b/agent/process.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/rpc.go b/agent/rpc.go index ed975d9..5ee17d8 100644 --- a/agent/rpc.go +++ b/agent/rpc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/services_windows.go b/agent/services_windows.go index 75624f5..f7e0436 100644 --- a/agent/services_windows.go +++ b/agent/services_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/software_windows_386.go b/agent/software_windows_386.go index 1be5cd0..e0b1e79 100644 --- a/agent/software_windows_386.go +++ b/agent/software_windows_386.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/software_windows_amd64.go b/agent/software_windows_amd64.go index ce84005..802b1d9 100644 --- a/agent/software_windows_amd64.go +++ b/agent/software_windows_amd64.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/svc.go b/agent/svc.go index eacc8c0..5110489 100644 --- a/agent/svc.go +++ b/agent/svc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/syscall_windows.go b/agent/syscall_windows.go index e7eccfd..5759743 100644 --- a/agent/syscall_windows.go +++ b/agent/syscall_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/tasks_windows.go b/agent/tasks_windows.go index 086b80e..e4236ac 100644 --- a/agent/tasks_windows.go +++ b/agent/tasks_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/utils.go b/agent/utils.go index 623126e..3b2f177 100644 --- a/agent/utils.go +++ b/agent/utils.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/wmi_windows.go b/agent/wmi_windows.go index 194ecb0..2fcade5 100644 --- a/agent/wmi_windows.go +++ b/agent/wmi_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/wua_windows.go b/agent/wua_windows.go index bc76230..9c0eb68 100644 --- a/agent/wua_windows.go +++ b/agent/wua_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/build/setup.iss b/build/setup.iss index 7b18ad4..18c8f84 100644 --- a/build/setup.iss +++ b/build/setup.iss @@ -1,6 +1,6 @@ #define MyAppName "Tactical RMM Agent" #define MyAppVersion "2.4.11" -#define MyAppPublisher "AmidaWare LLC" +#define MyAppPublisher "AmidaWare Inc" #define MyAppURL "https://github.com/amidaware" #define MyAppExeName "tacticalrmm.exe" #define MESHEXE "meshagent.exe" diff --git a/main.go b/main.go index cfbc32f..3cb0a93 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/shared/types.go b/shared/types.go index 72ed50a..cc0fa82 100644 --- a/shared/types.go +++ b/shared/types.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare LLC. +Copyright 2022 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/versioninfo.json b/versioninfo.json index 0d85476..0b75389 100644 --- a/versioninfo.json +++ b/versioninfo.json @@ -20,11 +20,11 @@ }, "StringFileInfo": { "Comments": "", - "CompanyName": "AmidaWare LLC", + "CompanyName": "AmidaWare Inc", "FileDescription": "Tactical RMM Agent", "FileVersion": "v2.4.11.0", "InternalName": "tacticalrmm.exe", - "LegalCopyright": "Copyright (c) 2023 AmidaWare LLC", + "LegalCopyright": "Copyright (c) 2023 AmidaWare Inc", "LegalTrademarks": "", "OriginalFilename": "tacticalrmm.exe", "PrivateBuild": "", From 2e0a42a6a153a2742f45ea3f62017255824d2a25 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Fri, 1 Sep 2023 14:34:48 -0700 Subject: [PATCH 23/32] update year --- LICENSE.md | 4 ++-- agent/agent.go | 2 +- agent/agent_unix.go | 2 +- agent/agent_windows.go | 2 +- agent/checkin.go | 2 +- agent/checks.go | 2 +- agent/choco_windows.go | 2 +- agent/eventlog_windows.go | 2 +- agent/install.go | 2 +- agent/install_unix.go | 2 +- agent/install_windows.go | 2 +- agent/patches_windows.go | 2 +- agent/process.go | 2 +- agent/rpc.go | 2 +- agent/services_windows.go | 2 +- agent/software_windows_386.go | 2 +- agent/software_windows_amd64.go | 2 +- agent/svc.go | 2 +- agent/syscall_windows.go | 2 +- agent/tasks_windows.go | 2 +- agent/utils.go | 2 +- agent/wmi_windows.go | 2 +- agent/wua_windows.go | 2 +- main.go | 2 +- shared/types.go | 2 +- 25 files changed, 26 insertions(+), 26 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 3549ac5..8783c2a 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ ### Tactical RMM License Version 1.0 -Text of license:   Copyright © 2022 AmidaWare Inc. All rights reserved.
+Text of license:   Copyright © 2023 AmidaWare Inc. All rights reserved.
          Amending the text of this license is not permitted. Trade Mark:    "Tactical RMM" is a trade mark of AmidaWare Inc. @@ -38,7 +38,7 @@ If a derivative work is created which is based on or otherwise incorporates all ### 4. Copyright Notice The following copyright notice shall be included in all copies of the Licensed Software: -   Copyright © 2022 AmidaWare Inc. +   Copyright © 2023 AmidaWare Inc.    Licensed under the Tactical RMM License Version 1.0 (the “License”).
   You may only use the Licensed Software in accordance with the License.
diff --git a/agent/agent.go b/agent/agent.go index 53b8d83..1cc74cf 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/agent_unix.go b/agent/agent_unix.go index dddb5aa..80d81c1 100644 --- a/agent/agent_unix.go +++ b/agent/agent_unix.go @@ -2,7 +2,7 @@ // +build !windows /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/agent_windows.go b/agent/agent_windows.go index 4ddc414..140c403 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/checkin.go b/agent/checkin.go index b9bf977..6c9923a 100644 --- a/agent/checkin.go +++ b/agent/checkin.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/checks.go b/agent/checks.go index 0f06015..930e947 100644 --- a/agent/checks.go +++ b/agent/checks.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/choco_windows.go b/agent/choco_windows.go index 40e6210..f75b15f 100644 --- a/agent/choco_windows.go +++ b/agent/choco_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/eventlog_windows.go b/agent/eventlog_windows.go index 6a93e25..f4c9fec 100644 --- a/agent/eventlog_windows.go +++ b/agent/eventlog_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/install.go b/agent/install.go index 000de7f..1d6c75a 100644 --- a/agent/install.go +++ b/agent/install.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/install_unix.go b/agent/install_unix.go index caefc30..b1e76b0 100644 --- a/agent/install_unix.go +++ b/agent/install_unix.go @@ -2,7 +2,7 @@ // +build !windows /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/install_windows.go b/agent/install_windows.go index 6142eee..aa2c434 100644 --- a/agent/install_windows.go +++ b/agent/install_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/patches_windows.go b/agent/patches_windows.go index 3074244..81c71cd 100644 --- a/agent/patches_windows.go +++ b/agent/patches_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/process.go b/agent/process.go index 35e8008..b4d5f5a 100644 --- a/agent/process.go +++ b/agent/process.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/rpc.go b/agent/rpc.go index 5ee17d8..8ecae5c 100644 --- a/agent/rpc.go +++ b/agent/rpc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/services_windows.go b/agent/services_windows.go index f7e0436..e782021 100644 --- a/agent/services_windows.go +++ b/agent/services_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/software_windows_386.go b/agent/software_windows_386.go index e0b1e79..b747268 100644 --- a/agent/software_windows_386.go +++ b/agent/software_windows_386.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/software_windows_amd64.go b/agent/software_windows_amd64.go index 802b1d9..bb5dc50 100644 --- a/agent/software_windows_amd64.go +++ b/agent/software_windows_amd64.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/svc.go b/agent/svc.go index 5110489..e7f03ea 100644 --- a/agent/svc.go +++ b/agent/svc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/syscall_windows.go b/agent/syscall_windows.go index 5759743..2d8b8c8 100644 --- a/agent/syscall_windows.go +++ b/agent/syscall_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/tasks_windows.go b/agent/tasks_windows.go index e4236ac..ab199f4 100644 --- a/agent/tasks_windows.go +++ b/agent/tasks_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/utils.go b/agent/utils.go index 3b2f177..6eacaca 100644 --- a/agent/utils.go +++ b/agent/utils.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/wmi_windows.go b/agent/wmi_windows.go index 2fcade5..13ca8ef 100644 --- a/agent/wmi_windows.go +++ b/agent/wmi_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/agent/wua_windows.go b/agent/wua_windows.go index 9c0eb68..913bcd4 100644 --- a/agent/wua_windows.go +++ b/agent/wua_windows.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/main.go b/main.go index 3cb0a93..fe2e842 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. diff --git a/shared/types.go b/shared/types.go index cc0fa82..d7a6f24 100644 --- a/shared/types.go +++ b/shared/types.go @@ -1,5 +1,5 @@ /* -Copyright 2022 AmidaWare Inc. +Copyright 2023 AmidaWare Inc. Licensed under the Tactical RMM License Version 1.0 (the “License”). You may only use the Licensed Software in accordance with the License. From 753242a9493dcba22f90ad08597bd94aaffbbfd5 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Fri, 1 Sep 2023 14:48:17 -0700 Subject: [PATCH 24/32] bump version --- build/rmm.exe.manifest | 2 +- build/setup.iss | 2 +- main.go | 2 +- versioninfo.json | 12 ++++++------ 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build/rmm.exe.manifest b/build/rmm.exe.manifest index a1ed766..f6a3836 100644 --- a/build/rmm.exe.manifest +++ b/build/rmm.exe.manifest @@ -3,7 +3,7 @@ diff --git a/build/setup.iss b/build/setup.iss index 18c8f84..bc2ed6d 100644 --- a/build/setup.iss +++ b/build/setup.iss @@ -1,5 +1,5 @@ #define MyAppName "Tactical RMM Agent" -#define MyAppVersion "2.4.11" +#define MyAppVersion "2.5.0" #define MyAppPublisher "AmidaWare Inc" #define MyAppURL "https://github.com/amidaware" #define MyAppExeName "tacticalrmm.exe" diff --git a/main.go b/main.go index fe2e842..cc302ca 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) var ( - version = "2.4.12-dev" + version = "2.5.0" log = logrus.New() logFile *os.File ) diff --git a/versioninfo.json b/versioninfo.json index 0b75389..b389cf0 100644 --- a/versioninfo.json +++ b/versioninfo.json @@ -2,14 +2,14 @@ "FixedFileInfo": { "FileVersion": { "Major": 2, - "Minor": 4, - "Patch": 11, + "Minor": 5, + "Patch": 0, "Build": 0 }, "ProductVersion": { "Major": 2, - "Minor": 4, - "Patch": 11, + "Minor": 5, + "Patch": 0, "Build": 0 }, "FileFlagsMask": "3f", @@ -22,14 +22,14 @@ "Comments": "", "CompanyName": "AmidaWare Inc", "FileDescription": "Tactical RMM Agent", - "FileVersion": "v2.4.11.0", + "FileVersion": "v2.5.0.0", "InternalName": "tacticalrmm.exe", "LegalCopyright": "Copyright (c) 2023 AmidaWare Inc", "LegalTrademarks": "", "OriginalFilename": "tacticalrmm.exe", "PrivateBuild": "", "ProductName": "Tactical RMM Agent", - "ProductVersion": "v2.4.11.0", + "ProductVersion": "v2.5.0.0", "SpecialBuild": "" }, "VarFileInfo": { From e6fea56198d5fb4196449969e008196be4dd53ec Mon Sep 17 00:00:00 2001 From: sadnub Date: Tue, 21 Nov 2023 23:08:53 -0500 Subject: [PATCH 25/32] change run once task trigger to on registration --- agent/tasks_windows.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/agent/tasks_windows.go b/agent/tasks_windows.go index ab199f4..8fc0b4f 100644 --- a/agent/tasks_windows.go +++ b/agent/tasks_windows.go @@ -180,6 +180,10 @@ func (a *Agent) CreateSchedTask(st SchedTask) (bool, error) { Enabled: st.Enabled, StartBoundary: now, } + } else if st.Trigger == "runonce" { + tasktrigger = taskmaster.TaskTrigger{ + Enabled: st.Enabled, + } } else { tasktrigger = taskmaster.TaskTrigger{ Enabled: st.Enabled, @@ -201,9 +205,9 @@ func (a *Agent) CreateSchedTask(st SchedTask) (bool, error) { switch st.Trigger { case "runonce": - trigger = taskmaster.TimeTrigger{ + trigger = taskmaster.RegistrationTrigger{ TaskTrigger: tasktrigger, - RandomDelay: st.RandomDelay, + Delay: st.RandomDelay, } case "daily": From 021f4febbbb596cecc5b5b7df4b4b26037464880 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Wed, 22 Nov 2023 14:15:50 -0800 Subject: [PATCH 26/32] update ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e54679e..8ad7e95 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-go@v4 with: - go-version: '1.20.7' + go-version: '1.20.11' - name: Ensure linux agent compiles run: | From 1814d0f19d9d4a688e0813e307e32f6b3b0eb925 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Wed, 22 Nov 2023 14:24:30 -0800 Subject: [PATCH 27/32] update reqs --- go.mod | 44 ++++++++++--------- go.sum | 131 ++++++++++++++++++++++++++++++++++----------------------- 2 files changed, 102 insertions(+), 73 deletions(-) diff --git a/go.mod b/go.mod index 641c939..9cf4082 100644 --- a/go.mod +++ b/go.mod @@ -5,21 +5,20 @@ go 1.20 require ( github.com/StackExchange/wmi v1.2.1 github.com/elastic/go-sysinfo v1.11.1 - github.com/go-ole/go-ole v1.2.6 + github.com/go-ole/go-ole v1.3.0 github.com/go-ping/ping v1.1.0 - github.com/go-resty/resty/v2 v2.7.0 - github.com/gonutz/w32/v2 v2.4.0 + github.com/go-resty/resty/v2 v2.10.0 + github.com/gonutz/w32/v2 v2.11.1 github.com/iamacarpet/go-win64api v0.0.0-20230324134531-ef6dbdd6db97 - github.com/nats-io/nats-server/v2 v2.9.20 // indirect - github.com/nats-io/nats.go v1.28.0 + github.com/nats-io/nats.go v1.31.0 github.com/rickb777/date v1.19.1 - github.com/shirou/gopsutil/v3 v3.23.6 + github.com/shirou/gopsutil/v3 v3.23.10 github.com/sirupsen/logrus v1.9.3 github.com/ugorji/go/codec v1.2.11 github.com/wh1te909/go-win64api v0.0.0-20230802051600-21b24f62e846 github.com/wh1te909/trmm-shared v0.0.0-20220227075846-f9f757361139 - golang.org/x/net v0.10.0 // indirect - golang.org/x/sys v0.9.0 + golang.org/x/net v0.17.0 // indirect + golang.org/x/sys v0.14.0 ) require ( @@ -31,7 +30,7 @@ require ( github.com/fourcorelabs/wintoken v1.0.0 github.com/jaypipes/ghw v0.12.0 github.com/kardianos/service v1.2.2 - github.com/spf13/viper v1.16.0 + github.com/spf13/viper v1.17.0 ) require ( @@ -44,32 +43,37 @@ require ( github.com/hashicorp/hcl v1.0.0 // indirect github.com/jaypipes/pcidb v1.0.0 // indirect github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect - github.com/klauspost/compress v1.16.5 // indirect + github.com/klauspost/compress v1.17.2 // indirect github.com/lufia/plan9stats v0.0.0-20220517141722-cf486979b281 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/nats-io/nkeys v0.4.4 // indirect + github.com/nats-io/nkeys v0.4.6 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d // indirect - github.com/pelletier/go-toml/v2 v2.0.8 // indirect + github.com/pelletier/go-toml/v2 v2.1.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect github.com/prometheus/procfs v0.8.0 // indirect github.com/rickb777/plural v1.4.1 // indirect + github.com/sagikazarmark/locafero v0.3.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect - github.com/spf13/afero v1.9.5 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + github.com/spf13/afero v1.10.0 // indirect github.com/spf13/cast v1.5.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/subosito/gotenv v1.4.2 // indirect - github.com/tklauser/go-sysconf v0.3.11 // indirect - github.com/tklauser/numcpus v0.6.0 // indirect + github.com/subosito/gotenv v1.6.0 // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect + github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.3 // indirect - golang.org/x/crypto v0.9.0 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/text v0.9.0 // indirect + go.uber.org/atomic v1.9.0 // indirect + go.uber.org/multierr v1.9.0 // indirect + golang.org/x/crypto v0.15.0 // indirect + golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect + golang.org/x/sync v0.3.0 // indirect + golang.org/x/text v0.14.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2 // indirect diff --git a/go.sum b/go.sum index 13f963d..c475d0e 100644 --- a/go.sum +++ b/go.sum @@ -56,14 +56,12 @@ github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnht github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/creachadair/staticfile v0.1.3/go.mod h1:a3qySzCIXEprDGxk6tSxSI+dBBdLzqeBOMhZ+o2d3pM= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/elastic/go-sysinfo v1.11.0 h1:QW+6BF1oxBoAprH3w2yephF7xLkrrSXj7gl2xC2BM4w= -github.com/elastic/go-sysinfo v1.11.0/go.mod h1:6KQb31j0QeWBDF88jIdWSxE8cwoOB9tO4Y4osN7Q70E= github.com/elastic/go-sysinfo v1.11.1 h1:g9mwl05njS4r69TisC+vwHWTSKywZFYYUu3so3T/Lao= github.com/elastic/go-sysinfo v1.11.1/go.mod h1:6KQb31j0QeWBDF88jIdWSxE8cwoOB9tO4Y4osN7Q70E= github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUtJm0= @@ -90,12 +88,13 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw= github.com/go-ping/ping v1.1.0/go.mod h1:xIFjORFzTxqIV/tDVGO4eDy/bLuSyawEeojSm3GfRGk= -github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= -github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= +github.com/go-resty/resty/v2 v2.10.0 h1:Qla4W/+TMmv0fOeeRqzEpXPLfTUnR5HZ1+lGs+CkiCo= +github.com/go-resty/resty/v2 v2.10.0/go.mod h1:iiP/OpA0CkcL3IGt1O0+/SIItFUbkkyw5BGXiVdTu+A= github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -125,9 +124,8 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/gonutz/w32/v2 v2.4.0 h1:k+R8/ddsnb9dwVDsTDWvkJGFmYJDI3ZMgcKgdpLuMpw= -github.com/gonutz/w32/v2 v2.4.0/go.mod h1:MgtHx0AScDVNKyB+kjyPder4xIi3XAcHS6LDDU2DmdE= +github.com/gonutz/w32/v2 v2.11.1 h1:plG738ZY7VIkPGf3adZ6lFeAf2evCKrULKyZT5GrPoc= +github.com/gonutz/w32/v2 v2.11.1/go.mod h1:MgtHx0AScDVNKyB+kjyPder4xIi3XAcHS6LDDU2DmdE= github.com/google/aukera v0.0.0-20201117230544-d145c8357fea/go.mod h1:oXqTZORBzdwQ6L32YjJmaPajqIV/hoGEouwpFMf4cJE= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -149,8 +147,9 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/logger v1.1.0/go.mod h1:w7O8nrRr0xufejBlQMI83MXqRusvREoJdaAxV+CoAB4= github.com/google/logger v1.1.1/go.mod h1:BkeJZ+1FhQ+/d087r4dzojEg1u2ZX+ZqG1jTUrLM+zQ= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -199,8 +198,8 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/kardianos/service v1.2.2 h1:ZvePhAHfvo0A7Mftk/tEzqEZ7Q4lgnR8sGz4xu1YX60= github.com/kardianos/service v1.2.2/go.mod h1:CIMRFEJVL+0DS1a3Nx06NaMn4Dz63Ng6O7dl0qH0zVM= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= -github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= +github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -213,18 +212,14 @@ github.com/lufia/plan9stats v0.0.0-20220517141722-cf486979b281 h1:aczX6NMOtt6L4Y github.com/lufia/plan9stats v0.0.0-20220517141722-cf486979b281/go.mod h1:lc+czkgO/8F7puNki5jk8QyujbfK1LOT7Wl0ON2hxyk= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/nats-io/jwt/v2 v2.4.1 h1:Y35W1dgbbz2SQUYDPCaclXcuqleVmpbRa7646Jf2EX4= -github.com/nats-io/nats-server/v2 v2.9.20 h1:bt1dW6xsL1hWWwv7Hovm+EJt5L6iplyqlgEFkoEUk0k= -github.com/nats-io/nats-server/v2 v2.9.20/go.mod h1:aTb/xtLCGKhfTFLxP591CMWfkdgBmcUUSkiSOe5A3gw= -github.com/nats-io/nats.go v1.28.0 h1:Th4G6zdsz2d0OqXdfzKLClo6bOfoI/b1kInhRtFIy5c= -github.com/nats-io/nats.go v1.28.0/go.mod h1:XpbWUlOElGwTYbMR7imivs7jJj9GtK7ypv321Wp6pjc= -github.com/nats-io/nkeys v0.4.4 h1:xvBJ8d69TznjcQl9t6//Q5xXuVhyYiSos6RPtvQNTwA= -github.com/nats-io/nkeys v0.4.4/go.mod h1:XUkxdLPTufzlihbamfzQ7mw/VGx6ObUs+0bN5sNvt64= +github.com/nats-io/nats.go v1.31.0 h1:/WFBHEc/dOKBF6qf1TZhrdEfTmOZ5JzdJ+Y3m6Y/p7E= +github.com/nats-io/nats.go v1.31.0/go.mod h1:di3Bm5MLsoB4Bx61CBTsxuarI36WbhAwOm8QrW39+i8= +github.com/nats-io/nkeys v0.4.6 h1:IzVe95ru2CT6ta874rt9saQRkWfe2nFj1NtvYSLqMzY= +github.com/nats-io/nkeys v0.4.6/go.mod h1:4DxZNzenSVd1cYQoAa8948QY3QDjrHfcfVADymtkpts= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ= @@ -237,14 +232,14 @@ github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= -github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= -github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= +github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c h1:NRoLoZvkBTKvR5gQLgA3e0hqjkY9u1wm+iOL45VN/qI= github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= @@ -260,49 +255,49 @@ github.com/rickb777/plural v1.4.1/go.mod h1:kdmXUpmKBJTS0FtG/TFumd//VBWsNTD7zOw7 github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ= +github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e h1:+/AzLkOdIXEPrAQtwAeWOBnPQ0BnYlBW0aCZmSb47u4= github.com/scjalliance/comshim v0.0.0-20190308082608-cf06d2532c4e/go.mod h1:9Tc1SKnfACJb9N7cw2eyuI6xzy845G7uZONBsi5uPEA= -github.com/shirou/gopsutil/v3 v3.23.6 h1:5y46WPI9QBKBbK7EEccUPNXpJpNrvPuTD0O2zHEHT08= -github.com/shirou/gopsutil/v3 v3.23.6/go.mod h1:j7QX50DrXYggrpN30W0Mo+I4/8U2UUIQrnrhqUeWrAU= +github.com/shirou/gopsutil/v3 v3.23.10 h1:/N42opWlYzegYaVkWejXWJpbzKv2JDy3mrgGzKsh9hM= +github.com/shirou/gopsutil/v3 v3.23.10/go.mod h1:JIE26kpucQi+innVlAUnIEOSBhBUkirr5b44yr55+WE= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= -github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= +github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= -github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= +github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI= +github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= -github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= -github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= -github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms= -github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= -github.com/wh1te909/go-win64api v0.0.0-20210906074314-ab23795a6ae5 h1:8tp/+fGR+qjDQ00vm0ZorHzskquo76MY9/ChmFFunEA= -github.com/wh1te909/go-win64api v0.0.0-20210906074314-ab23795a6ae5/go.mod h1:qypF+Tf23flzLX5IXuodDb1314BrDrsbwK/OhTh6HBM= github.com/wh1te909/go-win64api v0.0.0-20230802051600-21b24f62e846 h1:w/2L2xArf30zPrE/8IsqbKrU1FecRtR68Kbw/jj6ep4= github.com/wh1te909/go-win64api v0.0.0-20230802051600-21b24f62e846/go.mod h1:qypF+Tf23flzLX5IXuodDb1314BrDrsbwK/OhTh6HBM= github.com/wh1te909/trmm-shared v0.0.0-20220227075846-f9f757361139 h1:PfOl03o+Y+svWrfXAAu1QWUDePu1yqTq0pf4rpnN8eA= @@ -311,6 +306,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -319,15 +315,21 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= +go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= +golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -338,6 +340,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= +golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -361,7 +365,9 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -398,10 +404,12 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -422,8 +430,10 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -473,12 +483,22 @@ golang.org/x/sys v0.0.0-20210601080250-7ecdf8ef093b/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211107104306-e0b2ad06fe42/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -487,12 +507,16 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -540,7 +564,9 @@ golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -633,7 +659,6 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From db17e3e28ec0351597c02c7049255f90c85c9e7a Mon Sep 17 00:00:00 2001 From: sadnub Date: Wed, 22 Nov 2023 23:38:20 -0500 Subject: [PATCH 28/32] add onboarding task type and revert runonce --- agent/tasks_windows.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/agent/tasks_windows.go b/agent/tasks_windows.go index 8fc0b4f..95a5cfc 100644 --- a/agent/tasks_windows.go +++ b/agent/tasks_windows.go @@ -180,7 +180,7 @@ func (a *Agent) CreateSchedTask(st SchedTask) (bool, error) { Enabled: st.Enabled, StartBoundary: now, } - } else if st.Trigger == "runonce" { + } else if st.Trigger == "onboarding" { tasktrigger = taskmaster.TaskTrigger{ Enabled: st.Enabled, } @@ -205,6 +205,12 @@ func (a *Agent) CreateSchedTask(st SchedTask) (bool, error) { switch st.Trigger { case "runonce": + trigger = taskmaster.TimeTrigger{ + TaskTrigger: tasktrigger, + RandomDelay: st.RandomDelay, + } + + case "onboarding": trigger = taskmaster.RegistrationTrigger{ TaskTrigger: tasktrigger, Delay: st.RandomDelay, From 751b50e071174981da329d530505971e18e21dde Mon Sep 17 00:00:00 2001 From: Soarinferret Date: Fri, 24 Nov 2023 18:39:20 -0600 Subject: [PATCH 29/32] Fix bug where you cannot use '/usr/bin/env bash' as the shell for systems where bash is in a different location --- agent/agent.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agent/agent.go b/agent/agent.go index 1cc74cf..67afef2 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -306,7 +306,8 @@ func (a *Agent) CmdV2(c *CmdOptions) CmdStatus { } else if c.IsExecutable { envCmd = gocmd.NewCmdOptions(cmdOptions, c.Shell, c.Command) // c.Shell: bin + c.Command: args as one string } else { - envCmd = gocmd.NewCmdOptions(cmdOptions, c.Shell, "-c", c.Command) // /bin/bash -c 'ls -l /var/log/...' + commandArray := append(strings.Fields(c.Shell), "-c", c.Command) + envCmd = gocmd.NewCmdOptions(cmdOptions, commandArray[0], commandArray[1:]...) // /bin/bash -c 'ls -l /var/log/...' } var stdoutBuf bytes.Buffer From 060d222941b11ade8b0471f86a0ee2952f5e465e Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Fri, 1 Dec 2023 11:27:28 -0800 Subject: [PATCH 30/32] use switch --- agent/tasks_windows.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agent/tasks_windows.go b/agent/tasks_windows.go index 95a5cfc..e475a57 100644 --- a/agent/tasks_windows.go +++ b/agent/tasks_windows.go @@ -175,16 +175,17 @@ func (a *Agent) CreateSchedTask(st SchedTask) (bool, error) { var tasktrigger taskmaster.TaskTrigger var now = time.Now() - if st.Trigger == "manual" { + switch st.Trigger { + case "manual": tasktrigger = taskmaster.TaskTrigger{ Enabled: st.Enabled, StartBoundary: now, } - } else if st.Trigger == "onboarding" { + case "onboarding": tasktrigger = taskmaster.TaskTrigger{ - Enabled: st.Enabled, + Enabled: st.Enabled, } - } else { + default: tasktrigger = taskmaster.TaskTrigger{ Enabled: st.Enabled, StartBoundary: time.Date(st.StartYear, st.StartMonth, st.StartDay, st.StartHour, st.StartMinute, 0, 0, now.Location()), @@ -209,11 +210,10 @@ func (a *Agent) CreateSchedTask(st SchedTask) (bool, error) { TaskTrigger: tasktrigger, RandomDelay: st.RandomDelay, } - case "onboarding": trigger = taskmaster.RegistrationTrigger{ TaskTrigger: tasktrigger, - Delay: st.RandomDelay, + Delay: st.RandomDelay, } case "daily": From f0736faf4bcb20f3f83fb0e65dddbc3e595699ad Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Mon, 4 Dec 2023 12:33:41 -0800 Subject: [PATCH 31/32] bump version --- build/rmm.exe.manifest | 2 +- build/setup.iss | 2 +- main.go | 2 +- versioninfo.json | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/rmm.exe.manifest b/build/rmm.exe.manifest index f6a3836..108f3cf 100644 --- a/build/rmm.exe.manifest +++ b/build/rmm.exe.manifest @@ -3,7 +3,7 @@ diff --git a/build/setup.iss b/build/setup.iss index bc2ed6d..ed7620d 100644 --- a/build/setup.iss +++ b/build/setup.iss @@ -1,5 +1,5 @@ #define MyAppName "Tactical RMM Agent" -#define MyAppVersion "2.5.0" +#define MyAppVersion "2.6.0" #define MyAppPublisher "AmidaWare Inc" #define MyAppURL "https://github.com/amidaware" #define MyAppExeName "tacticalrmm.exe" diff --git a/main.go b/main.go index cc302ca..458525f 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) var ( - version = "2.5.0" + version = "2.6.0" log = logrus.New() logFile *os.File ) diff --git a/versioninfo.json b/versioninfo.json index b389cf0..bae1ef1 100644 --- a/versioninfo.json +++ b/versioninfo.json @@ -2,13 +2,13 @@ "FixedFileInfo": { "FileVersion": { "Major": 2, - "Minor": 5, + "Minor": 6, "Patch": 0, "Build": 0 }, "ProductVersion": { "Major": 2, - "Minor": 5, + "Minor": 6, "Patch": 0, "Build": 0 }, @@ -22,14 +22,14 @@ "Comments": "", "CompanyName": "AmidaWare Inc", "FileDescription": "Tactical RMM Agent", - "FileVersion": "v2.5.0.0", + "FileVersion": "v2.6.0.0", "InternalName": "tacticalrmm.exe", "LegalCopyright": "Copyright (c) 2023 AmidaWare Inc", "LegalTrademarks": "", "OriginalFilename": "tacticalrmm.exe", "PrivateBuild": "", "ProductName": "Tactical RMM Agent", - "ProductVersion": "v2.5.0.0", + "ProductVersion": "v2.6.0.0", "SpecialBuild": "" }, "VarFileInfo": { From 7dc08fdbf3d100cd491fc7776e7d80775ae99f31 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Sat, 23 Dec 2023 16:17:33 -0800 Subject: [PATCH 32/32] bump version --- build/rmm.exe.manifest | 2 +- build/setup.iss | 2 +- main.go | 2 +- versioninfo.json | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/rmm.exe.manifest b/build/rmm.exe.manifest index 108f3cf..126fa9d 100644 --- a/build/rmm.exe.manifest +++ b/build/rmm.exe.manifest @@ -3,7 +3,7 @@ diff --git a/build/setup.iss b/build/setup.iss index ed7620d..8c58b27 100644 --- a/build/setup.iss +++ b/build/setup.iss @@ -1,5 +1,5 @@ #define MyAppName "Tactical RMM Agent" -#define MyAppVersion "2.6.0" +#define MyAppVersion "2.6.1" #define MyAppPublisher "AmidaWare Inc" #define MyAppURL "https://github.com/amidaware" #define MyAppExeName "tacticalrmm.exe" diff --git a/main.go b/main.go index 458525f..382fd5c 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) var ( - version = "2.6.0" + version = "2.6.1" log = logrus.New() logFile *os.File ) diff --git a/versioninfo.json b/versioninfo.json index bae1ef1..08967a6 100644 --- a/versioninfo.json +++ b/versioninfo.json @@ -3,13 +3,13 @@ "FileVersion": { "Major": 2, "Minor": 6, - "Patch": 0, + "Patch": 1, "Build": 0 }, "ProductVersion": { "Major": 2, "Minor": 6, - "Patch": 0, + "Patch": 1, "Build": 0 }, "FileFlagsMask": "3f", @@ -22,14 +22,14 @@ "Comments": "", "CompanyName": "AmidaWare Inc", "FileDescription": "Tactical RMM Agent", - "FileVersion": "v2.6.0.0", + "FileVersion": "v2.6.1.0", "InternalName": "tacticalrmm.exe", "LegalCopyright": "Copyright (c) 2023 AmidaWare Inc", "LegalTrademarks": "", "OriginalFilename": "tacticalrmm.exe", "PrivateBuild": "", "ProductName": "Tactical RMM Agent", - "ProductVersion": "v2.6.0.0", + "ProductVersion": "v2.6.1.0", "SpecialBuild": "" }, "VarFileInfo": {