[PATCH 0/3] gesftpserver: fix extensions and add new ones

Michel Kraus mkraus+sgo at demonsphere.de
Sat May 16 18:00:56 BST 2015

Patch 1 and 2 fix the handling of extensions on the server-side.
Patch 3 adds the *@openssh.com extensions used by current versions
of OpenSSH sftp.

According to the secsh-filexfer-drafts and OpenSSH's PROTOCOL the list of
extensions should be send SSH_FXP_VERSION. This is even in draft-13.

The "supported" and "supported2" extensions contain another list of extensions.
My understanding of the newer drafts is that these 2 extensions contain a list
of extensions a client may execute on the server. A extensions listed in
SSH_FXP_VERSION but not in "supported2" could be one that only extends messages
from the server to the client. This is possible as clients must ignore
excessive data in packets.

Currently all implemented extensions execute a function on the server.

Ideas for future work:
- extend struct sftpextensions to allow attribute extensions and 
  extensions extending packets
- move extensions to an external source file and make them independent of the
  sftp protocol version

Michel Kraus (3):
  extensions: Add member data to struct sftpextensions
  extensions: Always send extension pairs in SSH_FXP_VERSION
  extensions: Add current OpenSSH extensions

 sftpserver.c |  4 +++
 sftpserver.h | 26 ++++++++++++++++++
 types.h      |  5 +++-
 v3.c         | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 v4.c         | 15 ++++++++---
 v5.c         | 15 ++++++++---
 v6.c         | 17 ++++++++----
 7 files changed, 153 insertions(+), 17 deletions(-)


More information about the sgo-software-discuss mailing list