From 13917a289df253bd819511ee75d7851551b5f86e Mon Sep 17 00:00:00 2001 From: Edmundo Gonzalez <51725820+edgonmsft@users.noreply.github.com> Date: Mon, 30 Aug 2021 04:52:27 +0000 Subject: [PATCH] Moved function to ssh.go file. --- internal/codespaces/codespaces.go | 27 --------------------------- internal/codespaces/ssh.go | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/internal/codespaces/codespaces.go b/internal/codespaces/codespaces.go index 8b18f7d7d..48369cfa0 100644 --- a/internal/codespaces/codespaces.go +++ b/internal/codespaces/codespaces.go @@ -4,7 +4,6 @@ import ( "context" "errors" "fmt" - "strconv" "time" "github.com/AlecAivazis/survey/v2" @@ -118,32 +117,6 @@ func ConnectToLiveshare(ctx context.Context, log logger, apiClient *api.API, tok return lsclient, nil } -// StartSSHServer starts and installs the SSH server in the codespace -// returns the remote port where it is running, the user to use to login -// or an error if something failed. -func StartSSHServer(ctx context.Context, client *liveshare.Client) (serverPort int, user string, err error) { - sshServer, err := liveshare.NewSSHServer(client) - if err != nil { - return 0, "", fmt.Errorf("error creating live share: %v", err) - } - - sshServerStartResult, err := sshServer.StartRemoteServer(ctx) - if err != nil { - return 0, "", fmt.Errorf("error starting live share: %v", err) - } - - if !sshServerStartResult.Result { - return 0, "", errors.New(sshServerStartResult.Message) - } - - portInt, err := strconv.Atoi(sshServerStartResult.ServerPort) - if err != nil { - return 0, "", fmt.Errorf("error parsing port: %v", err) - } - - return portInt, sshServerStartResult.User, nil -} - func GetOrChooseCodespace(ctx context.Context, apiClient *api.API, user *api.User, codespaceName string) (codespace *api.Codespace, token string, err error) { if codespaceName == "" { codespace, err = ChooseCodespace(ctx, apiClient, user) diff --git a/internal/codespaces/ssh.go b/internal/codespaces/ssh.go index cd944e114..a1abcf381 100644 --- a/internal/codespaces/ssh.go +++ b/internal/codespaces/ssh.go @@ -2,6 +2,7 @@ package codespaces import ( "context" + "errors" "fmt" "io" "math/rand" @@ -47,6 +48,32 @@ func MakeSSHTunnel(ctx context.Context, lsclient *liveshare.Client, localSSHPort return port, tunnelClosed, nil } +// StartSSHServer starts and installs the SSH server in the codespace +// returns the remote port where it is running, the user to use to login +// or an error if something failed. +func StartSSHServer(ctx context.Context, client *liveshare.Client) (serverPort int, user string, err error) { + sshServer, err := liveshare.NewSSHServer(client) + if err != nil { + return 0, "", fmt.Errorf("error creating live share: %v", err) + } + + sshServerStartResult, err := sshServer.StartRemoteServer(ctx) + if err != nil { + return 0, "", fmt.Errorf("error starting live share: %v", err) + } + + if !sshServerStartResult.Result { + return 0, "", errors.New(sshServerStartResult.Message) + } + + portInt, err := strconv.Atoi(sshServerStartResult.ServerPort) + if err != nil { + return 0, "", fmt.Errorf("error parsing port: %v", err) + } + + return portInt, sshServerStartResult.User, nil +} + func makeSSHArgs(port int, dst, cmd string) ([]string, []string) { connArgs := []string{"-p", strconv.Itoa(port), "-o", "NoHostAuthenticationForLocalhost=yes"} cmdArgs := append([]string{dst, "-X", "-Y", "-C"}, connArgs...) // X11, X11Trust, Compression