Hello community, here is the log from the commit of package lftp for openSUSE:Factory checked in at 2018-02-28 20:03:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lftp (Old) and /work/SRC/openSUSE:Factory/.lftp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lftp" Wed Feb 28 20:03:01 2018 rev:70 rq:580923 version:4.8.3 Changes: -------- --- /work/SRC/openSUSE:Factory/lftp/lftp.changes 2017-11-13 14:07:12.999382503 +0100 +++ /work/SRC/openSUSE:Factory/.lftp.new/lftp.changes 2018-02-28 20:03:03.555253065 +0100 @@ -1,0 +2,7 @@ +Wed Feb 28 10:57:02 UTC 2018 - psim...@suse.com + +- fix-zero-byte-file-upload-via-ssl.patch: fix a bug that caused + lftp to break the TLS protocol and lose the connection when + trying to upload a 0 byte length file. [bsc#1079168] + +------------------------------------------------------------------- New: ---- fix-zero-byte-file-upload-via-ssl.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lftp.spec ++++++ --- /var/tmp/diff_new_pack.jb7Flt/_old 2018-02-28 20:03:05.759173321 +0100 +++ /var/tmp/diff_new_pack.jb7Flt/_new 2018-02-28 20:03:05.763173177 +0100 @@ -1,7 +1,7 @@ # # spec file for package lftp # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2012 Pascal Bleser <pascal.ble...@opensuse.org> # # All modifications and additions to the file contributed by third parties @@ -29,6 +29,8 @@ Source3: http://lftp.yar.ru/ftp/%{name}-%{version}.tar.xz.asc # PATCH-FEATURE-OPENSUSE lftp-ssl-cipher.patch pgaj...@suse.cz -- use stronger cipher [bnc#857148] Patch0: lftp-default-ssl-cipher.patch +# PATCH-FIX-UPSTREAM fix-for-upstream-sources.patch bsc#1079168 +Patch1: https://github.com/lavv17/lftp/commit/b934dbba0cb3.patch#/fix-zero-byte-file-upload-via-ssl.patch BuildRequires: gcc-c++ BuildRequires: libstdc++-devel BuildRequires: libtool ++++++ fix-zero-byte-file-upload-via-ssl.patch ++++++ >From b934dbba0cb3a2b367549d0e17131538b90acbc5 Mon Sep 17 00:00:00 2001 From: "Alexander V. Lukyanov" <lavv...@gmail.com> Date: Tue, 20 Feb 2018 21:38:30 +0300 Subject: [PATCH] BufferSSL: handshake ssl even if we have no data to write (fix #420) --- src/buffer_ssl.cc | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/buffer_ssl.cc b/src/buffer_ssl.cc index 5f466bd2..9e701c22 100644 --- a/src/buffer_ssl.cc +++ b/src/buffer_ssl.cc @@ -34,13 +34,25 @@ int IOBufferSSL::Do() if(Done() || Error()) return m; - if(mode==PUT && Size()==0 && ssl->handshake_done && !eof) - return m; - - // cannot use want_mask before trying to read/write, since ssl can be shared - if(!ssl->handshake_done || eof || Ready(ssl->fd,dir_mask())) - m|=super::Do(); - + if(mode==PUT && Size()==0) + { + // nothing to write, but may need to do handshake + if(!ssl->handshake_done) + { + if(Put_LL("",0)<0) + return MOVED; + if(ssl->handshake_done && eof) + ssl->shutdown(); + } + if(ssl->handshake_done && !eof) + return m; + } + else + { + // cannot use want_mask before trying to read/write, since ssl can be shared + if(!ssl->handshake_done || eof || Ready(ssl->fd,dir_mask())) + m|=super::Do(); + } Block(ssl->fd,block_mask()); return m; }