Mailing List Archive

[PATCH 0/4] Initial SFTPv4 support
This brings SFTPv4 support to the sftp client & server. I split them
up so it's easy to see & merge just server support if we decide to not
do the client. I also haven't touched scp.

There are concerns over the SFTPv4 spec being a bit bloated. I discuss
those in the server patch, but the tl;dr is that I think we can include
the new features we want (e.g. better timestamps) while omitting the
parts we don't (e.g. text mode & ACLs). This keeps the actual code size
manageable.

Implementation wise, I thought about making the code more object-oriented
(i.e. structs of func pointers for each SFTP version), but after comparing
the actual spec differences, it seems that things are minor enough that
inlining the version tests isn't terrible. A few funcs are a little bit
harder to follow (largely the file attribute serializers), but all the
rest seem to be OK. Or, it at least seems better when compared to the
amount of duplicated logic we'd have if there were v3 & v4 variants of
these functions.

NB: The patch series might not apply cleanly because they're based on
other SFTP features I've posted to the mailing list. I can easily
respin once those get merged ;).

Mike Frysinger (4):
scp/sftp: add -V for setting SFTP protocol version
add SFTPv4 constants & handle error & file mode strings
sftp-server: initial experimental SFTPv4 support
[incomplete] sftp-client: initial experimental SFTPv4 support

PROTOCOL | 6 +-
scp.c | 13 +++-
sftp-client.c | 117 +++++++++++++++++++++-------
sftp-common.c | 211 ++++++++++++++++++++++++++++++++++++++++----------
sftp-common.h | 17 +++-
sftp-server.c | 198 ++++++++++++++++++++++++++++++++++++----------
sftp.c | 83 +++++++++++++-------
sftp.h | 30 +++++--
8 files changed, 524 insertions(+), 151 deletions(-)

--
2.33.0

_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev