Skip to content

Commit 52ddc11

Browse files
committed
Only run X forwarding on Linux
1 parent 271135b commit 52ddc11

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

agent/agentssh/agentssh.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func NewServer(ctx context.Context, logger slog.Logger, fs afero.Fs, maxTimeout
8585
if x11SocketDir == "" {
8686
x11SocketDir = filepath.Join(os.TempDir(), ".X11-unix")
8787
}
88-
err = fs.MkdirAll(x11SocketDir, 0700)
88+
err = fs.MkdirAll(x11SocketDir, 0o700)
8989
if err != nil {
9090
return nil, err
9191
}

agent/agentssh/x11.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func addXauthEntry(fs afero.Fs, host string, display string, authProtocol string
103103
xauthPath := filepath.Join(homeDir, ".Xauthority")
104104

105105
// Open or create the Xauthority file
106-
file, err := fs.OpenFile(xauthPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
106+
file, err := fs.OpenFile(xauthPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0o600)
107107
if err != nil {
108108
return xerrors.Errorf("failed to open Xauthority file: %w", err)
109109
}

agent/agentssh/x11_test.go

+11
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import (
44
"context"
55
"encoding/hex"
66
"net"
7+
"os"
78
"path/filepath"
9+
"runtime"
810
"testing"
911

1012
"github.com/gliderlabs/ssh"
@@ -23,6 +25,9 @@ import (
2325

2426
func TestServer_X11(t *testing.T) {
2527
t.Parallel()
28+
if runtime.GOOS != "linux" {
29+
t.Skip("X11 forwarding is only supported on Linux")
30+
}
2631

2732
ctx := context.Background()
2833
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
@@ -79,4 +84,10 @@ func TestServer_X11(t *testing.T) {
7984
require.NoError(t, err)
8085
s.Close()
8186
<-done
87+
88+
// Ensure the Xauthority file was written!
89+
home, err := os.UserHomeDir()
90+
require.NoError(t, err)
91+
_, err = fs.Stat(filepath.Join(home, ".Xauthority"))
92+
require.NoError(t, err)
8293
}

0 commit comments

Comments
 (0)