diff options
Diffstat (limited to 'vendor/github.com/gliderlabs/ssh/util.go')
-rw-r--r-- | vendor/github.com/gliderlabs/ssh/util.go | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/vendor/github.com/gliderlabs/ssh/util.go b/vendor/github.com/gliderlabs/ssh/util.go deleted file mode 100644 index 015a44ecc0..0000000000 --- a/vendor/github.com/gliderlabs/ssh/util.go +++ /dev/null @@ -1,83 +0,0 @@ -package ssh - -import ( - "crypto/rand" - "crypto/rsa" - "encoding/binary" - - "golang.org/x/crypto/ssh" -) - -func generateSigner() (ssh.Signer, error) { - key, err := rsa.GenerateKey(rand.Reader, 2048) - if err != nil { - return nil, err - } - return ssh.NewSignerFromKey(key) -} - -func parsePtyRequest(s []byte) (pty Pty, ok bool) { - term, s, ok := parseString(s) - if !ok { - return - } - width32, s, ok := parseUint32(s) - if !ok { - return - } - height32, _, ok := parseUint32(s) - if !ok { - return - } - pty = Pty{ - Term: term, - Window: Window{ - Width: int(width32), - Height: int(height32), - }, - } - return -} - -func parseWinchRequest(s []byte) (win Window, ok bool) { - width32, s, ok := parseUint32(s) - if width32 < 1 { - ok = false - } - if !ok { - return - } - height32, _, ok := parseUint32(s) - if height32 < 1 { - ok = false - } - if !ok { - return - } - win = Window{ - Width: int(width32), - Height: int(height32), - } - return -} - -func parseString(in []byte) (out string, rest []byte, ok bool) { - if len(in) < 4 { - return - } - length := binary.BigEndian.Uint32(in) - if uint32(len(in)) < 4+length { - return - } - out = string(in[4 : 4+length]) - rest = in[4+length:] - ok = true - return -} - -func parseUint32(in []byte) (uint32, []byte, bool) { - if len(in) < 4 { - return 0, nil, false - } - return binary.BigEndian.Uint32(in), in[4:], true -} |