simon-git: putty (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Wed Oct 24 19:25:35 BST 2018


TL;DR:
  cf8a421f Add a missing const in uint64_from_decimal.
  d1eb4095 wildcard.c: allow the matched string to be a ptrlen.
  c31e3cd4 Fix a couple of uninitialised variables.
  18d79980 pscp: extra security check in SCP mode.
  8a60fdaa Provide Uppity with a built-in old-style scp server.

Repository:     https://git.tartarus.org/simon/putty.git
On the web:     https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2018-10-24 19:25:35

commit cf8a421fa23bd22b29a3cb7edada4ce4b478a94f
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=cf8a421fa23bd22b29a3cb7edada4ce4b478a94f;hp=76a32c514c1f8be6f117f86f26aba93e13147086
Author: Simon Tatham <anakin at pobox.com>
Date:   Sun Oct 21 13:19:54 2018 +0100

    Add a missing const in uint64_from_decimal.

 int64.c | 2 +-
 int64.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit d1eb40950c7b34690287b0a8ef05169904f5678c
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=d1eb40950c7b34690287b0a8ef05169904f5678c;hp=cf8a421fa23bd22b29a3cb7edada4ce4b478a94f
Author: Simon Tatham <anakin at pobox.com>
Date:   Tue Oct 23 18:02:35 2018 +0100

    wildcard.c: allow the matched string to be a ptrlen.
    
    The main wildcard matching code now doesn't depend on having a NUL
    terminator in the string to be matched; instead it works with a pair
    of pointers, one working along the string as we match, and the other
    identifying the end of the string, and tests that p < target_end
    before dereferencing p. User-facing entry points now allow you to pass
    either an ordinary ASCIZ const char * or a ptrlen, and set up
    target_end accordingly.
    
    For the moment, the _wildcard_ parameter still has to be an ordinary
    null-terminated string, but who knows, maybe that will have to change
    too at some later point.

 putty.h    |  1 +
 wildcard.c | 33 +++++++++++++++++++++++----------
 2 files changed, 24 insertions(+), 10 deletions(-)

commit c31e3cd43764172f073fe6b5872f7e33616e7a7b
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=c31e3cd43764172f073fe6b5872f7e33616e7a7b;hp=d1eb40950c7b34690287b0a8ef05169904f5678c
Author: Simon Tatham <anakin at pobox.com>
Date:   Wed Oct 24 19:14:13 2018 +0100

    Fix a couple of uninitialised variables.
    
    throttled_by_backlog is quite new, so it's not too surprising that I
    hadn't already noticed it wasn't initialised. But the failure to null
    out the final 'next' pointer in the callbacks list when it's rewritten
    as a result of delete_callbacks_for_context is a great deal older, so
    I'm a lot more puzzled about how it hasn't come up until now!

 callback.c       | 1 +
 ssh2connection.c | 1 +
 2 files changed, 2 insertions(+)

commit 18d7998008f210b4b90118c0a982b9f7974a77f7
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=18d7998008f210b4b90118c0a982b9f7974a77f7;hp=c31e3cd43764172f073fe6b5872f7e33616e7a7b
Author: Simon Tatham <anakin at pobox.com>
Date:   Tue Oct 23 18:05:58 2018 +0100

    pscp: extra security check in SCP mode.
    
    When you don't specify -r, we now check whether the server is sending
    a whole subdirectory in place of a single file, and abort if it does.
    Previously we'd accept the subdirectory download regardless.
    
    The new error message labels this as a security violation, just on the
    grounds that it involves the server doing something other than what
    the implicit contract suggested it ought to, but I don't think it's a
    really serious violation in the same sense as letting the server cd
    into ".." or overwrite files of arbitrary name would be. In this case
    it can only leave a downloaded thing in the specific place you already
    authorised it to put _some_ downloaded thing - it's just returned you
    a directory in place of a file.

 pscp.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 8a60fdaa57e6e6691cfcf661152e151d63dd498b
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=8a60fdaa57e6e6691cfcf661152e151d63dd498b;hp=18d7998008f210b4b90118c0a982b9f7974a77f7
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Oct 20 11:19:17 2018 +0100

    Provide Uppity with a built-in old-style scp server.
    
    Like the SFTP server, this is implemented in-process rather than by
    invoking a separate scp server binary.
    
    It also uses the internal SftpServer abstraction for access to the
    server's filesystem, which means that when (or if) I implement an
    alternative SftpServer implementing a dummy file system for test suite
    purposes, this scp server should automatically start using it too.
    
    As a bonus, the new scpserver.c contains a large comment documenting
    my understanding of the SCP protocol, which I previously didn't have
    even a de-facto or post-hoc spec for. I don't claim it's authoritative
    - it's all reverse-engineered from my own code and observing other
    implementations in action - but at least it'll make it easier to
    refresh my own memory of what's going on the next time I need to do
    something to either this code or PSCP.

 Recipe      |    2 +-
 scpserver.c | 1407 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sesschan.c  |   67 +++
 sftp.h      |   40 ++
 4 files changed, 1515 insertions(+), 1 deletion(-)



More information about the tartarus-commits mailing list