That is strange... not sure what's special about uploads. Looks like it is
a Ubuntu/FileZilla/Linux/SSL library issue. I found this post which appears
to match with your descriptions.

http://forum.filezilla-project.org/viewtopic.php?f=2&t=24746

On the above post some one said the issue was fixed with FileZilla version
3.6.0.2.

Hope this helps.


On Tue, Jan 29, 2013 at 11:25 AM, Rubén Páez <ruben.p...@itac.com.co> wrote:

> Hi, thank you for your prompt reply. You can find my answers to your
> questions below:
>
> @David:
>
> > Are you sure your description of the problem is correct?
>
> Sorry, I think my description was vague, I'll try to elaborate better.
>
> > According to you,  this error occurs when you cancel the upload . But you
> > can see that the warn message is written 11 seconds after the  STOR
> command
> > is received
>
> Yes, the SSLException is thrown because I'm cancelling the upload. But I
> hit cancel because when I upload the file (STOR), the upload stalls, it
> never finishes, just 300 kB are sent and then the transfer speed goes to 0
> kB/s. The exception is not the problem, the problem is why uploads won't
> work.
>
>
>
> @Sai
>
> > Can you please answer the questions below so we all have a better
> > understanding of what's going on?
> > 1. Are downloads working fine for you?
>
> Yes, I can perform any other action. Uploads are the only feature I'm
> missing.
>
> > 2. Is directory listing working fine for you? Normally FileZilla does a
> > LIST or MLSD command to list the directory contents soon after login,
> but I
> > do not see anything in the logs to reflect it.
>
> Ohh, sorry, I intentionally deleted those lines, but the MLSD is sent:
>
> START ---------- ---------- ---------- ---------- ---------- ----------
> Status:  Resolving address of localhost
> Status:  Connecting to 127.0.0.1:21991...
> Status:  Connection established, initializing TLS...
> Status:  Verifying certificate...
> Status:  TLS/SSL connection established, waiting for welcome message...
> Response:   220 Service ready for new user.
> Command: USER admin
> Response:   331 User name okay, need password for admin.
> Command: PASS *****
> Response:   230 User logged in, proceed.
> Command: SYST
> Response:   215 UNIX Type: Apache FtpServer
> Command: FEAT
> Response:   211-Extensions supported
> Response:    SIZE
> Response:    MDTM
> Response:    REST STREAM
> Response:    LANG en;zh-tw;ja;is
> Response:    MLST Size;Modify;Type;Perm
> Response:    AUTH SSL
> Response:    AUTH TLS
> Response:    MODE Z
> Response:    UTF8
> Response:    TVFS
> Response:    MD5
> Response:    MMD5
> Response:    MFMT
> Response:   211 End
> Command: OPTS UTF8 ON
> Response:   200 Command OPTS okay.
> Command: PBSZ 0
> Response:   200 Command PBSZ okay.
> Command: PROT P
> Response:   200 Command PROT okay.
> Command: OPTS MLST size;modify;type;
> Response:   200 Command OPTS okay.
> Status:  Connected
> Status:  Retrieving directory listing...
> Command: PWD
> Response:   257 "/" is current directory.
> Command: TYPE I
> Response:   200 Command TYPE okay.
> Command: PASV
> Response:   227 Entering Passive Mode (127,0,0,1,153,43)
> Command: MLSD
> Response:   150 File status okay; about to open data connection.
> Response:   226 Closing data connection.
> Status:  Directory listing successful
> END ---------- ---------- ---------- ---------- ---------- ----------
>
> > 3. What happens if you try to upload a small file (like 1K or less)
>
> In FileZilla it works. Using FileZilla, I can upload files smaller than
> 300kb. I can even upload files bigger than 300 kB, but after FileZilla
> timeouts several times: for example, if I try to upload a file of 1.9 MB it
> takes almost 60 s to complete, but first it uploads 300 kB, then FileZilla
> prints connection timeout (and server logs SSLException, because the client
> closes the connection), FileZilla then retries the operation, this time it
> can upload a little more, then another timeout and so on, until it finally
> completes. But with other clients, like WinSCP, I cannot even upload an
> small file. I also tested a java ftp client library, and I found that when
> uploading using FTPES without issuing the AUTH SSL command and PROT C I can
> upload files, as soon as I send the AUTH SSL, FTPES uploads don't work
> either.
>
> > 4. Are the uploads working fine when you are NOT using SSL at all (plain
> > old FTP)?
>
> FTP works perfectly, just as any other action in FTPES or FTPS. just
> upload fails.
>
> > 5. Do you see any errors in FileZilla log or the FTP Server log when you
> > quit (logout) the session? Just login and log out without doing anything
> > else.
> >
>
> No errors besides the SSLException, but that exception is thrown only
> because I cancel the upload after some time or when FileZilla timeouts and
> try to upload again, when it tries to upload again, generally it can upload
> more bytes (sometimes it can upload almost 0.5 MB) but again it stalls and
> never goes beyond that.
>
> >
> > Thanks.
>
> again, thanks for all your help.
>
> ----- Original Message -----
> From: "Sai Pullabhotla" <sai.pullabho...@jmethods.com>
> To: ftpserver-users@mina.apache.org
> Cc: rdp...@gmail.com
> Sent: Tuesday, January 29, 2013 6:00:41 AM
> Subject: Re: Upload hangs using FTPS
>
> Can you please answer the questions below so we all have a better
> understanding of what's going on?
>
> 1. Are downloads working fine for you?
> 2. Is directory listing working fine for you? Normally FileZilla does a
> LIST or MLSD command to list the directory contents soon after login, but I
> do not see anything in the logs to reflect it.
> 3. What happens if you try to upload a small file (like 1K or less)
> 4. Are the uploads working fine when you are NOT using SSL at all (plain
> old FTP)?
> 5. Do you see any errors in FileZilla log or the FTP Server log when you
> quit (logout) the session? Just login and log out without doing anything
> else.
>
> Thanks.
>
>
> On Mon, Jan 28, 2013 at 9:21 AM, Rubén Páez <ruben.p...@itac.com.co>
> wrote:
>
> >
> >
> > Hi!
> >
> >
> > I have configured an standalone ftp server (Apache FTPServer) using this
> > config file:
> >
> >
> >
> >
> > START ---------- ---------- ---------- ---------- ---------- ----------
> > ----------
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <server xmlns="http://mina.apache.org/ftpserver/spring/v1";
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > xsi:schemaLocation="
> > http://mina.apache.org/ftpserver/spring/v1
> > http://mina.apache.org/ftpserver/ftpserver-1.0.xsd
> > "
> > id="myServer">
> > <listeners>
> > <nio-listener name="default" port="2122">
> > <ssl>
> > <keystore file="./res/ftpserver.jks" password="password" />
> > </ssl>
> > </nio-listener>
> > <nio-listener name="sdefault" port="21991" implicit-ssl="true">
> > <ssl>
> > <keystore file="./res/ftpserver.jks" password="password" />
> > </ssl>
> > </nio-listener>
> > </listeners>
> > <file-user-manager file="./res/conf/users.properties" />
> > </server>
> > END ---------- ---------- ---------- ---------- ---------- ----------
> > ----------
> >
> >
> >
> >
> > I use FileZilla Client to log in (either using FTPES or FTPS, I've tried
> > both, I accept the certificate FileZilla displays to me) and try to
> upload
> > a file. Everything seems ok, but the upload always stalls (around 300
> kB).
> > The log of FileZilla Client is:
> >
> >
> >
> >
> > START ---------- ---------- ---------- ---------- ---------- ----------
> > ----------
> >
> > Status: Resolving address of localhost
> > Status: Connecting to 127.0.0.1:2122...
> > Status: Connection established, waiting for welcome message...
> > Response: 220 Service ready for new user.
> > Command: AUTH TLS
> > Response: 234 Command AUTH okay; starting TLS connection.
> > Status: Initializing TLS...
> > Status: Verifying certificate...
> > Command: USER xxx
> > Status: TLS/SSL connection established.
> > Response: 331 User name okay, need password for xxx
> > Command: PASS *****
> > Response: 230 User logged in, proceed.
> > Command: OPTS UTF8 ON
> > Response: 200 Command OPTS okay.
> > Command: PBSZ 0
> > Response: 200 Command PBSZ okay.
> > Command: PROT P
> > Response: 200 Command PROT okay.
> > Command: OPTS MLST size;modify;type;
> > Response: 200 Command OPTS okay.
> > Status: Connected
> > Status: Starting upload of xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > Command: CWD /
> > Response: 250 Directory changed to /
> > Command: PWD
> > Response: 257 "/" is current directory.
> > Command: TYPE I
> > Response: 200 Command TYPE okay.
> > Command: PASV
> > Response: 227 Entering Passive Mode (127,0,0,1,199,113)
> > Command: STOR xxxxxxxxxxxxxxxxxxxxxxx
> > Response: 150 File status okay; about to open data connection.
> > Error: Connection timed out
> > Error: File transfer failed after transferring 278.6 KB in 21 seconds
> > Response: 551 xxxxxxxxxxxxxxxxxxxxxx: Error on output file.
> > Status: Disconnected from server
> > Error: Connection closed by server
> > END ---------- ---------- ---------- ---------- ---------- ----------
> > ----------
> >
> >
> >
> >
> > and the Apache FTP Sever log is:
> >
> >
> >
> >
> > START ---------- ---------- ---------- ---------- ---------- ----------
> > ----------
> >
> > [ INFO] 2013-01-25 12:04:31,940 [] [] Refreshing
> >
> org.springframework.context.support.FileSystemXmlApplicationContext@ed0338
> :
> > display name
> >
> [org.springframework.context.support.FileSystemXmlApplicationContext@ed0338
> ];
> > startup date [Fri Jan 25 12:04:31 COT 2013]; root of context hierarchy
> > [ INFO] 2013-01-25 12:04:32,030 [] [] Loading XML bean definitions from
> > file [xxxxxxxxxxxx/apache-ftpserver-1.0.6/res/conf/ftpd-typical.xml]
> > [ INFO] 2013-01-25 12:04:32,370 [] [] Bean factory for application
> context
> >
> [org.springframework.context.support.FileSystemXmlApplicationContext@ed0338
> ]:
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory@19bb25a
> > [ INFO] 2013-01-25 12:04:32,402 [] [] Pre-instantiating singletons in
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory@19bb25a
> :
> > defining beans
> >
> [org.apache.ftpserver.listener.ListenerFactory#0,org.apache.ftpserver.listener.ListenerFactory#1,org.apache.ftpserver.usermanager.PropertiesUserManagerFactory#0,org.apache.ftpserver.FtpServerFactory#0,myServer];
> > root of factory hierarchy
> > [ INFO] 2013-01-25 12:04:32,744 [] [] FTP server started
> >
> >
> > [ INFO] 2013-01-25 12:05:06,927 [] [127.0.0.1] CREATED
> > [ INFO] 2013-01-25 12:05:06,929 [] [127.0.0.1] OPENED
> > [ INFO] 2013-01-25 12:05:06,930 [] [127.0.0.1] SENT: 220 Service ready
> for
> > new user.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,051 [] [127.0.0.1] RECEIVED: AUTH TLS
> > [ INFO] 2013-01-25 12:05:07,163 [] [127.0.0.1] SENT: 234 Command AUTH
> > okay; starting TLS connection.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,164 [] [127.0.0.1] RECEIVED: USER xxx
> > [ INFO] 2013-01-25 12:05:07,167 [xxx] [127.0.0.1] SENT: 331 User name
> > okay, need password for xxx.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,208 [xxx] [127.0.0.1] RECEIVED: PASS *****
> > [ INFO] 2013-01-25 12:05:07,209 [xxx] [127.0.0.1] Login success - xxx
> > [ INFO] 2013-01-25 12:05:07,210 [xxx] [127.0.0.1] SENT: 230 User logged
> > in, proceed.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,258 [xxx] [127.0.0.1] RECEIVED: OPTS UTF8 ON
> > [ INFO] 2013-01-25 12:05:07,261 [xxx] [127.0.0.1] SENT: 200 Command OPTS
> > okay.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,318 [xxx] [127.0.0.1] RECEIVED: PBSZ 0
> > [ INFO] 2013-01-25 12:05:07,319 [xxx] [127.0.0.1] SENT: 200 Command PBSZ
> > okay.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,343 [xxx] [127.0.0.1] RECEIVED: PROT P
> > [ INFO] 2013-01-25 12:05:07,344 [xxx] [127.0.0.1] SENT: 200 Command PROT
> > okay.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,384 [xxx] [127.0.0.1] RECEIVED: OPTS MLST
> > size;modify;type;
> > [ INFO] 2013-01-25 12:05:07,386 [xxx] [127.0.0.1] SENT: 200 Command OPTS
> > okay.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,421 [xxx] [127.0.0.1] RECEIVED: CWD /
> > [ INFO] 2013-01-25 12:05:07,422 [xxx] [127.0.0.1] SENT: 250 Directory
> > changed to /
> >
> >
> > [ INFO] 2013-01-25 12:05:07,452 [xxx] [127.0.0.1] RECEIVED: PWD
> > [ INFO] 2013-01-25 12:05:07,454 [xxx] [127.0.0.1] SENT: 257 "/" is
> current
> > directory.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,499 [xxx] [127.0.0.1] RECEIVED: TYPE I
> > [ INFO] 2013-01-25 12:05:07,503 [xxx] [127.0.0.1] SENT: 200 Command TYPE
> > okay.
> >
> >
> > [ INFO] 2013-01-25 12:05:07,553 [xxx] [127.0.0.1] RECEIVED: PASV
> > [ INFO] 2013-01-25 12:05:07,556 [xxx] [127.0.0.1] SENT: 227 Entering
> > Passive Mode (127,0,0,1,199,113)
> >
> >
> > [ INFO] 2013-01-25 12:05:07,599 [xxx] [127.0.0.1] RECEIVED: STOR
> > xxxxxxxxxxxxxx
> > [ WARN] 2013-01-25 12:05:28,477 [xxx] [127.0.0.1] Exception during data
> > transfer, closing data connection socket
> > javax.net.ssl.SSLException: SSL peer shut down incorrectly
> > at
> >
> com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(InputRecord.java:408)
> > at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:360)
> > at
> >
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863)
> > at
> >
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:820)
> > at
> com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
> > at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> > at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> > at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
> > at java.io.FilterInputStream.read(FilterInputStream.java:90)
> > at
> >
> org.apache.ftpserver.impl.IODataConnection.transfer(IODataConnection.java:243)
> > at
> >
> org.apache.ftpserver.impl.IODataConnection.transferFromClient(IODataConnection.java:136)
> > at org.apache.ftpserver.command.impl.STOR.execute(STOR.java:146)
> > at
> >
> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
> > at
> >
> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
> > at
> >
> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
> > at
> >
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:75)
> > at
> >
> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
> > at
> >
> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
> > at
> >
> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427)
> > at
> >
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
> > at
> >
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
> > at
> >
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:75)
> > at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
> > at
> >
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
> > at
> >
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
> > at
> >
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
> > at java.lang.Thread.run(Thread.java:662)
> > [ WARN] 2013-01-25 12:05:28,479 [xxx] [127.0.0.1] Releasing unreserved
> > passive port: 51057
> > END ---------- ---------- ---------- ---------- ---------- ----------
> > ----------
> >
> >
> >
> >
> > The SSLException is thrown when I cancel the upload. Can anybody help me?
> > What am I configuring wrong that does not let me use FTPS?
> >
> >
> > The system I'm running the tests in is Linux (ubuntu 12), jdk 6.
> >
> >
> > I appreciate any hint you can give me!
> >
> >
> >
> > Rubén Darío Páez Rivera
> >
>
> --
>
>
> Cordialmente,
>
> ITAC S.A. [http://www.itac.com.co/documentos/firmaITAC.gif]
> www.itac.com.co
>
> Rubén Darío Páez Rivera
> Ingeniero Experto
>
> ITAC - IT Applications Consulting
> Avenida 19 # 120 – 71 Oficina 516
> Bogota, DC. Colombia
> Telefono (+571) 7444822
> ruben.p...@itac.com.co
>
>
>
>
> Nuestros clientes hacen parte de la calidad que brindamos por lo que lo
> invitamos a que si tiene una queja, reclamo o sugerencia nos la haga saber
> a cali...@itac.com.co
>

Reply via email to