Re: SSH File Transfer Protocol - draft-moonesamy-secsh-filexfer-00

Peter Gutmann <pgut001@cs.auckland.ac.nz> Sun, 14 July 2013 02:57 UTC

Return-Path: <bounces-ietf-ssh-owner-secsh-tyoxbijeg7-archive=lists.ietf.org@NetBSD.org>
X-Original-To: ietfarch-secsh-tyoxbijeg7-archive@ietfa.amsl.com
Delivered-To: ietfarch-secsh-tyoxbijeg7-archive@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6431821F9C88 for <ietfarch-secsh-tyoxbijeg7-archive@ietfa.amsl.com>; Sat, 13 Jul 2013 19:57:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DZDNYh1b1SiI for <ietfarch-secsh-tyoxbijeg7-archive@ietfa.amsl.com>; Sat, 13 Jul 2013 19:57:39 -0700 (PDT)
Received: from mail.netbsd.org (mail.NetBSD.org [IPv6:2001:4f8:3:7::25]) by ietfa.amsl.com (Postfix) with ESMTP id 42D3221F9C2B for <secsh-tyoxbijeg7-archive@lists.ietf.org>; Sat, 13 Jul 2013 19:57:39 -0700 (PDT)
Received: by mail.netbsd.org (Postfix, from userid 605) id A751D14A195; Sun, 14 Jul 2013 02:57:36 +0000 (UTC)
Delivered-To: ietf-ssh@netbsd.org
Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id F16A714A188 for <ietf-ssh@netbsd.org>; Sun, 14 Jul 2013 02:57:33 +0000 (UTC)
X-Virus-Scanned: amavisd-new at NetBSD.org
Authentication-Results: mail.NetBSD.org (amavisd-new); dkim=pass (1024-bit key) header.d=auckland.ac.nz
Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.NetBSD.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id 5xEfDjuBqc_9 for <ietf-ssh@netbsd.org>; Sun, 14 Jul 2013 02:57:33 +0000 (UTC)
Received: from mx2.auckland.ac.nz (mx2.auckland.ac.nz [130.216.125.245]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mail.netbsd.org (Postfix) with ESMTPS id C372B14A176 for <ietf-ssh@netbsd.org>; Sun, 14 Jul 2013 02:57:29 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=auckland.ac.nz; i=@auckland.ac.nz; q=dns/txt; s=uoa; t=1373770653; x=1405306653; h=from:to:subject:date:message-id: content-transfer-encoding:mime-version; bh=+RXRpTeXSUvyEi3RonFhAbBcSCzh0ImyV8sIv1YBXrQ=; b=ANi+sxY7CJgUfO2p8pCjVqK2yNR7Vz9I0ssqS9ilEj2v74GyLe+jg8eu MXLk74LT4/QFQmkkfH47N+GgkmHaKOOev21sVNpL9pxuzKgIifVndV0SU Ofov7i44kRLJHVbkihRdWlgG9jXS5+deuqpPQr9V56gcTf6nPwCR+UPvT c=;
X-IronPort-AV: E=Sophos;i="4.89,662,1367928000"; d="scan'208";a="198810175"
X-Ironport-HAT: MAIL-SERVERS - $RELAYED
X-Ironport-Source: 130.216.4.112 - Outgoing - Outgoing
Received: from uxchange10-fe1.uoa.auckland.ac.nz ([130.216.4.112]) by mx2-int.auckland.ac.nz with ESMTP/TLS/AES128-SHA; 14 Jul 2013 14:57:27 +1200
Received: from UXCN10-6.UoA.auckland.ac.nz ([169.254.10.253]) by uxchange10-fe1.UoA.auckland.ac.nz ([130.216.4.112]) with mapi id 14.02.0318.004; Sun, 14 Jul 2013 14:57:27 +1200
From: Peter Gutmann <pgut001@cs.auckland.ac.nz>
To: "ietf-ssh@NetBSD.org" <ietf-ssh@NetBSD.org>, "mouse@Rodents-Montreal.ORG" <mouse@Rodents-Montreal.ORG>
Subject: Re: SSH File Transfer Protocol - draft-moonesamy-secsh-filexfer-00
Thread-Topic: SSH File Transfer Protocol - draft-moonesamy-secsh-filexfer-00
Thread-Index: Ac6APd781k9AAvRASNa7t7D5SQllvg==
Date: Sun, 14 Jul 2013 02:57:26 +0000
Message-ID: <9A043F3CF02CD34C8E74AC1594475C734470D8FC@uxcn10-6.UoA.auckland.ac.nz>
Accept-Language: en-NZ, en-GB, en-US
Content-Language: en-NZ
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [130.216.158.4]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Sender: ietf-ssh-owner@NetBSD.org
List-Id: ietf-ssh.NetBSD.org
Precedence: list

Mouse <mouse@Rodents-Montreal.ORG> writes:

>But, really, it provides a lot more than file transfer; it's really a remote
>filesystem access protocol, misnamed as a file transfer protocol.

I've always thought of it as an RPC mechanism for the Posix filesystem API.
I'm impressed at the level at which the Windows implementations manage to map
it to something that works under Windows.

What I'd like to see is two distinct profiles, one for "move a file from A to
B", a la SCP, which I suspect would satisfy 90% of users, and then the full
second-system-effect RPC-of-Posix-API mechanism for everyone else.  In
particular at the moment it's just way too hard to add basic remote-file-
transfer capabilities to your app without having to reimplement half the RPC
API.

In addition since there's no clear indication of which half you need, people
have to use trial-and-error.  I've talked to a few implementers of SFTP-like
functionality in apps and their target was to implement whatever was necessary
to get OpenSSH to send and receive a file, which seems like a pretty messy way
to do things.

For starters I'd use SCP/FTP functionality as a baseline, LS, GET/PUT/DELETE,
CHDIR/MKDIR/RMDIR/PWD, that's been enough for FTP for decades, it should be
good enough for standard SFTP functionality.

Peter.