Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 238949 - net-ftp/lftp-3.7.4 terminates SSL data connections without SSL shutdown, file corruption with parallel uploads over SSL data connection
Summary: net-ftp/lftp-3.7.4 terminates SSL data connections without SSL shutdown, file...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Daniel Black (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-28 15:33 UTC by Andreas Prieß
Modified: 2009-03-06 12:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Prieß 2008-09-28 15:33:46 UTC
The following happens when lftp has encryption enabled for data connections with "ftp:ssl-protect-data yes" and vsftpd accepts only encrypted connections for both channels:
lftp-3.7.4 causes error messages with vsftpd FTP server in version 2.0.7.
On every upload PUT operation vsftpd logs the following message:

DEBUG: Client "87.178.114.84", "Connection terminated without SSL shutdown - buggy client?"
OK UPLOAD: Client "87.178.114.84", "/export/Babylon1.2.tiff", 15752466 bytes, 56.67Kbyte/sec

So the connection was not terminated as it should have been, but the file was uploaded without errors.

When I try to upload multiple files with the lftp mirror command and the options --reverse and --parallel=2 the uploaded files are corrupted and differ from the original ones.

From the live status output of lftp, it seems as if lftp opens one SSL connection and tries to send both files over the same data channel.


Reproducible: Always

Steps to Reproduce:
1. vsftpd-2.0.7 as FTP server, accepting only secure connections
2. lftp-3.7.4 with SSL for data channel enabled: ftp:ssl-protect-data yes
3. A single PUT command will show the unclean SSL shutdown in vsftpds server log.
4. Try uploading multiple files to the FTP server with lftp -d and the mirror command:
mirror --reverse --parallel=2
5. Compare uploaded files with original ones to see if they differ.

Actual Results:  
Messages in vsftpd server log like the following:
DEBUG: Client "87.178.114.84", "Connection terminated without SSL shutdown - buggy client?"

lftp seems to upload two files in parallel with only one data connection opened, man lines like "copy: put rolled back to 13041664, seeking
get accordingly" appear. Then:

copy: all data received, but get rolled back
---- Closing data socket
copy: all data received, but get rolled back
<--- 226 File receive OK.
---> PASV
copy: put rolled back to 0, seeking get accordingly

And the server has recorded only one file upload and the usual SSL error:
DEBUG: "Connection terminated without SSL shutdown - buggy client?"
OK UPLOAD: "/export/Babylon1.2.tiff", 15752466 bytes, 57.16Kbyte/sec

I don't see two connections opened for upload here as I see it for
download of two files in parrallel. Maybe another bug with handling of
parallel uploads?

Expected Results:  
No unclean shutdown of SSL connections reported by vsftpd.
Uploaded files should of course match the original ones and not be corrupted.

I reported this to the lftp-devel mailing list, a first patch did not resolve the problem, but I found the data corruption issue then in addition.

Mailing list archive:
http://www.mail-archive.com/lftp-devel%40uniyar.ac.ru/

Look for the messages with the subject:
"Bugreport: SSL connection terminated without SSL shutdown"



# emerge --info
Portage 2.1.4.4 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-hardened-r7 i686)
=================================================================
System uname: 2.6.25-hardened-r7 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
Timestamp of tree: Sun, 28 Sep 2008 07:15:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
ALSA_CARDS="via82xx"
ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol"
ANT_HOME="/usr/share/ant"
APACHE2_MODULES="alias auth_basic auth_digest authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id usertrack vhost_alias"
APACHE2_MPMS="worker"
ARCH="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -mtune=athlon64 -O2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CLASSPATH="."
CLEAN_DELAY="5"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CVS_RSH="ssh"
CXXFLAGS="-march=athlon-xp -mtune=athlon64 -O2 -fomit-frame-pointer -pipe"
DISPLAY=":0.0"
DISTDIR="/usr/portage/distfiles"
DONT_USE="-acl -gnome -gstreamer -ipv6 -kerberos -ldap"
DONT_USE_DEFAULT="-arts -dri -eds -emboss -esd -gpm -mailwrapper -oss"
EDITOR="/usr/bin/vim"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="--verbose --with-bdeps y"
EMERGE_WARNING_DELAY="10"
FEATURES="distlocks fixpackages metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}"
FLTK_DOCDIR="/usr/share/doc/fltk-1.1.7-r2/html"
GCC_SPECS=""
GDK_USE_XFT="1"
GDM_LANG="de_DE.utf8"
GENERATION="2"
GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.intergenia.de http://gentoo.mirror.solnet.ch http://mirror.ovh.net/gentoo-distfiles/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://gentoo.tiscali.nl/"
GUILE_LOAD_PATH="/usr/share/guile/1.8"
HOME="/root"
INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info"
INPUT_DEVICES="keyboard mouse"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KDEDIRS="/usr:/usr/local:/usr/kde/3.5"
KDE_IS_PRELINKED="1"
KERNEL="linux"
LANG="de_DE.utf8"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
LC_ADDRESS="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_CTYPE="de_DE.utf8"
LC_IDENTIFICATION="de_DE.utf8"
LC_MEASUREMENT="de_DE.utf8"
LC_MESSAGES="en_GB.utf8"
LC_MONETARY="de_DE.utf8"
LC_NAME="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_PAPER="de_DE.utf8"
LC_TELEPHONE="de_DE.utf8"
LC_TIME="de_DE.utf8"
LDFLAGS="-Wl,-O1"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe.sh %s"
LINGUAS="en_GB en de_DE de"
LOGNAME="root"
LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:"
MAKEOPTS="-j3"
MANPATH="/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man:/opt/sun-jdk-1.4.2.18/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/:/usr/kde/3.5/share/man:/usr/qt/3/doc/man:/usr/share/postgresql-8.3/man:/opt/opera/share/man"
OLDPWD="/usr/portage/net-ftp/lftp"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/opt/sun-jdk-1.4.2.18/bin:/opt/sun-jdk-1.4.2.18/jre/bin:/opt/sun-jdk-1.4.2.18/jre/javaws:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin"
PKGDIR="/usr/portage/packages"
PKG_CONFIG_PATH="/usr/qt/3/lib/pkgconfig"
PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha hppa sparc-fbsd"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_BIN_PATH="/usr/lib/portage/bin"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="error warn info log"
PORTAGE_ELOG_MAILFROM="portage@localhost"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_SYSTEM="save"
PORTAGE_GID="250"
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_IUSE="^(alpha|alsa_cards_aoa|alsa_cards_aoa-fabric-layout|alsa_cards_aoa-onyx|alsa_cards_aoa-soundbus|alsa_cards_aoa-soundbus-i2s|alsa_cards_aoa-tas|alsa_cards_aoa-toonie|alsa_cards_armaaci|alsa_cards_at91-soc|alsa_cards_at91-soc-eti-b1-wm8731|alsa_cards_au1x00|alsa_cards_harmony|alsa_cards_powermac|alsa_cards_pxa2xx-i2sound|alsa_cards_pxa2xx-soc|alsa_cards_pxa2xx-soc-corgi|alsa_cards_pxa2xx-soc-poodle|alsa_cards_pxa2xx-soc-spitz|alsa_cards_pxa2xx-soc-tosa|alsa_cards_sa11xx-uda1341ts|alsa_cards_sun-amd7930|alsa_cards_sun-cs4231|alsa_cards_sun-dbri|altivec|amd64|aqua|arm|bmp|bmpx|bootstrap|build|coreaudio|crosscompile_opts_.*|elibc_.*|elibc_Darwin|elibc_DragonFly|elibc_FreeBSD|elibc_NetBSD|elibc_OpenBSD|elibc_glibc|elibc_uclibc|emul-linux-x86|hppa|ia64|ibm|infopipe|kernel_.*|kernel_Darwin|kernel_FreeBSD|kernel_linux|m68k|mips|mplayer-bin|multilib|n32|n64|pam_console|pbbuttonsd|ppc|ppc64|ppcsha1|s390|selinux|sh|sparc|sparc-fbsd|uclibc|ultra1|userland_.*|userland_BSD|userland_Darwin|userland_GNU|video_cards_impact|video_cards_newport|video_cards_sunbw2|video_cards_suncg14|video_cards_suncg3|video_cards_suncg6|video_cards_sunffb|video_cards_sunleo|video_cards_suntcx|vis|x86|x86-fbsd|xmms)$"
PORTAGE_NICENESS="3"
PORTAGE_PYM_PATH="/usr/lib/portage/pym"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_RSYNC_RETRIES="5"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_TMPFS="/dev/shm"
PORTAGE_USE="elibc_glibc kernel_linux userland_GNU x86"
PORTAGE_WORKDIR_MODE="0700"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/local/portage"
PORT_LOGDIR="/var/log/portage"
PRELINK_PATH_MASK="/lib/modules:/usr/lib/locale:/usr/lib/wine:/usr/lib/valgrind:*.la:*.png:*.py:*.pl:*.pm:*.sh:*.xml:*.xslt:*.a:*.js"
PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND"
PWD="/etc/lftp"
PYTHONPATH="/usr/lib/portage/pym"
QMAKESPEC="linux-g++"
QTDIR="/usr/qt/3"
RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}"
ROOT="/"
ROOTPATH="/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/opt/sun-jdk-1.4.2.18/bin:/opt/sun-jdk-1.4.2.18/jre/bin:/opt/sun-jdk-1.4.2.18/jre/javaws:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin"
RPMDIR="/usr/portage/rpm"
SCHEME_LIBRARY_PATH="/usr/share/slib/"
SHELL="/bin/bash"
SHLVL="1"
STY="6463.pts-1.berry"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
TERM="screen"
TERMCAP="SC|screen|VT 100/ANSI X3.64 virtual terminal:\
        :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\
        :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\
        :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\
        :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\
        :li#54:co#120:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\
        :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\
        :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\
        :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\
        :ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:\
        :se=\E[23m:mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:ms:\
        :Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\
        :vb=\Eg:G0:as=\E(0:ae=\E(B:\
        :ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\
        :po=\E[5i:pf=\E[4i:Z0=\E[?3h:Z1=\E[?3l:k0=\E[10~:\
        :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
        :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:\
        :F2=\E[24~:F3=\E[2P:F4=\E[2Q:F5=\E[2R:F6=\E[2S:\
        :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:kb=^H:\
        :K2=\EOE:kB=\E[Z:kF=\E[1;2B:kR=\E[1;2A:*4=\E[3;2~:\
        :*7=\E[1;2F:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:\
        :%e=\E[5;2~:%i=\E[1;2C:kh=\E[1~:@1=\E[1~:kH=\E[4~:\
        :@7=\E[4~:kN=\E[6~:kP=\E[5~:kI=\E[2~:kD=\E[3~:ku=\EOA:\
        :kd=\EOB:kr=\EOC:kl=\EOD:km:"
USE="3dnow 3dnowext X a52 aac acpi alsa apache2 avi berkdb bluetooth branding bzip2 cairo cdparanoia cdr cli cracklib crypt cups dbus dga divx dvd dvdr dvdread encode evo exif fam firefox flac foomaticdb fortran gdbm gif graphviz gs gtk gtk2 hal hdri iconv idn isdnlog java java5 javamail jbig jpeg jpeg2k junit kde kdeenablefinal lcms libnotify mad midi mikmod mmx mmxext mp3 mpeg mudflap mysql ncurses nls nptl nptlonly ogg openexr opengl openmp pam pcre pdf perl png postgres ppds pppd python qt3 qt3support qt4 quicktime readline reflection scanner sdl session smp spell spl sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype udev unicode usb vhosts vorbis win32codecs x86 xinerama xml xorg xulrunner xv xvid zlib" ALSA_CARDS="via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="alias auth_basic auth_digest authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id usertrack vhost_alias" APACHE2_MPMS="worker" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en de_DE de" USERLAND="GNU" VIDEO_CARDS="mga vesa vga fbdev"
USER="root"
USERLAND="GNU"
USE_ARCH="mmx mmxext sse sse2 3dnow 3dnowext"
USE_DEFAULT="crypt ssl"
USE_DESKTOP="firefox xulrunner   kde kdeenablefinal qt3 qt3support qt4   startup-notification   cups dbus foomaticdb ppds"
USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS"
USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
USE_IMAGE="exif gif graphviz gs hdri jbig jpeg jpeg2k lcms openexr png scanner svg tiff"
USE_JAVA="java java5 javamail junit"
USE_LIBS="apache2 bzip2 cairo gtk gtk2 idn mysql pcre pdf postgres xml"
USE_MEDIA="cdr dvd dvdr dvdread   alsa cdparanoia encode flac mad mp3 ogg vorbis   a52 aac avi divx mpeg quicktime sdl win32codecs xv xvid"
USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d"
USE_SYSTEM="mudflap nptl nptlonly openmp smp udev unicode vhosts"
USE_X="X xinerama xorg   dga opengl truetype"
VIDEO_CARDS="mga vesa vga fbdev"
VMHANDLE="sun-jdk-1.4"
WINDOW="0"
XAUTHORITY="/root/.xauthPPOh3T"
XDG_DATA_DIRS="/usr/share:/usr/kde/3.5/share:/usr/local/share"
_="/usr/bin/emerge"
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2008-11-24 01:14:15 UTC
This should be fixed with >=lftp-3.7.5
There's already a version bump request (3.7.6) with bug #248434
Comment 2 Daniel Black (RETIRED) gentoo-dev 2009-01-03 08:31:52 UTC
please confirm if 3.7.7 solves the problem.
Comment 3 Andreas Prieß 2009-01-03 23:29:12 UTC
Unfortunately version 3.7.7 does not solve the problem, but introduces another file corruption bug, as it seems:

Unter the same conditons as before, SSL connections to vsftpd, vsftpd still reports missing shutdown of SSL connection.

When I try to mirror 6 files each around 15 MB, two things changed:
- Sometimes one or two of 6 files are transmitted correctly, without vsftpd complaining about missing SSL shutdown. The files without an error message are ok, but all other files are corrupted.

- With version 3.7.7 most files are corrupted even _without_ parallel transmission! With version 3.7.4 every file has an unclean SSL shutdown, but the files sha1 sums are ok. With version 3.7.7 most files are corrupted. As it seems the files are truncated, missing a few hundred bytes, so what ever happened to the SSL connection handling, now it got worse.
Comment 4 Daniel Black (RETIRED) gentoo-dev 2009-01-04 00:14:50 UTC
(In reply to comment #3)
> Unfortunately version 3.7.7 does not solve the problem, but introduces another

sorry to hear this. can you please report this again the the lftp email list.
Comment 5 Andreas Prieß 2009-01-04 11:46:39 UTC
(In reply to comment #4)
> can you please report this again the the lftp email list.

Done already. I reported this to the lftp-devel list as before.
Comment 6 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-01-17 03:07:05 UTC
There was a patch posted at lftp's mailinglist:
http://www.mail-archive.com/lftp-devel%40uniyar.ac.ru/msg01671.html

Did you test this patch already?
Comment 7 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-01-24 00:07:54 UTC
Version 3.7.8 - 2009-01-23
* fixed upload via ftps in encrypted mode.
* gnulib sources updated.
Comment 8 Andreas Prieß 2009-01-25 22:23:27 UTC
(In reply to comment #6)
> There was a patch posted at lftp's mailinglist:
> Did you test this patch already?

I tested version 3.7.8 via a renamed ebuild, assuming it contains the mentioned patch:
Everything works without problems now, no more file corruptions.
I tested up- and download with a single and two parallel connections, and all files were ok.
The "SSL shutdown - buggy client?" message from vsftpd, also doesn't occur any more in nearly all cases. Just on upload with two parallel connections there was one such message in the middle of 20 transfers. But I can't tell whether that's still a problem of lftp.

As I already said: everything works for me now.

Do we need a separate version bump request?
Comment 9 Daniel Black (RETIRED) gentoo-dev 2009-01-26 01:06:40 UTC
(In reply to comment #8)
> Do we need a separate version bump request?

nope - thanks for the detailed test report. working on it now. 

Comment 10 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-06 12:48:12 UTC
*lftp-3.7.9 (06 Mar 2009)

  06 Mar 2009; Jeroen Roovers <jer@gentoo.org> +lftp-3.7.9.ebuild:
  Version bump thanks to Lars (Polynomial-C) (bug #261394).

Marking this bug as FIXED.