X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;ds=sidebyside;f=cmd%2Fsafcm%2Fsync.go;h=1a482b3dd958c274f5fad95a03114596df959d14;hb=9d0d090fc1d683accc8bd1b354425c23cbe9fb6a;hp=70aaf47e4c8f5c364247fa4fe0c05e239bb5d79b;hpb=a8023b74bdd3d85cb0f3a55485887d133d2c0946;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/sync.go b/cmd/safcm/sync.go index 70aaf47..1a482b3 100644 --- a/cmd/safcm/sync.go +++ b/cmd/safcm/sync.go @@ -23,6 +23,7 @@ import ( "log" "os" "os/signal" + "runtime" "sort" "strings" "sync" @@ -105,6 +106,10 @@ func MainSync(args []string) error { os.Exit(1) } + if runtime.GOOS == "windows" { + log.Print("WARNING: Windows support is experimental!") + } + cfg, allHosts, allGroups, err := LoadBaseFiles() if err != nil { return err @@ -365,8 +370,17 @@ func (s *Sync) Host(wg *sync.WaitGroup) error { }() // Connect to remote host - err := conn.DialSSH(s.host.SshUser, s.host.Name, s.config.SshConfig) + user := s.host.SshUser + if user == "" { + user = s.config.SshUser + } + err := conn.DialSSH(rpc.SSHConfig{ + Host: s.host.Name, + User: user, + SshConfig: s.config.SshConfig, + }) if err != nil { + conn.Kill() return err } defer conn.Kill() @@ -400,9 +414,7 @@ func (s *Sync) Host(wg *sync.WaitGroup) error { return nil } -func (s *Sync) logf(level safcm.LogLevel, escaped bool, - format string, a ...interface{}) { - +func (s *Sync) log(level safcm.LogLevel, escaped bool, msg string) { if s.config.LogLevel < level { return } @@ -410,16 +422,16 @@ func (s *Sync) logf(level safcm.LogLevel, escaped bool, Host: s.host, Log: Log{ Level: level, - Text: fmt.Sprintf(format, a...), + Text: msg, }, Escaped: escaped, } } func (s *Sync) logDebugf(format string, a ...interface{}) { - s.logf(safcm.LogDebug, false, format, a...) + s.log(safcm.LogDebug, false, fmt.Sprintf(format, a...)) } func (s *Sync) logVerbosef(format string, a ...interface{}) { - s.logf(safcm.LogVerbose, false, format, a...) + s.log(safcm.LogVerbose, false, fmt.Sprintf(format, a...)) } // sendRecv sends a message over conn and waits for the response. Any MsgLog @@ -437,7 +449,7 @@ func (s *Sync) sendRecv(conn *rpc.Conn, msg safcm.Msg) (safcm.Msg, error) { } log, ok := x.(safcm.MsgLog) if ok { - s.logf(log.Level, false, "%s", log.Text) + s.log(log.Level, false, log.Text) continue } return x, nil