summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorPaul Bütow <pbuetow@mimecast.com>2020-02-12 22:46:45 +0000
committerPaul Bütow <pbuetow@mimecast.com>2020-02-12 22:46:45 +0000
commit221010919b210034ba75d42951caf3965f66aa9d (patch)
tree40fa9530ff3c2b1137ed9a490e23a51dff907423 /internal/server
parenta1a0990f5e261f395a2d699cd7602ca4a6a5b6c4 (diff)
exec will always err if status is > 0
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/handlers/runcommand.go21
1 files changed, 6 insertions, 15 deletions
diff --git a/internal/server/handlers/runcommand.go b/internal/server/handlers/runcommand.go
index 1ae0fda..b7fbb8b 100644
--- a/internal/server/handlers/runcommand.go
+++ b/internal/server/handlers/runcommand.go
@@ -43,31 +43,22 @@ func (r runCommand) start(ctx context.Context, commands []string) {
qualifiedPath, err := exec.LookPath(path)
if err != nil {
logger.Error(r.server.user, err)
- r.server.sendServerMessage(logger.Warn(r.server.user, "Unable to execute command(s), check server logs"))
- r.server.sendServerMessage(fmt.Sprintf(".run exitstatus -%d", -1))
+ r.server.sendServerMessage(logger.Error(r.server.user, "Unable to execute command(s), check server logs"))
+ r.server.sendServerMessage(".run exitstatus 255")
return
}
if !r.server.user.HasFilePermission(qualifiedPath, "runcommands") {
logger.Error(r.server.user, "No permission to execute path", qualifiedPath)
- r.server.sendServerMessage(logger.Warn(r.server.user, "Unable to execute command(s), check server logs"))
- r.server.sendServerMessage(fmt.Sprintf(".run exitstatus -%d", -1))
+ r.server.sendServerMessage(logger.Error(r.server.user, "Unable to execute command(s), check server logs"))
+ r.server.sendServerMessage(".run exitstatus 255")
return
}
r.run = run.New(qualifiedPath, args)
- pid, ec, err := r.run.Start(ctx, r.server.lines)
+ pid, ec, _ := r.run.Start(ctx, r.server.lines)
- if err != nil {
- message := fmt.Sprintf("Unable to execute remote command '%s'", qualifiedPath, args)
- logger.Error(r.server.user, message, ec, pid, err)
- r.server.sendServerMessage(logger.Error(message, ec, pid, err))
- r.server.sendServerMessage(fmt.Sprintf(".run exitstatus -%d", ec))
- return
- }
-
- message := fmt.Sprintf("Remote process '%d' exited with status '%d'", pid, ec)
r.server.sendServerMessage(fmt.Sprintf(".run exitstatus %d", ec))
- r.server.sendServerMessage(logger.Info("run", pid, ec, message))
+ r.server.sendServerMessage(logger.Info(fmt.Sprintf("Process %d exited with status %d", pid, ec)))
}
}