Sorry, corrected version here
https://lists.apache.org/thread/xbh62dpb17opv11g1f87dv9ghcmwvhct

On Thu, Nov 21, 2024 at 1:48 PM Thomas Prus <thomas.prus@buddy.works> wrote:

> Hi,
> we encountered an issue with uploading files to the server using class
> org.apache.commons.net.ftp.FTPSClient:
>
> Caused by: org.apache.commons.net.ftp.FTPConnectionClosedException:
> Connection closed without indication.
> at org.apache.commons.net.ftp.FTP.getReply(FTP.java:593)
> at org.apache.commons.net.ftp.FTP.getReply(FTP.java:581)
> at
> org.apache.commons.net.ftp.FTPClient.completePendingCommand(FTPClient.java:1187)
> at
> org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:1995)
> at
> org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2082)
> at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2282)
> at
> works.buddy.ws.transfer.services.FtpTransferClient.dirDetails(FtpTransferClient.java:289)
>
> It's interesting because when we use FTPClient then it works.
>
> To recreate you can set up a server yourself:
>
> docker run -p 21:21 -p 30000-30009:30000-30009 \
> -e FTP_USER_NAME=bob \
> -e FTP_USER_PASS=password \
> -e FTP_USER_HOME=/home/bob \
> -e FTP_PASSIVE_PORTS=30000:30009 \
> -e "PUBLICHOST=<YOUR-IP-HERE>" \
> -e "ADDED_FLAGS=--tls=1" \
> -e "TLS_CN=example.com" \
> -e "TLS_ORG=BDY" \
> -e "TLS_C=PL" \
> -v /ftp:/home/bob \
> --name pure-ftpd \
> stilliard/pure-ftpd
>
> Example code:
>
> FTPSClient client = new FTPSClient();
> client.setAuthValue("TLS");
> client.setControlEncoding("UTF-8");
> client.connect("<YOUR-IP-HERE>", 21);
> client.login("bob", "passw");
> client.setKeepAlive(true);
> client.enterLocalPassiveMode();
> client.execPBSZ(0);
> client.execPROT("P");
> client.setFileType(FTP.BINARY_FILE_TYPE);
>
> client.storeFile(remotePath, inputStream)
>
> Best regards,
> Tomo
>

Reply via email to