diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2020-02-28 13:14:29 +0000 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2020-02-28 13:14:29 +0000 |
| commit | 71d2786aeaa793d9cf51c389d2e91cf472d25f7a (patch) | |
| tree | b2cf5a8e3f86f05b5d4870809637bcd9b967906c /internal/server | |
| parent | cb2de4109632932bccf5d13e77f40157d4e84c18 (diff) | |
more on scheduled commands
Diffstat (limited to 'internal/server')
| -rw-r--r-- | internal/server/handlers/mapcommand.go | 10 | ||||
| -rw-r--r-- | internal/server/handlers/readcommand.go | 4 | ||||
| -rw-r--r-- | internal/server/handlers/serverhandler.go | 2 | ||||
| -rw-r--r-- | internal/server/scheduler.go | 2 | ||||
| -rw-r--r-- | internal/server/server.go | 10 |
5 files changed, 14 insertions, 14 deletions
diff --git a/internal/server/handlers/mapcommand.go b/internal/server/handlers/mapcommand.go index 10372da..c3e600e 100644 --- a/internal/server/handlers/mapcommand.go +++ b/internal/server/handlers/mapcommand.go @@ -15,18 +15,16 @@ type mapCommand struct { // NewMapCommand returns a new server side mapreduce command. func newMapCommand(serverHandler *ServerHandler, argc int, args []string) (mapCommand, *server.Aggregate, error) { - mapCommand := mapCommand{ - server: serverHandler, - } + m := mapCommand{server: serverHandler} queryStr := strings.Join(args[1:], " ") aggregate, err := server.NewAggregate(queryStr) if err != nil { - return mapCommand, nil, err + return m, nil, err } - mapCommand.aggregate = aggregate - return mapCommand, aggregate, nil + m.aggregate = aggregate + return m, aggregate, nil } diff --git a/internal/server/handlers/readcommand.go b/internal/server/handlers/readcommand.go index 6ab41cd..63158f6 100644 --- a/internal/server/handlers/readcommand.go +++ b/internal/server/handlers/readcommand.go @@ -27,8 +27,8 @@ func newReadCommand(server *ServerHandler, mode omode.Mode) *readCommand { func (r *readCommand) Start(ctx context.Context, argc int, args []string) { regex := "." if argc >= 4 { - regex = strings.Join(args[3:], " ") - logger.Debug("Joined regex", regex) + regex = strings.Join(args[3:], " ") + logger.Debug("Joined regex", regex) } if argc < 3 { r.server.sendServerMessage(logger.Warn(r.server.user, commandParseWarning, args, argc)) diff --git a/internal/server/handlers/serverhandler.go b/internal/server/handlers/serverhandler.go index b840c77..2979dd5 100644 --- a/internal/server/handlers/serverhandler.go +++ b/internal/server/handlers/serverhandler.go @@ -229,6 +229,7 @@ func (h *ServerHandler) handleUserCommand(ctx context.Context, argc int, args [] if err != nil { h.sendServerMessage(err.Error()) logger.Error(h.user, err) + h.shutdown() return } @@ -334,6 +335,7 @@ func (h *ServerHandler) incrementActiveReaders() { defer h.mutex.Unlock() h.activeReaders++ } + func (h *ServerHandler) decrementActiveReaders() int { h.mutex.Lock() defer h.mutex.Unlock() diff --git a/internal/server/scheduler.go b/internal/server/scheduler.go index d2657d0..db49d1b 100644 --- a/internal/server/scheduler.go +++ b/internal/server/scheduler.go @@ -79,7 +79,7 @@ func (s *scheduler) runJobs(ctx context.Context) { ServersStr: servers, What: files, Mode: omode.MapClient, - UserName: config.ScheduledUser, + UserName: config.ScheduleUser, } args.SSHAuthMethods = append(args.SSHAuthMethods, gossh.Password(scheduled.Name)) diff --git a/internal/server/server.go b/internal/server/server.go index 34d0d88..0b93537 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -206,16 +206,16 @@ func (s *Server) backgroundUserCallback(c gossh.ConnMetadata, authPayload []byte return nil, nil } - if user.Name == config.ScheduledUser && s.canRunScheduledJob(c.RemoteAddr().String(), user, authInfo) { - logger.Debug(user, "Schedule user can run scheduled job remotely") + if user.Name == config.ScheduleUser && s.schedueleUserCanHaveSSHSession(c.RemoteAddr().String(), user, authInfo) { + logger.Debug(user, "Granting SSH connection to schedule user") return nil, nil } return nil, fmt.Errorf("user %s not authorized", user) } -func (s *Server) canRunScheduledJob(addr string, user *user.User, jobName string) bool { - logger.Debug("canRunScheduledJob", user, jobName) +func (s *Server) schedueleUserCanHaveSSHSession(addr string, user *user.User, jobName string) bool { + logger.Debug("schedueleUserCanHaveSSHSession", user, jobName) splitted := strings.Split(addr, ":") ip := splitted[0] @@ -231,7 +231,7 @@ func (s *Server) canRunScheduledJob(addr string, user *user.User, jobName string } for _, myIp := range myIps { - logger.Debug("canRunScheduledJob", "Comparing IP addresses", ip, myIp.String()) + logger.Debug("schedueleUserCanHaveSSHSession", "Comparing IP addresses", ip, myIp.String()) if ip == myIp.String() { return true } |
