Archived Forum PostQuestion:
Hi.
I have a program that I wrote a while ago using the Chilkat 9.4 FTP2 FTPS component using implicit SSL on 990. The vendor is changing from using SSL3.0 to TLS1.1 (and changing destination port to 20990). I figured all I had to do was use the latest library and everything should work the same. The file upload seems to happen, but after the file is uploaded the putfile errors out and I get the following lasterrortext with verboselogging enabled.
ChilkatLog:
PutFile(30328ms):
DllDate: Nov 12 2016
ChilkatVersion: 9.5.0.64
UnlockPrefix: NIAGARFTP
Architecture: Little Endian; 32-bit
Language: .NET 4.5
VerboseLogging: 1
RemoteFilename: '/inbound/loopfile_SDF_Test.txt'
LocalFilename: C:Outboundloopfile_SDF_Test.txt
remotePathQP: 'inbound/loopfile_SDF_Test.txt'
localPathQP: C:OutboundRBCoutgoingloopfile_SDF_Test.txt
ProgressMonitoring(16ms):
enabled: yes
heartbeatMs: 0
sendBufferSize: 65536
--ProgressMonitoring
IdleTimeoutMs: 60000
ReceiveTimeoutMs: 60000
ConnectTimeoutSeconds: 30
uploadFromLocalFile(30312ms):
localFileSize: 212
uploadFromDataSource(30312ms):
initialGreeting: 220 XXXNG FTPS (Version Wed Nov 30 15:44:04 2016) server ready.
restartNext: 0
modeZ: 0
binaryMode: 1
pbsz_protp(78ms):
simpleCommand(15ms):
sendCommand:
sendingCommand: PBSZ 0
--sendCommand
readCommandResponse(15ms):
replyLineQP: 502 PBSZ Command not implemented.
commandResponse: 502 PBSZ Command not implemented.
statusCode: 502
--readCommandResponse
--simpleCommand
simpleCommand(47ms):
sendCommand:
sendingCommand: PROT P
--sendCommand
readCommandResponse(15ms):
replyLineQP: 502 PROT Command not implemented.
commandResponse: 502 PROT Command not implemented.
statusCode: 502
--readCommandResponse
--simpleCommand
simpleCommand(16ms):
sendCommand:
sendingCommand: PROT C
--sendCommand
readCommandResponse(16ms):
replyLineQP: 502 PROT Command not implemented.
commandResponse: 502 PROT Command not implemented.
statusCode: 502
--readCommandResponse
--simpleCommand
--pbsz_protp
setupDataConnection(62ms):
passive transfer mode
setupPassiveDataSocket(62ms):
sendCommand:
sendingCommand: PASV
--sendCommand
readCommandResponse(31ms):
replyLineQP: 227 Entering Passive Mode (X,X,X,X,102,129)
commandResponse: 227 Entering Passive Mode (X,X,X,X,102,129)
statusCode: 227
--readCommandResponse
passiveHostAddr: X.X.X.X
dataConnect(31ms):
hostname: X.X.X.X
port: 26241
socket2Connect(31ms):
connect2(31ms):
hostname: X.X.X.X
port: 26241
ssl: 0
connectSocket(31ms):
domainOrIpAddress: X.X.X.X
port: 26241
connectTimeoutMs: 30000
connect_ipv6_or_ipv4(31ms):
This is an IPV4 numeric address.
Domain to IP address resolution not needed.
connecting to IPV4 address...
ipAddress: X.X.X.X
createSocket:
Setting SO_SNDBUF size
sendBufSize: 262144
Setting SO_RCVBUF size
recvBufSize: 4194304
--createSocket
connect(15ms):
Waiting for the connect to complete...
myIP: X.X.X.X
myPort: 57719
socket connect successful.
--connect
--connect_ipv6_or_ipv4
--connectSocket
--connect2
--socket2Connect
socketOptions:
SO_SNDBUF: 262144
SO_RCVBUF: 4194304
TCP_NODELAY: 0
SO_KEEPALIVE: 0
--socketOptions
dataConnectSuccess: 1
--dataConnect
--setupPassiveDataSocket
--setupDataConnection
sendUploadCommand:
sendCommand:
sendingCommand: STOR '/inbound/loopfile_SDF_Test.txt'
--sendCommand
--sendUploadCommand
Reading intermediate response for upload...
readCommandResponse(141ms):
replyLineQP: 150 Opening data connection for '/inbound/loopfile_SDF_Test.txt'.
commandResponse: 150 Opening data connection for '/inbound/loopfile_SDF_Test.txt'.
statusCode: 150
--readCommandResponse
intermediateResponseStatusCode: 150
intermediateReply: 150 Opening data connection for '/inbound/loopfile_SDF_Test.txt'.
sendUploadFileData:
sendBufferSize: 65536
Sending uncompressed...
lastBytesSent: 73206973206120746573742066696C65
UploadData: Elapsed time: 0 millisec
--sendUploadFileData
closingDataConnection(31ms):
terminateConnection(31ms):
TCP connection cleanly closed by peer.
Cleanly terminated TCP connection.
--terminateConnection
--closingDataConnection
Reading final response...
readCommandResponse(29984ms):
processAlert:
TlsAlert:
level: warning
descrip: close notify
--TlsAlert
--processAlert
Received close-notify.
Did not receive additional application data.
Already received close-notify.
terminateConnection(15ms):
TCP connection cleanly closed by peer.
Cleanly terminated TCP connection.
--terminateConnection
nReceived: 0
Failed to read FTP control channel reply.
readFtpReply: Socket connection closed.
--readCommandResponse
FinalReply: Elapsed time: 29984 millisec
uploadRate: 7
cumulativeNumBytesSent: 212
--uploadFromDataSource
Failed.
--uploadFromLocalFile
TotalTime: Elapsed time: 30312 millisec
Failed.
--PutFile
--ChilkatLog
I'm using WS_FTP pro to connect to the site and that appears to connect properly.Any assistance would be greatly appreciated
Thanks
Jon
Try this: Instead of specifying a path + filename for the remote file, first ChangeRemoteDir to the "inbound" and then specify only the filename ("loopfile_SDF_Test.txt") for the upload.