With Chilkat-Library starting version 9.5.0.76 the function PutTree of CkFtp2 did not work with UNC-paths any more. It tries to change the remotedir like the local UNC-path.
Code sample:
CkFtp2 ftp;
ftp.put_Hostname("ftp.example.com");
ftp.put_Username("test");
ftp.put_Password("test");
bool success = ftp.Connect();
success = ftp.ChangeRemoteDir("/");
success = ftp.PutTree("\\\\server\\daten\\Ent\\Seb\\Versionssystem");
success = ftp.Disconnect();
Chilkat-Log:
PutTree:
DllDate: Feb 24 2020
ChilkatVersion: 9.5.0.82
UnlockPrefix: xxxxx
Architecture: Little Endian; 32-bit
Language: Visual C++ 2017 (32-bit)
VerboseLogging: 1
putTree2:
localRootDir: \\server\daten\Ent\Seb\Versionssystem
ProgressMonitoring:
enabled: no
heartbeatMs: 0
sendBufferSize: 65536
(leaveContext 32ms)
mode 0: Upload all files.
PlanOnly: 0
Mode: 0
PreviewOnly: 0
RecursiveDescend: 1
autoGetSizeForProgress: False
rootDir: //server/daten/Ent/Seb/Versionssystem/
pwd:
simpleCommand:
sendCommand:
prepControlChannel:
(leaveContext 15ms)
sendingCommand: PWD
(leaveContext 15ms)
readCommandResponse:
replyLineQP: 257 "/" is your current location
(leaveContext 16ms)
(leaveContext 31ms)
(leaveContext 62ms)
remoteBaseDir: /
initialCurrentRemoteDir: /
changeRemoteDir:
simplePathCommand:
simpleCommand:
sendCommand:
prepControlChannel:
(leaveContext)
sendingCommand: CWD /server/daten/Ent/Seb/Versionssystem
(leaveContext 16ms)
readCommandResponse:
replyLineQP: 550 Can't change directory to /server/daten/Ent/Seb/Versionssystem: No such file or directory
(leaveContext 16ms)
(leaveContext 47ms)
Simple path command failed.
statusCode: 550
reply: 550 Can't change directory to /server/daten/Ent/Seb/Versionssystem: No such file or directory
Do not use the leading forward slash.
Retrying without forward slash.
simpleCommand:
sendCommand:
prepControlChannel:
(leaveContext)
sendingCommand: CWD server/daten/Ent/Seb/Versionssystem
(leaveContext 31ms)
readCommandResponse:
replyLineQP: 550 Can't change directory to server/daten/Ent/Seb/Versionssystem: No such file or directory
(leaveContext 125ms)
(leaveContext 156ms)
Simple path command failed.
statusCode: 550
reply: 550 Can't change directory to server/daten/Ent/Seb/Versionssystem: No such file or directory
(leaveContext 250ms)
(leaveContext 282ms)
ChangeRemoteDir failed (2)
dir: /server/daten/Ent/Seb/Versionssystem
pwd:
simpleCommand:
sendCommand:
prepControlChannel:
(leaveContext)
sendingCommand: PWD
(leaveContext 16ms)
readCommandResponse:
replyLineQP: 257 "/" is your current location
(leaveContext 15ms)
(leaveContext 63ms)
(leaveContext 63ms)
currentRemoteDir: /
originalDir: /
changeRemoteDir:
simplePathCommand:
simpleCommand:
sendCommand:
prepControlChannel:
(leaveContext)
sendingCommand: CWD /
(leaveContext 16ms)
readCommandResponse:
replyLineQP: 250 OK. Current directory is /
(leaveContext 15ms)
(leaveContext 47ms)
(leaveContext 63ms)
(leaveContext 63ms)
(leaveContext 563ms)
Failed.
(leaveContext 610ms)
Until version 9.5.0.75 this code works fine. Is this a bug or did I am missing a new flag/option to set the behaviour to the old one?