From be7d47c0e16cf307e837514c43b3b50fed1b111b Mon Sep 17 00:00:00 2001 From: Daniel Arroyo Date: Thu, 9 Jul 2026 16:54:38 -0400 Subject: [PATCH] Bump version to 1.0.22 --- Makefile | 2 +- cmd/server/main.go | 2 +- internal/syncengine/engine.go | 11 ++++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index fa35f72..054eed3 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ BINARY=syncserver -VERSION?=1.0.21 +VERSION?=1.0.22 GO?=go LDFLAGS=-s -w -X main.version=$(VERSION) -X main.commit=$(shell git rev-parse --short HEAD 2>/dev/null || echo unknown) BUILD_FLAGS=CGO_ENABLED=0 diff --git a/cmd/server/main.go b/cmd/server/main.go index fe37e82..949bcff 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -20,7 +20,7 @@ import ( "github.com/syncserver/internal/syncengine" ) -var version = "1.0.21" +var version = "1.0.22" func main() { cfgPath := flag.String("config", "", "Path to config.yaml") diff --git a/internal/syncengine/engine.go b/internal/syncengine/engine.go index f53e057..4e5d3d4 100644 --- a/internal/syncengine/engine.go +++ b/internal/syncengine/engine.go @@ -261,17 +261,22 @@ func (e *Engine) Run(ctx context.Context, jobID int64, pairID int64) error { var result *RsyncResult if isRemoteToRemote(srcMachine, dstMachine) { - destPrivKey, err := e.resolveSSHKey(dstMachine) + destPrivKeyPath, err := e.resolveSSHKey(dstMachine) if err != nil { slog.Warn("failed to resolve destination SSH key, using server key", "error", err) - destPrivKey = filepath.Join(e.cfg.SSHDir(), "id_ed25519") + destPrivKeyPath = filepath.Join(e.cfg.SSHDir(), "id_ed25519") + } + destPrivKeyBytes, err := os.ReadFile(destPrivKeyPath) + if err != nil { + slog.Warn("failed to read destination SSH key, using empty", "error", err) + destPrivKeyBytes = []byte{} } result, err = runner.RunRemote(jobCtx, cfg, RemoteMachine{ Host: srcMachine.Host, Port: srcMachine.Port, SSHUser: srcMachine.SSHUser, PrivKey: privKey, - DestPrivKey: destPrivKey, + DestPrivKey: string(destPrivKeyBytes), }, onLine) } else { result, err = runner.Run(jobCtx, cfg, onLine)