aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorBryan McNulty <bryanmcnulty@protonmail.com>2025-03-08 08:35:09 -0600
committerBryan McNulty <bryanmcnulty@protonmail.com>2025-03-08 08:35:09 -0600
commit8360747c22987c8f7de7b4d19cf2d6ee68994183 (patch)
tree937bcd554ee9b7442e66bfa771b6a25016202211 /internal
parent7574b7370be083ff563fa8ad6d01d5ac776d7e4d (diff)
downloadgoexec-8360747c22987c8f7de7b4d19cf2d6ee68994183.tar.gz
goexec-8360747c22987c8f7de7b4d19cf2d6ee68994183.zip
Some quick fixes and validations
Diffstat (limited to 'internal')
-rw-r--r--internal/exec/tsch/exec.go22
-rw-r--r--internal/exec/tsch/tsch.go18
2 files changed, 9 insertions, 31 deletions
diff --git a/internal/exec/tsch/exec.go b/internal/exec/tsch/exec.go
index d205776..c238f41 100644
--- a/internal/exec/tsch/exec.go
+++ b/internal/exec/tsch/exec.go
@@ -25,23 +25,13 @@ const (
var (
TschRpcUuid = uuid.MustParse("86D35949-83C9-4044-B424-DB363231FD0C")
SupportedEndpointProtocols = []string{"ncacn_np", "ncacn_ip_tcp"}
-
- defaultStringBinding *dcerpc.StringBinding
- initErr error
)
-func init() {
- if defaultStringBinding, initErr = dcerpc.ParseStringBinding(DefaultEndpoint); initErr != nil {
- panic(initErr)
- }
-}
-
// Connect to the target & initialize DCE & TSCH clients
func (mod *Module) Connect(ctx context.Context, creds *adauth.Credential, target *adauth.Target, ccfg *exec.ConnectionConfig) (err error) {
//var port uint16
var endpoint string = DefaultEndpoint
- //var stringBinding = defaultStringBinding
var epmOpts []dcerpc.Option
var dceOpts []dcerpc.Option
@@ -82,17 +72,7 @@ func (mod *Module) Connect(ctx context.Context, creds *adauth.Credential, target
}
log = log.With().Str("endpoint", endpoint).Logger()
log.Info().Msg("Connecting to target")
- /*
- if !cfg.NoEpm {
- mapperOpts := append(dceOpts, ao...)
- dceOpts = append(dceOpts,
- epm.EndpointMapper(ctx, target.AddressWithoutPort(), mapperOpts...),
- dcerpc.WithEndpoint(fmt.Sprintf("%s:", stringBinding.ProtocolSequence.String())))
-
- } else {
- dceOpts = append(dceOpts, dcerpc.WithEndpoint(stringBinding.String()))
- }
- */
+
// Create DCERPC dialer
mod.dce, err = dcerpc.Dial(ctx, target.AddressWithoutPort(), append(dceOpts, ao...)...)
if err != nil {
diff --git a/internal/exec/tsch/tsch.go b/internal/exec/tsch/tsch.go
index f2476f1..d47e513 100644
--- a/internal/exec/tsch/tsch.go
+++ b/internal/exec/tsch/tsch.go
@@ -55,7 +55,7 @@ type settings struct {
type actionExec struct {
XMLName xml.Name `xml:"Exec"`
Command string `xml:"Command"`
- Arguments string `xml:"Arguments"`
+ Arguments string `xml:"Arguments,omitempty"`
}
type actions struct {
@@ -77,14 +77,13 @@ type principal struct {
}
type task struct {
- XMLName xml.Name `xml:"Task"`
- TaskVersion string `xml:"version,attr"`
- TaskNamespace string `xml:"xmlns,attr"`
- //TimeTriggers []taskTimeTrigger `xml:"Triggers>TimeTrigger,omitempty"` // TODO: triggers type
- Triggers triggers `xml:"Triggers"`
- Actions actions `xml:"Actions"`
- Principals principals `xml:"Principals"`
- Settings settings `xml:"Settings"`
+ XMLName xml.Name `xml:"Task"`
+ TaskVersion string `xml:"version,attr"`
+ TaskNamespace string `xml:"xmlns,attr"`
+ Triggers triggers `xml:"Triggers"`
+ Actions actions `xml:"Actions"`
+ Principals principals `xml:"Principals"`
+ Settings settings `xml:"Settings"`
}
// registerTask serializes and submits the provided task structure
@@ -106,7 +105,6 @@ func (mod *Module) registerTask(ctx context.Context, taskDef task, taskPath stri
taskXml = TaskXMLHeader + string(doc)
log.Debug().Str("content", taskXml).Msg("Generated task XML")
}
-
// Submit task
{
response, err := mod.tsch.RegisterTask(ctx, &itaskschedulerservice.RegisterTaskRequest{