This commit is contained in:
Ralf
2026-01-09 23:15:24 +03:00
parent 52172e2e23
commit 187cea92fe
4 changed files with 29 additions and 2 deletions
+8
View File
@@ -23,3 +23,11 @@ func (ex *AdaptixExtender) ExAgentCreate(agentName string, beat []byte) (adaptix
}
return module.CreateAgent(beat)
}
func (ex *AdaptixExtender) ExAgentGetExtender(agentName string) (adaptix.ExtenderAgent, error) {
module, err := ex.getAgentModule(agentName)
if err != nil {
return nil, err
}
return module.GetExtender(), nil
}
+7
View File
@@ -110,7 +110,14 @@ func (ts *Teamserver) RestoreData() {
restoreAgents := ts.DBMS.DbAgentAll()
for _, agentData := range restoreAgents {
extender, err := ts.Extender.ExAgentGetExtender(agentData.Name)
if err != nil {
logs.Warn(" ", "Failed to get extender for agent %v (%v): %v", agentData.Id, agentData.Name, err.Error())
continue
}
agent := &Agent{
Extender: extender,
OutConsole: safe.NewSlice(),
HostedTunnelData: safe.NewSafeQueue(0x1000),
HostedTasks: safe.NewSafeQueue(0x100),
@@ -141,6 +141,10 @@ func InitPlugin(ts any, moduleDir string, watermark string) adaptix.PluginAgent
return &PluginAgent{}
}
func (p *PluginAgent) GetExtender() adaptix.ExtenderAgent {
return &ExtenderAgent{}
}
func makeProxyTask(packData []byte) adaptix.TaskData {
return adaptix.TaskData{Type: TYPE_PROXY_DATA, Data: packData, Sync: false}
}
@@ -610,8 +614,12 @@ func (p *PluginAgent) BuildPayload(agentConfig string, agentProfile []byte, list
return nil, "", errors.New("unknown file format")
}
cmdBuild := fmt.Sprintf("%s %s %s -o %s", Compiler, lFlags, Files, buildPath)
runnerCmdBuild := exec.Command("sh", "-c", cmdBuild)
var buildArgs []string
buildArgs = append(buildArgs, strings.Fields(lFlags)...)
buildArgs = append(buildArgs, strings.Fields(Files)...)
buildArgs = append(buildArgs, "-o", buildPath)
runnerCmdBuild := exec.Command(Compiler, buildArgs...)
runnerCmdBuild.Dir = currentDir
runnerCmdBuild.Stdout = &stdout
runnerCmdBuild.Stderr = &stderr
@@ -133,6 +133,10 @@ func InitPlugin(ts any, moduleDir string, watermark string) adaptix.PluginAgent
return &PluginAgent{}
}
func (p *PluginAgent) GetExtender() adaptix.ExtenderAgent {
return &ExtenderAgent{}
}
func makeProxyTask(packData []byte) adaptix.TaskData {
return adaptix.TaskData{Type: TYPE_PROXY_DATA, Data: packData, Sync: false}
}