1
0
mirror of https://github.com/rclone/rclone.git synced 2026-01-06 18:43:50 +00:00

vendor: update github.com/pkg/sftp because dep insisted

This commit is contained in:
Nick Craig-Wood
2018-04-13 11:49:30 +01:00
parent ef412c1985
commit 18317a2747
7 changed files with 68 additions and 28 deletions

View File

@@ -198,24 +198,29 @@ func (p sshFxpTestBadExtendedPacket) MarshalBinary() ([]byte, error) {
}
// test that errors are sent back when we request an invalid extended packet operation
// this validates the following rfc draft is followed https://tools.ietf.org/html/draft-ietf-secsh-filexfer-extensions-00
func TestInvalidExtendedPacket(t *testing.T) {
client, server := clientServerPair(t)
defer client.Close()
defer server.Close()
badPacket := sshFxpTestBadExtendedPacket{client.nextID(), "thisDoesn'tExist", "foobar"}
_, _, err := client.clientConn.sendPacket(badPacket)
if err == nil {
t.Fatal("expected error from bad packet")
typ, data, err := client.clientConn.sendPacket(badPacket)
if err != nil {
t.Fatalf("unexpected error from sendPacket: %s", err)
}
if typ != ssh_FXP_STATUS {
t.Fatalf("received non-FPX_STATUS packet: %v", typ)
}
// try to stat a file; the client should have shut down.
filePath := "/etc/passwd"
_, err = client.Stat(filePath)
if err == nil {
t.Fatal("expected error from closed connection")
err = unmarshalStatus(badPacket.id(), data)
statusErr, ok := err.(*StatusError)
if !ok {
t.Fatal("failed to convert error from unmarshalStatus to *StatusError")
}
if statusErr.Code != ssh_FX_OP_UNSUPPORTED {
t.Errorf("statusErr.Code => %d, wanted %d", statusErr.Code, ssh_FX_OP_UNSUPPORTED)
}
}
// test that server handles concurrent requests correctly