ssh: make strings translatable

This commit is contained in:
brian m. carlson 2021-12-14 17:27:12 +00:00
parent 3188d6c54a
commit 8b4017dcbb
No known key found for this signature in database
GPG Key ID: 2D0C9BC12F82B3A1

@ -1,7 +1,6 @@
package ssh package ssh
import ( import (
"fmt"
"io" "io"
"strconv" "strconv"
"strings" "strings"
@ -9,6 +8,7 @@ import (
"github.com/git-lfs/git-lfs/v3/errors" "github.com/git-lfs/git-lfs/v3/errors"
"github.com/git-lfs/git-lfs/v3/subprocess" "github.com/git-lfs/git-lfs/v3/subprocess"
"github.com/git-lfs/git-lfs/v3/tr"
) )
type PktlineConnection struct { type PktlineConnection struct {
@ -46,7 +46,7 @@ func (conn *PktlineConnection) End() error {
func (conn *PktlineConnection) negotiateVersion() error { func (conn *PktlineConnection) negotiateVersion() error {
pkts, err := conn.pl.ReadPacketList() pkts, err := conn.pl.ReadPacketList()
if err != nil { if err != nil {
return errors.NewProtocolError("Unable to negotiate version with remote side (unable to read capabilities)", err) return errors.NewProtocolError(tr.Tr.Get("Unable to negotiate version with remote side (unable to read capabilities)"), err)
} }
ok := false ok := false
for _, line := range pkts { for _, line := range pkts {
@ -55,22 +55,22 @@ func (conn *PktlineConnection) negotiateVersion() error {
} }
} }
if !ok { if !ok {
return errors.NewProtocolError("Unable to negotiate version with remote side (missing version=1)", nil) return errors.NewProtocolError(tr.Tr.Get("Unable to negotiate version with remote side (missing version=1)"), nil)
} }
err = conn.SendMessage("version 1", nil) err = conn.SendMessage("version 1", nil)
if err != nil { if err != nil {
return errors.NewProtocolError("Unable to negotiate version with remote side (unable to send version)", err) return errors.NewProtocolError(tr.Tr.Get("Unable to negotiate version with remote side (unable to send version)"), err)
} }
status, args, _, err := conn.ReadStatusWithLines() status, args, _, err := conn.ReadStatusWithLines()
if err != nil { if err != nil {
return errors.NewProtocolError("Unable to negotiate version with remote side (unable to read status)", err) return errors.NewProtocolError(tr.Tr.Get("Unable to negotiate version with remote side (unable to read status)"), err)
} }
if status != 200 { if status != 200 {
text := "no error provided" text := tr.Tr.Get("no error provided")
if len(args) > 0 { if len(args) > 0 {
text = fmt.Sprintf("server said: %q", args[0]) text = tr.Tr.Get("server said: %q", args[0])
} }
return errors.NewProtocolError(fmt.Sprintf("Unable to negotiate version with remote side (unexpected status %d; %s)", status, text), nil) return errors.NewProtocolError(tr.Tr.Get("Unable to negotiate version with remote side (unexpected status %d; %s)", status, text), nil)
} }
return nil return nil
} }
@ -150,12 +150,12 @@ func (conn *PktlineConnection) ReadStatus() (int, error) {
for { for {
s, pktLen, err := conn.pl.ReadPacketTextWithLength() s, pktLen, err := conn.pl.ReadPacketTextWithLength()
if err != nil { if err != nil {
return 0, errors.NewProtocolError("error reading packet", err) return 0, errors.NewProtocolError(tr.Tr.Get("error reading packet"), err)
} }
switch { switch {
case pktLen == 0: case pktLen == 0:
if !seenStatus { if !seenStatus {
return 0, errors.NewProtocolError("no status seen", nil) return 0, errors.NewProtocolError(tr.Tr.Get("no status seen"), nil)
} }
return status, nil return status, nil
case !seenStatus: case !seenStatus:
@ -165,11 +165,11 @@ func (conn *PktlineConnection) ReadStatus() (int, error) {
ok = err == nil ok = err == nil
} }
if !ok { if !ok {
return 0, errors.NewProtocolError(fmt.Sprintf("expected status line, got %q", s), err) return 0, errors.NewProtocolError(tr.Tr.Get("expected status line, got %q", s), err)
} }
seenStatus = true seenStatus = true
default: default:
return 0, errors.NewProtocolError(fmt.Sprintf("unexpected data, got %q", s), err) return 0, errors.NewProtocolError(tr.Tr.Get("unexpected data, got %q", s), err)
} }
} }
} }
@ -183,13 +183,13 @@ func (conn *PktlineConnection) ReadStatusWithData() (int, []string, io.Reader, e
for { for {
s, pktLen, err := conn.pl.ReadPacketTextWithLength() s, pktLen, err := conn.pl.ReadPacketTextWithLength()
if err != nil { if err != nil {
return 0, nil, nil, errors.NewProtocolError("error reading packet", err) return 0, nil, nil, errors.NewProtocolError(tr.Tr.Get("error reading packet"), err)
} }
if pktLen == 0 { if pktLen == 0 {
if !seenStatus { if !seenStatus {
return 0, nil, nil, errors.NewProtocolError("no status seen", nil) return 0, nil, nil, errors.NewProtocolError(tr.Tr.Get("no status seen"), nil)
} }
return 0, nil, nil, errors.NewProtocolError("unexpected flush packet", nil) return 0, nil, nil, errors.NewProtocolError(tr.Tr.Get("unexpected flush packet"), nil)
} else if !seenStatus { } else if !seenStatus {
ok := false ok := false
if strings.HasPrefix(s, "status ") { if strings.HasPrefix(s, "status ") {
@ -197,7 +197,7 @@ func (conn *PktlineConnection) ReadStatusWithData() (int, []string, io.Reader, e
ok = err == nil ok = err == nil
} }
if !ok { if !ok {
return 0, nil, nil, errors.NewProtocolError(fmt.Sprintf("expected status line, got %q", s), err) return 0, nil, nil, errors.NewProtocolError(tr.Tr.Get("expected status line, got %q", s), err)
} }
seenStatus = true seenStatus = true
} else if pktLen == 1 { } else if pktLen == 1 {
@ -220,12 +220,12 @@ func (conn *PktlineConnection) ReadStatusWithLines() (int, []string, []string, e
for { for {
s, pktLen, err := conn.pl.ReadPacketTextWithLength() s, pktLen, err := conn.pl.ReadPacketTextWithLength()
if err != nil { if err != nil {
return 0, nil, nil, errors.NewProtocolError("error reading packet", err) return 0, nil, nil, errors.NewProtocolError(tr.Tr.Get("error reading packet"), err)
} }
switch { switch {
case pktLen == 0: case pktLen == 0:
if !seenStatus { if !seenStatus {
return 0, nil, nil, errors.NewProtocolError("no status seen", nil) return 0, nil, nil, errors.NewProtocolError(tr.Tr.Get("no status seen"), nil)
} }
return status, args, lines, nil return status, args, lines, nil
case seenDelim: case seenDelim:
@ -237,12 +237,12 @@ func (conn *PktlineConnection) ReadStatusWithLines() (int, []string, []string, e
ok = err == nil ok = err == nil
} }
if !ok { if !ok {
return 0, nil, nil, errors.NewProtocolError(fmt.Sprintf("expected status line, got %q", s), err) return 0, nil, nil, errors.NewProtocolError(tr.Tr.Get("expected status line, got %q", s), err)
} }
seenStatus = true seenStatus = true
case pktLen == 1: case pktLen == 1:
if seenDelim { if seenDelim {
return 0, nil, nil, errors.NewProtocolError("unexpected delimiter packet", nil) return 0, nil, nil, errors.NewProtocolError(tr.Tr.Get("unexpected delimiter packet"), nil)
} }
seenDelim = true seenDelim = true
default: default: