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"
This should be fixed with >=lftp-3.7.5 There's already a version bump request (3.7.6) with bug #248434
please confirm if 3.7.7 solves the problem.
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.
(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.
(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.
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?
Version 3.7.8 - 2009-01-23 * fixed upload via ftps in encrypted mode. * gnulib sources updated.
(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?
(In reply to comment #8) > Do we need a separate version bump request? nope - thanks for the detailed test report. working on it now.
*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.